iPhone XR/XS: состояние AVAssetExportSession не удалось с ошибкой
Я использую AVAssetExportSession для реэкспорта видео, отредактированного Adobe Premiere CC, оно специфично для iPhone XR/XS, у меня произошел сбой exportSession.status с ошибкой:
Ошибка Домен =AVFoundationErrorDomain Код =-11821 "Не удается декодировать" UserInfo={NSLocalizedFailureReason= Данные мультимедиа не могут быть декодированы. Может быть поврежден., NSLocalizedDescription= Невозможно декодировать, NSUnderlyingError=0x28338c4e0 {Ошибка домена =NSOSStatusErrorDomain Code=-16977 "(null)"}}
Видео можно хорошо воспроизвести на родном iPhone Player. На других устройствах (iPhone X, 6, 7, 8) нет ошибки экспорта
2 ответа
У меня похожая проблема. Но мое видео было загружено из Интернета.
В моем коде я изменяю настройку качества "presetName:" с "AVAssetExportPresetMediumQuality" на "AVAssetExportPresetPassthrough".
Надеюсь это поможет.
Я столкнулся с той же проблемой, с точно такой же комбинацией аппаратного и программного обеспечения (iPhone XS (и iPad Pro 11'') / видео, экспортированное Adobe Premier).
Это немного, но во время тестирования возможных решений я обнаружил, что это самый конец видео, в котором AVAssetExportSession имеет проблемы с кодированием.
Так, например, если бы я сократил диапазон времени экспорта на 4 кадра (или ~0,17 секунды при 24 кадрах в секунду), тогда видео было бы экспортировано без проблем. Укорочение на 3 кадра в некоторых случаях работает, но не надежно. Укорочение на 2 - не работает.
Это ужасное решение, но я не нашел ничего лучшего.