Я пытаюсь извлечь кадр из видео в качестве изображения.Видео записывается с использованием UIImagePickerController.
Когда видео записано, я получаю его URL и загружаю его с помощью AVURLAsset.Затем я создаю AVAssetReader и AVAssetReaderTrackOutput, чтобы получить отдельные кадры.
Когда я получаю кадры как CMSampleBufferRef, я передаю их методу Apple imageFromSampleBuffer, который должен вернуть UIImage.Этот метод работал нормально, когда я получал кадры с использованием AVCaptureSession, но когда я использую видео, записанное с помощью UIImagePickerController, эта строка возвращает 0x0:
CVImageBufferRef imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer);
Где sampleBuffer - это CMSampleBufferRed, который я передаю.
Я проверил значение sampleBuffer через отладчик, и оно выглядело нормально (не 0x0).Есть ли какая-либо причина, по которой CMSampleBufferGetImageBuffer будет возвращать 0x0?
Или альтернативно есть другой способ извлечь отдельный видеокадр из файла MOV и сохранить его как UIImage?
Спасибо.