iPhone XR / XS: сбой статуса AVAssetExportSession с ошибкой

Я использую AVAssetExportSession для повторного экспорта видео, отредактированного Adobe Premiere CC, это характерно для iPhone XR / XS, у меня exportSession.status завершился ошибкой:

Домен ошибки = AVFoundationErrorDomain Code = -11821 «Невозможно декодировать» UserInfo = {NSLocalizedFailureReason = Не удалось декодировать мультимедийные данные. Возможно, он поврежден., NSLocalizedDescription = Cannot Decode, NSUnderlyingError = 0x28338c4e0 {Error Domain = NSOSStatusErrorDomain Code = -16977 “(null)“}}

Видео хорошо воспроизводится на родном проигрывателе iPhone. На другом устройстве (iPhone X, 6, 7, 8) нет проблем с ошибкой экспорта


person Yongj    schedule 13.03.2019    source источник


Ответы (2)


У меня похожая проблема. Но мое видео было скачано из Интернета.

В моем коде я меняю настройку качества presetName: с AVAssetExportPresetMediumQuality на AVAssetExportPresetPassthrough.

Надеюсь это поможет.

person bhqm    schedule 20.03.2019
comment
Спасибо, с этим presetName все прошло, но мне пришлось добавить инструкции для видеослоя, поэтому я не могу использовать presetName AVAssetExportPresetPassthrough - person Yongj; 21.03.2019

Я столкнулся с той же проблемой, с точно такой же комбинацией оборудования и программного обеспечения (iPhone XS (и iPad Pro 11 '') / видео, экспортированное Adobe Premier).

Это немного, но во время тестирования возможных решений я обнаружил, что именно в самом конце видео AVAssetExportSession возникают проблемы с кодированием.

Так, например, если бы я сократил временной диапазон экспорта на 4 кадра (или ~ 0,17 секунды при 24 кадрах в секунду), тогда видео было бы экспортировано без проблем. В некоторых случаях сокращение на 3 кадра работает, но ненадежно. Укорочение на 2 - не работает.

Ужасное решение, но лучше пока не нашел.

person AntonK    schedule 10.04.2019