【问题标题】:H.265 (HEVC) Decoding on iOS - what is the correct NALU order before frames can be decodediOS上的H.265(HEVC)解码-可以解码帧之前的正确NALU顺序是什么
【发布时间】:2018-11-02 19:14:20
【问题描述】:

我最近在 iOS 中使用 VideoToolbox api 获得了 HEVC / H.265 解码。传入的 RTP 流来自使用 libx265 中的 x265 编解码器的 FFMPEG。

经过大量修改,我使用传入的 VPS、SPS 和 PPS nalus 创建了我的 CMFormatDescription - 然后我等待 CRA_NUT nalu (21) 关键帧。一旦通过,我就可以解码接收到的下一波视频数据包。太好了!

但是,我现在想接受由 Nvidia 的视频编码 SDK 编码的 RTP 流。不同之处在于,不是 CRA_NUT nalu 在序列参数之后到达 - 我现在收到 VideoToolbox 似乎不喜欢的 IDR_W_RADL (19) - 结果我从解压缩会话的回调中得到 kVTVideoDecoderBadDataErr。

由于 VideoToolbox 的文档非常少 - 调试起来非常困难。 VideoToolBox 是否总是期望 CRA_NUT nalu 作为关键帧?或者有什么办法让它接受 IDR_W_RADL 关键帧?是否有 VideoToolbox 期望的标准序列?

相反,有没有办法配置 nvidia 视频编解码器 sdk 以返回 CRA_NUT 关键帧?我查看了 api 但找不到任何东西 - 我似乎总是得到 IDR_W_RADL 以及序列参数。

【问题讨论】:

    标签: ios video-toolbox nvenc


    【解决方案1】:

    好的,问题不在于 VideoToolbox - 我有一个愚蠢的逻辑错误,它阻止了某些帧通过解码器! VideoToolBox 毫不费力地接受 IDR_W_RADL 帧!很有魅力。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-01
      • 1970-01-01
      相关资源
      最近更新 更多