android - 如何从 StagefrightRecorder 中提取 Video Muxer 部分?

标签 android media android-source stagefright mediamuxer

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

这种方式可行吗?我可以只提取与 MPEG4Writer 相关的代码吗?谁能给我任何指示? 谢谢!

最佳答案

如果您在框架的上下文中进行编译,您可以简单地包含相关的头文件并直接创建 MPEG4Writer 对象。一个很好的例子是命令行实用程序 recordVideo,可以从 this file 中观察到。 .

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

注意:如果您希望使用标准的 MPEG4Writer,它的源即 MPEG4Writer 的源应该是一个编码器建模为 MediaSource。编写器通过 read 方法提取 metadata 和实际比特流,因此,建议使用标准内置对象,例如 OMXCodecACodec 作为编码器。

关于android - 如何从 StagefrightRecorder 中提取 Video Muxer 部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23555646/

相关文章:

android - 如何解决库变体问题?

android - 如何在 C/C++ 中方便地发布算术溢出异常

android - 如何获取当前小区信号强度?

Android 工作室,AppCompatActivity 导入 android.support.v7。图书馆不认识

android - 从 Android 应用程序 A,如何在应用程序 B 中打开非主要 Activity ?

android - 作为 Web 服务的 SIP API

android - phonegap 播放 http ://or file://based mp3s does not work on Android

javascript - CSS 媒体打印不起作用

android - 如何将音轨添加到视频 mp4 文件 android?

android - 如何只下载 AOSP 源代码的工作目录而不下载整个 repo 历史记录?