gpt4 book ai didi

ios - iOS 上的 H.265 (HEVC) 解码 - 解码帧之前正确的 NALU 顺序是什么

转载 作者:行者123 更新时间:2023-11-29 11:31:27 37 4
gpt4 key购买 nike

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

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

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

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

相反,有什么方法可以配置 nvidia video codec sdk 返回 CRA_NUT 关键帧吗?我查看了 api 但找不到任何东西 - 我似乎总是得到 IDR_W_RADL 以及序列参数。

最佳答案

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

关于ios - iOS 上的 H.265 (HEVC) 解码 - 解码帧之前正确的 NALU 顺序是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53124590/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com