H.264 кодированный MP4, представленный в играх HTML5 на Safari, но не на устройствах iOS

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

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

Спасибо.

Ответ 1

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

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

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

  • Используйте только базовый уровень профиля H.264 3.0
  • Разрешение ниже 640 x 480 и частота кадров до 30 кадров в секунду
  • В базовом профиле не поддерживаются кадры B.
  • предел скорости передачи в 900 КБ.

Вот reference, который мы использовали для получения этих настроек.

Ответ 2

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

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

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

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