如何在AVCaptureSession中使用2个视频输出(videoFile& videoData)

时间:2013-11-19 08:31:01

标签: ios objective-c video-streaming video-capture avcapturesession

我需要让录音机能够捕捉一些帧。 现在我尝试的只是设置AVCaptureSession有2个输入(音频和视频)和2个输出:

    //configure output to writeVideo
self.movieFileOutput = [[AVCaptureMovieFileOutput alloc] init];
[self.session addOutput:self.movieFileOutput];

self.videoDataOutput = [[AVCaptureVideoDataOutput alloc] init];

[self.videoDataOutput setVideoSettings:[NSDictionary dictionaryWithObject:[NSNumber numberWithInt:kCVPixelFormatType_32BGRA] forKey:(id)kCVPixelBufferPixelFormatTypeKey]];

// Configure output to catch frames.
dispatch_queue_t queue = dispatch_queue_create("myQueue", NULL);
[self.videoDataOutput setSampleBufferDelegate:self queue:queue];
[self.session addOutput:self.videoDataOutput];
接口文件中的

我将类符合协议AVCaptureVideoDataOutputSampleBufferDelegate,AVCaptureFileOutputRecordingDelegate。写在文件中工作完美但方法

    - (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection
永远不会打电话给

。 如果我删除[self.session addOutput:self.movi​​eFileOutput]; line,以便会话输出中只有self.videoDataOutput。 捕捉想象力是完美的。

如何在这两个输出中配置videoInput。

感谢您提出的所有建议=)

0 个答案:

没有答案