如何将.mp4文件和音频/视频分开,然后单独使用openmax和android进行渲染。
1.如果必须实现jni文件中的所有功能。
2.如果我使用ffmpeg进行演示,它如何与android stagefright集成(如果我必须构建ffmpeg演示器作为组件并使用openmax il将其与android连接起来,或者用android编写完整的代码(在这种情况下,我必须将ffmpeg与android stagefright连接起来)。
3.由于android不支持阶段权,所以如何将两者结合起来。
向Mayank问好
发布于 2013-11-19 17:30:08
通常,Android的框架中包含了所有必需的功能,可以从native层和Java层访问这些功能。下面所有的组件名称都有一个Java抽象和Native实现,您可以相应地考虑在项目中使用它们。对于你的问题,
1)我建议您可以直接使用MediaPlayer,就像在这个JNI实现中发现的那样,它的实际实现可以找到这里。
但是,如果您需要构建自己的管道,我建议您在实现中使用可用的块,例如MediaExtractor来分离和提供单独的轨道,OMXCodec用于编解码器,并且我想您将管理视频的audio路由和Surface处理。对您来说,一个很好的参考是SimplePlayer示例实现。
2)如果希望使用来自demuxer的FFMPEG,则必须将其集成到系统支持的MediaExtractors列表中。由于您的主要兴趣是支持MP4和AVI,所以我认为您可以避免这种工作。如果您仍然对FFMPEG集成感兴趣,请单独提出一个查询,因为答案非常详细。
( 3)我觉得这说法未必完全正确。如果需要的话,NDK可以支持stagefright,但是这里的理念是不同的。为了回放,NDK支持OpenMAX AL player应用程序,就像在这个html文件中找到的一样,还有一个示例这里。但是,请注意,在MPEG-2 TS实现中只支持可能不适合您的需求的OpenMAX AL。
https://stackoverflow.com/questions/20065106
复制相似问题