我正在实施一个软件来捕捉来自网络摄像头的视频。我在苹果开发中看到了MyRecorder示例,它工作正常。来自网络摄像头的可可捕捉框架
我试图添加一个按钮把从视频快照与此代码:
- (IBAction)addFrame:(id)sender
{
CVImageBufferRef imageBuffer;
@synchronized (self) {
imageBuffer = CVBufferRetain(mCurrentImageBuffer);
}
if (imageBuffer) {
[ bla bla bla ]
}
}
但mCurrentImageBuffer总是空空的。我怎样才能从我的摄像头采取当前帧,并把mCurrentImageBuffer?
我试着使用
(void)captureOutput:(QTCaptureOutput *)captureOutput
didOutputVideoFrame:(CVImageBufferRef)videoFrame
withSampleBuffer:(QTSampleBuffer *)sampleBuffer
fromConnection:(QTCaptureConnection *)connection
{
CVImageBufferRef imageBufferToRelease;
CVBufferRetain(videoFrame);
@synchronized (self) {
imageBufferToRelease = mCurrentImageBuffer;
mCurrentImageBuffer = videoFrame;
}
CVBufferRelease(imageBufferToRelease);
}
但它从来没有所谓。如何确定何时调用captureOutput委托方法? 有什么想法?
感谢, 安德烈
我搬到了QTCaptureDecompressedVideoOutput定义代码视频初始化结束,现在mCurrentImageBuffer不是空的,但没有视频被保存在磁盘上 – 2009-10-03 14:49:16
的[imagesnap(http://iharder.sourceforge.net/current/ macosx/imagesnap /)开源项目是一个客观的C命令行工具,用于拍摄摄像头图片。 – 2012-12-12 07:02:56