비디오에서 이미지를 프레임으로 추출하려고합니다. 비디오는 UIImagePickerController를 사용하여 기록됩니다.UIImagePickerController : 비디오에서 이미지 캡처 받기
비디오가 녹화되면 해당 URL을 가져 와서 AVURLAsset을 사용하여로드합니다. 그런 다음 AVAssetReader 및 AVAssetReaderTrackOutput을 만들어 개별 프레임을 가져옵니다.
프레임을 CMSampleBufferRef로 가져올 때 Apple의 imageFromSampleBuffer 메서드에 전달하여 UIImage를 반환해야합니다. 내가 AVCaptureSession를 사용하여 프레임을 얻는 때이 방법은 잘 작동하지만 UIImagePickerController를 통해 녹화 된 비디오를 사용할 때 다음이 라인은 0x0으로 반환 sampleBuffer 내가 전달하는 CMSampleBufferRed입니다
CVImageBufferRef imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer);
합니다.
디버거를 통해 sampleBuffer의 값을 확인했는데 ok (0x0이 아님)로 보입니다. CMSampleBufferGetImageBuffer가 0x0을 반환하는 이유가 있습니까?
또는 MOV 파일에서 단일 비디오 프레임을 추출하고 UIImage로 저장하는 다른 방법이 있습니까?
감사합니다.