2
所以錄製實況視頻時,你可以使用一個AVCaptureSession並通過委託方法過濾視頻直播:核心圖像從磁盤上的視頻獲取採樣緩衝區?
- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection
利用這一點,你可以從緩衝區中CIImage稍後可應用圖像過濾器:
CVImageBufferRef imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer);
CIImage *sourceImage = [CIImage imageWithCVPixelBuffer:(CVPixelBufferRef)imageBuffer options:nil];
我的問題是,我如何從磁盤過濾視頻?由於我沒有奢侈的委託方法自動給我輸出緩衝區,所以我必須手動完成。
我需要的是一種從磁盤上的視頻逐幀獲取並應用核心圖像過濾器的方法。