2010-11-21 4 views
14

Я использую Adobe Media Encoder CS5 для кодирования FLV-файла в H.264 для представления в Интернете через HTML5, а видеофайл отлично воспроизводится в Safari в OS X (и в Firefox, закодированном в OGG), но на любом устройстве iOS (iPad, iPhone) я получаю значок воспроизведения, прокручивая его.H.264 закодированный MP4, представленный в играх HTML5 на устройствах Safari, но не на устройствах iOS

Кто-нибудь сталкивался с этим раньше, и если да, то какие-либо идеи относительно того, почему?

Спасибо.

+0

Вы прочитали эту статью: [учебник, предлагающий перекрестный браузер html5, включая ipad] (http://www.robwalshonline.com/posts/tutorial-serving-html5-video-cross-browser-including-ipad/)? –

ответ

5

Я знаю, что у этого есть заметный ответ, но у нас была такая же проблема.

Проблема оказалась в настройках нашей внутренней сети.

После включения консоли сафари на iPad мы увидели, что при попытке загрузить видео мы регистрировали «byte_range_error_message». Похоже, мобильные устройства запрашивают этот контент по-разному, чем настольные устройства, запрашивая определенные байты за раз. Нам удалось узнать, что видео воспроизводилось отлично, когда телефоны использовали свои сети 3G, но не тогда, когда они загружали видео через внутренний Wi-Fi. Много исследований позже привели нас к этой статье MSDN: http://support.microsoft.com/kb/922330

Что объясняет, как найти настройки в нашем брандмауэре, чтобы устройства могли запросить видео должным образом. Мы также обнаружили аналогичную настройку на одном из наших маршрутизаторов D-Link для отдельной сети Wi-Fi, которая также имела проблему.

+0

Альтернативные идеи/ответы всегда приветствуются. –

21

У нас была эта проблема, и мы обнаружили, что кодирование файлов в соответствии со стандартами веб-браузера iPhone создало файлы, которые отлично играли.

Не все файлы Mp4, закодированные в формате H.264, поддерживаются iPhone (или Chrome, если на то пошло), а небольшие различия в процессе кодирования могут создавать видео, которые не работают. Даже если бы использовались ТОЧНЫЕ одинаковые настройки кодирования, H.264 - это кодировщик с переменной скоростью передачи, поэтому разные видео могут превышать пределы битрейта, в результате чего некоторые работают, а другие нет.

Параметры кодирования, которые были успешными для нас были:

  • использовать только H.264 Baseline Profile Level 3.0
  • Разрешение ниже 640 х 480 и частоту кадров до 30 кадров в секунду
  • B кадры не поддерживается в профиле базовой линии.
  • битрейт предел 900кбит.

Здесь reference мы использовали для этих настроек.

+2

Безусловно, лучший ответ! – bcm

+0

Для пользователей после эффектов: вы можете найти уровни h.264 в настройках выходного модуля/Параметры формата/Видео - Уровень – FireStream

+0

НИКОГДА не используйте параметр кодирования «Быстрый старт» (в Handbrake он называется «Web Optimized»), в противном случае видео не будет воспроизводиться на устройствах iOS. Подробнее см. http://stackoverflow.com/a/24076523/1066234 –

 Смежные вопросы

  • Нет связанных вопросов^_^