用于视频录制的ios数码变焦。如何有效实施?

时间:2012-07-03 15:35:59

标签: iphone objective-c ios avfoundation

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

问题是如何记录用户缩放活动的所有连续过程,我认为这可能是一个非常复杂的放大和缩小行为的热门话题 我的意思是,例如,我设计了一个滑块供用户控制变焦,用户可以将滑块放大4倍缓慢(比如最后3秒),而不释放滑块,快速缩小到2X(比如说最后0.5秒) ,我必须根据时间表记录所有这些变化。

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

1 个答案:

答案 0 :(得分:1)

您可以在录制时转换AVCaputureVideoPreviewLayer并使用缩放值来操纵AVCaptureVideoDataOutput委托中的帧。委托方法captureOutput:didOutputSampleBuffer:fromConnection:可用于处理视频帧。请参阅AVFoundation文档AVFoundation documentation,Media Capture>处理视频帧。