我正在尝试在进行图像处理任务的同时,将捕获的帧作为视频记录下来。
我有一个单独的AVCaptureSession,向其中添加了两个独立的输出 -
- AVCaptureVideoDataOutput
- AVCaptureMovieFileOutput
我分别确认了AVCaptureVideoDataOutputSampleBufferDelegate和AVCaptureFileOutputRecordingDelegate
我使用 captureOutput(_ output: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection)
进行帧捕获和分析,以及func fileOutput(_ output: AVCaptureFileOutput, didStartRecordingTo fileURL: URL, from connections: [AVCaptureConnection])
用于视频录制。
由于某种原因,当我添加这两个输出时,只有视频录制起作用,而“captureOutput”函数根本没有被调用。
有什么想法为什么会发生这种情况?我做错了什么?或者在设置和配置会话时应该注意什么?
AVCaptureVideoDataOutput
,AVCaptureMovieFileOutput
)不能同时使用。请解释您的实际需求,以便我们可以提供替代方案。 - souvickcse