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

Mic*_*ria 4 iphone objective-c avfoundation ios

我正在使用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];
Run Code Online (Sandbox Code Playgroud)

每当我取消注释AVVideoScalingModeKey时,我的assetWriter都会给出一个关于无法应用videoCompressionSettings的错误.我尝试过如何使用AVAssetWriter制作缩小尺寸的视频?但它仍然不适合我.

Mic*_*ria 5

我加入了AVVideoScalingModeFit,AVVideoScalingModeKey我的videoCompressionSettings工作.

  • 我试过了,但我得到"AVAssetWriterInput目前不支持AVVideoScalingModeFit".有什么新的解决方案来解决这个 (12认同)
  • avassetwriter比avassetexportsession快吗? (2认同)