如何从StagefrightRecorder中提取视频复用器部件?

时间:2014-05-09 02:20:32

标签: android media android-source stagefright mediamuxer

我正在尝试在Android 4.2.2上构建视频录制系统,我已经完成了使用OMX的编码部分。现在我正在处理Muxer部分,因为如果我使用FFMpeg,视频的代码流可能会有所不同,所以我希望使用与原始系统完全相同的Muxer工具。 所以我想提取StagefrightRecorder的Muxer部分,将其编译成.so文件,然后在我的应用程序中通过JNI调用它。但是StagefrightRecorder中有很多东西,我很困惑。

这种方式有用吗?我可以只提取与MPEG4Writer相关的代码吗?任何人都可以给我任何指示吗? 谢谢!

1 个答案:

答案 0 :(得分:1)

如果要在框架的上下文中进行编译,则只需包含相关的头文件并直接创建MPEG4Writer对象即可。一个非常好的示例是命令行实用程序recordVideo,可以从this file中看到。

如果您希望编写单独的应用程序,则需要链接libstagefright.so并包含相关的头文件及其路径。

注意:如果您希望使用标准MPEG4Writer,那么它的来源即作为编码器的MPEG4Writer的来源应建模为{{1 }}。作者通过MediaSource方法提取metadata和实际比特流,因此,建议对编码器使用标准内置对象,如readOMXCodec