웹캠에서 비디오를 캡쳐 할 수있는 소프트웨어를 구현 중입니다. Apple Dev에서 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가 비어 있지만 디스크에 비디오가 저장되지 않습니다. –
[imagesnap] (http://iharder.sourceforge.net/current/) macosx/imagesnap /) 오픈 소스 프로젝트는 웹캠 사진을 찍기위한 객관적인 C 명령 행 도구입니다. –