iOS上解码H.264编码的单帧视频

4

我正在将一张在PC上生成的单个图像编码为H.264格式,将其通过网络发送到iPad,并希望对其进行解码。iPad端的循环流程如下:

  1. 从网络中获取帧
  2. 对其进行解码
  3. 显示它

然而,我找不到一个API,可以给定一个已编码帧的单个缓冲区,使我能够将其解码回原始图像。我想利用iPad上的硬件解码功能。

我最后的计划是创建一个映射到内存中的文件,将该单个帧写入该文件并将该文件用作MPMoviePlayerController的输入。这是一个非常hacky的解决方案。

是否有人可以建议我如何使用硬件将已编码的内存缓冲区解码到另一个内存缓冲区?

谢谢


这个回答解决了你的问题吗?如何使用VideoToolbox解压H.264视频流 - Troy
1个回答

1

这听起来更适合在PC端使用JPG或PNG。H.264编码帧不像PNG或JPG那样独立存在,它们依赖于上一个关键帧和中间的增量帧。

如果您仍然想要H.264,则可以尝试查看AVFoundation框架,特别是AVAssetReader类。AVFoundation是旧QuickTime API的替代品。一个好的起点是来自405和415会话的WWDC'11视频。除非您去年参加了WWDC,否则无法获得AVEditDemoIPad代码,但资产演示可在iTunes上获得。


感谢您的评论。目前我正在使用不使用前一帧信息的i-frames。我想利用硬件解码的优势。 - Cthutu
如果你确定了这一点,那么我认为AVAssetReader类是你想要的。祝你好运。 - Mark
这是实时视频流的第一步,我指的是真正的实时,而不是HTTP Live Streaming。我有一个单帧.264文件通过网络发送,我需要解码它。幸运肯定是我所需要的 :) - Cthutu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接