如何使用AVAssetWriter将视频裁剪为iOS正方形?

4

我正在使用AVAssetWriter录制视频,并希望能够将视频裁剪为一个带有顶部偏移的正方形。以下是我的代码 -

NSDictionary *videoCleanApertureSettings = [NSDictionary dictionaryWithObjectsAndKeys:
                                            @320, AVVideoCleanApertureWidthKey,
                                            @320, AVVideoCleanApertureHeightKey,
                                            @10, AVVideoCleanApertureHorizontalOffsetKey,
                                            @10, AVVideoCleanApertureVerticalOffsetKey,
                                            nil];


NSDictionary *videoAspectRatioSettings = [NSDictionary dictionaryWithObjectsAndKeys:
                                          @3, AVVideoPixelAspectRatioHorizontalSpacingKey,
                                          @3,AVVideoPixelAspectRatioVerticalSpacingKey,
                                          nil];



NSDictionary *codecSettings = [NSDictionary dictionaryWithObjectsAndKeys:
                               [NSNumber numberWithInteger:bitsPerSecond], AVVideoAverageBitRateKey,
                               @1,AVVideoMaxKeyFrameIntervalKey,
                               videoCleanApertureSettings, AVVideoCleanApertureKey,
                               //AVVideoScalingModeFit,AVVideoScalingModeKey,
                               videoAspectRatioSettings, AVVideoPixelAspectRatioKey,
                               nil];

NSDictionary *videoCompressionSettings = [NSDictionary dictionaryWithObjectsAndKeys:
                               AVVideoCodecH264, AVVideoCodecKey,
                               codecSettings,AVVideoCompressionPropertiesKey,
                               @320, AVVideoWidthKey,
                               @320, AVVideoHeightKey,
                               nil];

每当我取消注释AVVideoScalingModeKey时,我的assetWriter就会报错,称无法应用videoCompressionSettings。我尝试使用如何使用AVAssetWriter制作缩小尺寸的视频?,但对我来说仍然不起作用。
1个回答

5

我将AVVideoScalingModeFit,AVVideoScalingModeKey添加到我的videoCompressionSettings中,以使其正常工作。


13
我尝试过,但出现了“AVAssetWriterInput目前不支持AVVideoScalingModeFit”错误。有新的解决方案来修复这个问题吗? - jgvb
2
AVAssetWriter比AVAssetExportSession更快吗? - brian Scroggins

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接