MP4 в кодировке H.264, представленный в HTML5, воспроизводится на Safari, но не на устройствах iOS
Я использую Adobe Media Encoder CS5 для кодирования FLV-файла в H.264 для представления в Интернете через HTML5, и видеофайл воспроизводится очень хорошо в Safari в OS X (и в Firefox, закодированном в OGG), но на любом устройстве iOS (iPad, iPhone) Я получаю значок воспроизведения с косой чертой, проходящей через него.
Кто-нибудь сталкивался с этим раньше, и если да, есть идеи, почему?
Благодарю.
2 ответа
У нас возникла эта проблема, и мы обнаружили, что при кодировании файлов в соответствии со стандартами iPhone в Webview создаются файлы, которые воспроизводятся нормально.
Не все файлы Mp4 в кодировке H.264 поддерживаются iPhone (или Chrome в этом отношении), и небольшие различия в процессе кодирования могут привести к неработающему видео. Даже если использовались ТОЧНЫЕ настройки кодирования, H.264 - это кодировщик с переменной скоростью передачи битов, поэтому разные видео могут превышать лимиты битрейта, из-за чего некоторые из них работают, а другие - нет.
Настройки кодирования, которые были для нас успешными, были следующими:
- Используйте только базовый профиль H.264 уровня 3.0
- Разрешение ниже 640 x 480 и частота кадров до 30 кадров в секунду
- B-кадры не поддерживаются в базовом профиле.
- предел битрейта 900kb.
Вот ссылка, которую мы использовали для получения этих настроек.
Я знаю, что у этого есть отмеченный ответ, но у нас была та же самая проблема.
Проблема оказалась в настройках нашей внутренней сети.
Включив консоль safari на iPad, мы увидели, что при попытке загрузить видео мы регистрировали "byte_range_error_message". Кажется, мобильные устройства запрашивают этот контент не так, как настольные устройства, запрашивая определенные байты за раз. Нам удалось выяснить, что видео воспроизводилось нормально, когда телефоны использовали свои сети 3G, но не когда они загружали видео через внутренний Wi-Fi. Много исследований позже привело нас к этой статье MSDN: http://support.microsoft.com/kb/922330
Это объясняет, как найти настройки в нашем брандмауэре, чтобы устройства могли правильно запрашивать видео. Мы также нашли аналогичную настройку на одном из наших маршрутизаторов D-Link для отдельной сети Wi-Fi, которая также имела проблему.