домен = AVFoundationErrorDomain, код = -11828

#ios #react-native #avfoundation #react-native-video #amazon-cloudfront

#iOS #react-native #avfoundation #реагировать-собственное-видео #amazon-cloudfront

Вопрос:

Я использую URL-адрес потоковой передачи из CloudFront.

Пример URL:https://d14nt81hc5bide.cloudfront.net/qyYj1PcUkYg2ALDfzAdhZAmb

На Android он работает нормально, но в iOS написано: domain = AVFoundationErrorDomain , код = -11828

В документе Apple код ошибки 11828 не распознан в формате averrorfileformat. Не удалось открыть носитель, поскольку он не в распознанном формате.

Может кто-нибудь подсказать, как исправить эту ошибку?

Комментарии:

1. Вы пробовали использовать другое видео? Этот URL, похоже, ничего не воспроизводит для меня, возможно, он действительно в нераспознанном формате / поврежден.

2. @mihai1990 поиграйте с медиаплеером vlc, он запускается

3. О, я думал, это видео. На самом деле это аудио в формате mp3. Я предполагаю, что это может быть вызвано отсутствием расширения .mp3 в URL.

4. в этом проблема …. но cloudfront не предоставляет мне расширение .mp3 .. знаете ли вы, как получить расширение .mp3 из url cloudfront? @mihai1990

5. Я не знаю об этом, извините.

Ответ №1:

AVFoundation может быть придирчивым, если URL-адрес или заголовок ответа не содержат информации о формате контейнера носителя ( mp4 , mov , …), что имеет место в данном случае (нет «расширения файла» в URL-адресе и нет типа содержимого в заголовке ответа).
Другие медиа-библиотеки и проигрыватели, похоже, готовы просто начать загрузку, а затем угадать формат, проверяя входящие данные, вероятно, поэтому они работают в этом случае.

К сожалению, по крайней мере, насколько мне известно, нет (надежного) способа программно указать AVFoundation ожидаемый формат и продолжить с этим.

Ответ №2:

Как вы упомянули, эта ошибка возникает из-за того, что AVFoundation не может распознать ваш формат мультимедиа.

Попробуйте объявить свой mime-тип при загрузке медиафайлов на сервер

Подробнее о mime-типе здесь

дополнительная информация: Руководство по потоковому мультимедийному контенту AWS

Ответ №3:

У меня не было другого выбора, кроме как .mp3 прикрепить мой URL-адрес CloudFront. И тогда это работает для ios.