iphone - 如何使用 AVAssetWriter 将视频裁剪成方形 iOS

标签 iphone ios objective-c avfoundation

我正在使用 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 的错误。我尝试使用 How do make a reduced size video using AVAssetWriter?但它仍然对我不起作用。

最佳答案

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

关于iphone - 如何使用 AVAssetWriter 将视频裁剪成方形 iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17882871/

相关文章:

ios - 带有动画和 UIImageView 的浮星效果

objective-c - 是否有可能在 objective-c 的应用程序中使用多个选项卡栏 Controller

ios - 将 Storyboard 上的 View 置于所有其他 View 之上

iphone - 加载了 Nib 自动调整大小问题的 UIView

java - 将 .jks 信任库和 keystore 转换为 ios

iphone - 如何释放一个 NSMutableArray?

iPhone 针对某些设备

objective-c - 我可以使用 UIPinchGestureRecognizers 来区分水平和垂直捏合吗?

ios - 在 Xcode 中使用静态库

ios - 在 UITableView 中创建子部分(Swift 2.3)