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 - не работает.

Это ужасное решение, но я не нашел ничего лучшего.

Другие вопросы по тегам