我試圖從視頻中提取一幀作爲圖像。該視頻是使用UIImagePickerController錄製的。UIImagePickerController:從視頻獲取圖像
當視頻被記錄時,我得到它的URL並使用AVURLAsset加載它。然後我創建一個AVAssetReader和AVAssetReaderTrackOutput來獲取各個幀。
當我得到框架作爲CMSampleBufferRef的我把它們傳遞給Apple的imageFromSampleBuffer方法,它應該返回一個UIImage。這種方法工作得很好,當我正在使用AVCaptureSession幀但是當我通過使用記錄的UIImagePickerController視頻那麼這行返回爲0x0:
CVImageBufferRef imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer);
哪裏sampleBuffer是我通過CMSampleBufferRed。
我通過調試器檢查了sampleBuffer的值,它看起來很好(不是0x0)。 CMSampleBufferGetImageBuffer會返回0x0嗎?
或者,還有另一種方式從MOV文件中提取單個視頻幀並將其保存爲UIImage?
謝謝。