1

我正在使用 Apple 的 VideoToolbox API 来解码 HEVC 流。我正在使用AVSampleBufferDisplayLayer图层来渲染解码帧。

如果源分辨率为 1080p (1920 X 1080) 或更低,我可以成功解码帧。

如果分辨率高于 1080p,我会看到黑屏和以下错误消息AVSampleBufferDisplayLayerFailedToDecodeNotification

Optional(Error Domain=AVFoundationErrorDomain Code=-11821 "Cannot Decode" UserInfo={AVErrorMediaSubTypeKey=( 1752589105 ), NSLocalizedDescription=Cannot Decode, NSLocalizedFailureReason=媒体数据无法解码。可能已损坏。, AVErrorMediaTypeKey=vide, AVErrorPresentationTimeStampKey= CMTime: {INVALID}, NSUnderlyingError=0x2830c3390 {错误域=NSOSStatusErrorDomain 代码=-12909 "(null)"}})

-11821 = AVErrorDecodeFailed -12909 =kVTVideoDecoderBadDataErr

我是否缺少任何更高分辨率的东西?我是否需要设置正确的 HEVC 级别、配置文件或层级?我不知道该怎么办。

我会很感激你的意见。谢谢!

4

0 回答 0