【问题标题】:Decoding single frames encoded to H.264 on iOS在 iOS 上解码编码为 H.264 的单帧
【发布时间】:2012-06-07 08:40:16
【问题描述】:

我正在将 PC 上生成的单个图像编码为 H.264,通过网络将其发送到 iPad,我想对其进行解码。 iPad端的循环将是:

  1. 从网络抓取框架
  2. 解码。
  3. 显示它。

但是,我找不到给定编码帧的单个缓冲区的 API,我可以解码为原始图像。我想利用 iPad 上的硬件解码。

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

谁能建议我如何获取一个编码的内存缓冲区并使用硬件将其解码到另一个内存缓冲区?

谢谢

【问题讨论】:

标签: ios h.264


【解决方案1】:

这听起来像是更适合 PC 端 JPG 或 PNG 的工作。 H.264 编码帧不一定像 PNG 或 JPG 那样独立。它们取决于最后一个关键帧和中间的增量帧。

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

【讨论】:

  • 感谢您的评论。我现在使用的 i-frames 不使用前一帧的信息。我想利用硬件解码。
  • 如果您确定这一点,那么我认为 AVAssetReader 类就是您想要的。祝你好运。
  • 这是实时视频流的第一步,我所说的实时是指真正的实时,而不是 HTTP 实时流。我有一个通过网络发送的单帧 .264 文件,我需要对其进行解码。运气绝对是我需要的:)
猜你喜欢
  • 2014-10-01
  • 1970-01-01
  • 2012-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多