Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用openmax和android stagefright的Demux.mp4文件_Android_Stagefright - Fatal编程技术网

使用openmax和android stagefright的Demux.mp4文件

使用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

如何解复用.mp4文件并分离音频/视频,然后使用openmax和android stagefright分别进行渲染

1.如果我必须实现jni文件中的所有功能

2.如果我使用ffmpeg进行解复用,如何将其与android stagefright集成(如果我必须构建ffmpeg解复用器作为组件,并使用openmax il将其与android链接,或者使用android jni编写整个代码(在这种情况下,我必须将ffmpeg与android stagefright链接))

3.由于android ndk不支持stagefright,如何将两者集成

问候
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
,这可能不适合您的要求