AVAssetWriterInput当前不支持AVVideoScalingModeFit

时间:2017-10-25 13:29:36

标签: ios video avfoundation

我尝试使用AVAssetWriter裁剪视频。我需要比AVAssetExportSession提供的预设更深入地控制输出。我试图使用输出模式AVVideoScalingModeFit与我的AVAssetWriterInput,但这会导致崩溃说明:

  

AVAssetWriterInput目前不支持AVVideoScalingModeFit

以下是我使用的视频设置:

   let videoSettings: [String : Any] = [
        AVVideoCodecKey: AVVideoCodecH264,
        AVVideoWidthKey: 450,
        AVVideoHeightKey: 450,
        AVVideoScalingModeKey: AVVideoScalingModeFit,
        AVVideoCompressionPropertiesKey: [
            AVVideoAverageBitRateKey: 1000000,
            AVVideoProfileLevelKey: AVVideoProfileLevelH264Baseline41,
            AVVideoAllowFrameReorderingKey: false,
            AVVideoExpectedSourceFrameRateKey: 23
        ]
    ]

我的问题有两个:1)如果我不能使用它,为什么这种模式存在? 2)如果我可以使用它,我该怎么做?

其他人已经提出这个问题,但仍然没有答案。请参阅:here

1 个答案:

答案 0 :(得分:0)

1)仅仅因为AVAssetWriter不支持AVVideoScalingModeKey,并不意味着它在AVFoundation的其他地方不受支持。

2)使用核心图像或VTPixelTransferSession或适合您的管道的任何内容自行缩放视频帧。