我正在使用 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 级别、配置文件或层级?我不知道该怎么办。
我会很感激你的意见。谢谢!