- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在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
和实际比特流,因此,建议使用标准内置对象,例如 OMXCodec
或 ACodec
作为编码器。
关于android - 如何从 StagefrightRecorder 中提取 Video Muxer 部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23555646/
我正在尝试在Android 4.2.2 上构建一个视频录制系统,我已经完成了编码部分,它使用的是OMX。现在我正在处理 Muxer 部分,因为如果我使用 FFMpeg 视频的码流可能会有些不同,所以我
我是一名优秀的程序员,十分优秀!