使用openmax和android stagefright的Demux.mp4文件
如何解复用.mp4文件并分离音频/视频,然后使用openmax和android stagefright分别进行渲染 1.如果我必须实现jni文件中的所有功能 2.如果我使用ffmpeg进行解复用,如何将其与android stagefright集成(如果我必须构建ffmpeg解复用器作为组件,并使用openmax il将其与android链接,或者使用android jni编写整个代码(在这种情况下,我必须将ffmpeg与android stagefright链接)) 3.由于android ndk不支持stagefright,如何将两者集成 问候使用openmax和android stagefright的Demux.mp4文件,android,stagefright,Android,Stagefright,如何解复用.mp4文件并分离音频/视频,然后使用openmax和android stagefright分别进行渲染 1.如果我必须实现jni文件中的所有功能 2.如果我使用ffmpeg进行解复用,如何将其与android stagefright集成(如果我必须构建ffmpeg解复用器作为组件,并使用openmax il将其与android链接,或者使用android jni编写整个代码(在这种情况下,我必须将ffmpeg与android stagefright链接)) 3.由于android n
Mayank一般来说,
Android
具有内置于其框架中的所有必要功能,可以从本地
以及Java
层访问这些功能。所有的<强>组件名称<强>下面都有一个<代码> java < /C>抽象和<代码>本地< /Cord>实现,您可以相应地在项目中使用。对于你的问题
1) 我建议您可以直接使用本实现中的MediaPlayer
,可以找到它的实际实现
但是,如果您需要构建自己的管道,我建议使用可用的块,例如MediaExtractor
进行解复用并提供单独的轨道,OMXCodec
用于编解码器,我认为您将在实现中管理音频
路由和表面
视频处理。示例实现可能是一个很好的参考
2) 如果您希望使用FFMPEG
中的demuxer
,则必须将其集成到系统支持的媒体提取器列表中。由于您的主要兴趣是MP4
和AVI
,这两项都是受支持的,因此我觉得您可以避免这种努力。如果您仍然对FFMPEG
集成感兴趣,请提出一个单独的问题,因为答案非常详细
3) 我觉得这种说法可能不完全正确NDK
可以在需要时支持stagefright
,但这里的原理不同。对于播放,NDK
支持OpenMAX
AL
播放器应用程序,如本文件和示例所示。但是,请注意,OpenMAX AL
实现中仅支持MPEG-2 TS
,这可能不适合您的要求