如何在iOS中裁剪视频

3
我看了苹果提供的RosyWriter示例代码,作为起点,并想找到一种裁剪视频的方法。
我有来自iPhone相机的完整分辨率视频,但我只想使用其中的一部分(还要旋转这个子部分)。
我发现在captureOutput:didOutputSampleBuffer: fromConnection:中,我可以通过修改传递给我的CMSampleBufferRef每一帧来修改每一帧。
所以我的问题是:
1. 这是裁剪视频的正确位置吗? 2. 我在哪里指定最终保存到磁盘的视频比AVCaptureSession捕获的完整视频具有更小的分辨率?设置AVVideoWidthKey和AVVideoHeightKey没有效果。 3. 如何裁剪视频并仍然保持良好的性能?
任何帮助都将不胜感激!
感谢你!
编辑:
也许我只需要知道如何使以竖屏拍摄的视频变成横屏的,方法是将视频的图像旋转90度然后缩放以适应宽度...?

1
请查看 AVVideoSettings.h 中的 AVVideoScalingModeKey。如果您指定了 AVVideoScalingModeFit 的值,则如果 AVVideoWidthKey 或 AVVideoHeightKey 的值与输入方法不同,则会使用裁剪。我假设您正在使用 AVAssetWriter 来写出电影。 - Steve McFarlin
非常感谢!!!! 您能再将其发布为答案,以便我可以接受它吗? :) - Georg
好的,我会重写它。使用了太多的“然后”。 - Steve McFarlin
1个回答

7

在AVVideoSetttings.h中,有一个AVVideoScalingModeKey。这个键与定义的值结合使用,控制将图像编码到视频容器时如何缩放/裁剪视频。例如,如果指定了AVVideoScalingModeFit的值,则使用裁剪。查看头文件以了解其他值对视频图像的影响。


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