在avfoundation中录制视频时可以缩放吗?

Posted

技术标签:

【中文标题】在avfoundation中录制视频时可以缩放吗?【英文标题】:is zooming possible while recording video in avfoundation? 【发布时间】:2015-02-21 21:39:46 【问题描述】:

我一直在使用 avfoundation 并尝试通过以下代码缩放视频并录制或在录制时缩放

    [CaptureSession startRunning];
     NSError *error;
    [VideoDevice lockForConfiguration:&error];
    [VideoDevice setActiveFormat:[VideoDevice.formats objectAtIndex:15]];
    [VideoDevice rampToVideoZoomFactor:5.0 withRate:1.0];
    [VideoDevice unlockForConfiguration];

当我打电话时

 [MovieFileOutput startRecordingToOutputFileURL:outputURL recordingDelegate:self];

它在扔

[AVCaptureMovieFileOutput startRecordingToOutputFileURL:recordingDelegate:] - no active/enabled connections.'

如果我只是拍摄静止图像,则变焦工作正常,我可以拍摄静止图像,但我不仅不能在变焦后拍摄视频,也不能在录制时变焦。

由此推断ios不支持静态视频缩放?

我还认为,当我更改支持缩放的视频活动格式时,它会导致崩溃,尽管我正在使用

[CaptureSession setSessionPreset:AVCaptureSessionPresetHigh];

在我的配置中。

请指教!

【问题讨论】:

Custom Camera zoom in/out while recording video using AVFoundation 的可能重复项 @Roecrew 请您仔细阅读我的问题吗?我做了你提到的同样的事情,但我的问题是如何缩放而不是如何在录制时缩放。 【参考方案1】:

当您使用“lockForConfiguration:”获取锁时,您没有检查锁是否已成功接收。 因此,您应该使用“if”块进行确认。

if( [_camera lockForConfiguration:nil] )

//push your stuff here.

[_camera unlockForConfiguration]

【讨论】:

做了同样的事情但没有运气!你以前试过吗? 不走运!你真的试过变焦吗?我想知道。我写了这个 if 块,但它不起作用。如果您有工作代码,请发布 sn-p 吗?

以上是关于在avfoundation中录制视频时可以缩放吗?的主要内容,如果未能解决你的问题,请参考以下文章

从 AVFoundation 保存录制的视频

AVFoundation学习笔记: 媒体捕捉读取及写入

缩放和裁剪 CMSampleBufferRef

无法使用 AVFoundation 将录制的视频上传到服务器 - Swift 3

使用 AVFoundation / QTKit 一次录制多个视频

在 iOS 中使用 AVFoundation 切换相机后视频录制不起作用