6

我搜索发现sdk不支持数字放大或缩小,您必须间接进行。我在stackoverflow上找到的方法是AVCaputureVideoPreviewLayer在录制的同时进行转换,并对输出视频进行相应的转换后处理(我现在的想法是使用AVMutableVideoCompositionLayerInstruction's转换斜坡函数。)。

问题是如何记录用户缩放活动的所有连续过程,我认为这可能是非常复杂的放大和缩小行为我的意思是,例如,我为用户设计了一个滑块来控制缩放,用户可以按住滑块慢慢放大 4 倍(比如最后 3 秒),并且在不松开滑块的情况下快速缩小到 2 倍(比如最后 0.5 秒),我必须根据时间线记录所有这些变化。

我真的觉得这个记录很复杂,另外你还必须保证它不会花费太多的资源来保持视频录制过程的流畅性能!或任何其他实现数码变焦的方式?感谢任何帮助者!

4

1 回答 1

1

您可以AVCaputureVideoPreviewLayer在录制时进行转换并使用缩放值来操作AVCaptureVideoDataOutput委托中的帧。委托方法captureOutput:didOutputSampleBuffer:fromConnection:可用于处理视频帧。请参阅 AVFoundation 文档AVFoundation 文档、媒体捕获 > 处理视频帧。

于 2013-05-23T13:22:36.750 回答