iOS上的原始H264 NALU硬件解码

时间:2013-01-26 21:41:12

标签: iphone ios ipad h.264

我从IP摄像机(通过Live555)接收原始的H.264 NALU,我想用硬件对它们进行解码,因为FFmpeg很棒,但速度太慢(相机传感器很大)。

我看到的唯一解决方案是将NALU写入某些电影容器文件(如MPEG-4),然后使用AVAssetReader读取和解码该文件。

我是否在杂草丛生中?是否有人成功解码了流中的H.264 NALU?有没有人有任何关于将NALU写入MPEG-4文件的技巧?其他想法?

2 个答案:

答案 0 :(得分:6)

Matt提到,没有直接访问Apple的H264解码器。

然而,我在ffmpeg和h264解码方面取得了成功。就像你提到的那样,我用LGPL构建了ffmpeg我能够将H264流一直解码为实时高清视频流,ipad和iphone都没有延迟。 ffmpeg不需要任何花哨的东西,你可以找到一堆标准的解码c ++代码,它们在iOS上运行得很好。此外,在我的情况下,H264 NALU通过RTP / RTSP实时传送。

另外,如果我是你,我会通过xcode乐器运行你的应用程序来真正看到你的瓶颈在哪里,但我会非常惊讶它在ffmpeg解码步骤..希望这个信息有所帮助。

答案 1 :(得分:1)

不幸的是,你目前无法做到这一点。随意向Apple提交有关想要对硬件解码器进行此类访问的雷达。它肯定会被重复解决:-)。我认为这是出于许可的原因,为什么他们无法提供对硬件编解码器的这种访问。

因此,您将不得不使用软件解码器。请注意,如果您要运送到App Store,那么您需要具有非GPL许可证的东西(除非您想要开源您的应用程序)。