CVPixelBuffer 使用 AVAssetWriter 将 HDR10 转换为 BT.709

问题描述 投票:0回答:0

我正在从相机获取 kCVPixelFormatType_422YpCbCr10BiPlanarVideoRange 格式的 CMSampleBuffers。像素缓冲区是 10 位 HDR。我需要使用 ProRes422 编解码器录制视频,但使用 AVAssetWriter 以非 HDR 格式录制视频。我不确定实现它的可靠方法是什么。我所做的只是简单地设置 AVAssetWriter 视频压缩字典如下:

    compressionSettings[AVVideoTransferFunctionKey] = AVVideoTransferFunction_ITU_R_709_2
    compressionSettings[AVVideoColorPrimariesKey] = AVVideoColorPrimaries_ITU_R_709_2
    compressionSettings[AVVideoYCbCrMatrixKey] = AVVideoYCbCrMatrix_ITU_R_709_2

有效,最终视频录制显示色彩空间为 HD 1-1-1,使用 Apple ProRes 编解码器。但我不确定 AVAssetWriter 是否真的执行了从 HDR 10 到 BT.709 的 colorSpace 转换,或者只是将颜色剪裁到了范围之外。

avfoundation avcapturesession core-image avassetwriter hdr
© www.soinside.com 2019 - 2024. All rights reserved.