我正在接收具有多路复用H.264视频和AAC音频流的MPEG-TS (MPEG传输流)分组。我需要能够在Android手机上显示音频和视频。我的假设是我需要:
假设我当时是对的(在Android2.x中) MPEG-TS解复用器不是操作系统的一部分,必须进行移植,AAC和H.264解码器都是Android操作系统的一部分,但我不确定它们是否有接口,这允许在缓冲区中传递数据,以及它们是否允许相互定时同步。在最坏的情况下,这些组件也必须移植到这里。
你能给我一些建议,从哪里开始?我在考虑FFMPEG的移植。还有别的办法吗?
你好,STeN
发布于 2012-08-18 16:27:14
Android4.x有OpenMAX,可以与H264和AAC玩TS。你甚至不需要担心音频和视频的同步。
看看NDK中的nativemedia样本。
如果你想支持Android的早期版本,那么ffmpeg可能是一个不错的选择,但它所能给你的最大可能是RGB或任何其他格式的解码视频帧,以及PCM解码的音频。然后,你将不得不实现渲染和音频播放自己。我建议阅读本教程- http://dranger.com/ffmpeg/。这并不是android特有的,但它会让你知道视频播放是如何工作的。
发布于 2012-02-14 20:47:06
您可以参考github上的项目。
发布于 2012-02-14 21:33:51
在姜饼( 2.3 )中,实际上在stagefright框架中有一个MPEG TS解析器,您可以使用它。而且,我相信它与H264和AAC解码器集成得很好。MPEG TS解析器在任何地方都没有广告,但是支持静坐在那里。我相信他们用它来支持HC或更高版本的Apple流,但是代码也存在于姜饼( 2.3 )代码库中。只要在框架中稍加修改,您就可以播放http实时流(这实际上是发送TS数据包)。我想上面的信息对你会有帮助。
维比盖尔
https://stackoverflow.com/questions/9287971
复制