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