Какие пользовательские агенты поддерживают видео в формате mp4 / H.264 в теге HTML5 <video>? - PullRequest
4 голосов
/ 14 февраля 2011

Какие пользовательские агенты поддерживают тег HTML5 video, используя mp4 в качестве контейнера и H.264 в качестве кодека?Кто-нибудь придумал для этого регулярное выражение?

ОБНОВЛЕНИЕ: Спасибо всем за комментарииЯ забыл упомянуть, я предпочтительно хочу сделать это на сервере, что означает, что что-то вроде модернизатора не будет работать.

Ответы [ 2 ]

5 голосов
/ 16 февраля 2011

Рабочий стол:

  • IE6-8: нет
  • IE9-10: H.264
  • Chrome: WebM и H.264
  • Firefox 3.6: Ogg Theora
  • Firefox 4+: WebM
  • Опера: WebM
  • Safari: H.264

Мобильный телефон:

  • iOS: H.264
  • Chrome Android: H.264 и WebM
  • Firefox Android: H.264 и WebM
  • IE для Windows Phone7.5 - 8: H.264
  • Opera 12: H.264

См. HTML5 Test для получения дополнительной информации.Примечания: в браузере по умолчанию для Android (называемом «Браузер») не указана поддержка какого-либо кодека, но я думаю, что поставщики телефонов должны решить это, я уверен, что вы можете гарантировать H.264 в качестве аппаратного ускорения дляэтот кодек, как правило, встроен в мобильные процессоры.Что касается Firefox для рабочего стола, то в этом году он получает поддержку H.264 .

Редактировать: вышеуказанная матрица поддержки была обновлена ​​в 2013/03/22


Итак, вам нужно поддерживать два формата видео: WebM и H.264.Но, похоже, что H.264 все больше становится стандартом де-факто для видео в сети.

НЕ использует анализ агента пользователя, он общеизвестно ненадежен и подвержен ошибкам.Есть просто лучшие способы определения поддержки тегов <video>.

Например, взгляните на Modernizer , который позволяет написать:

if (!Modernizr.video)
{
    // Implement some Flash fallback
}

или, есливы явно обнаруживаете определенный кодек ...

if (!Modernizr.video || (Modernizr.video && !Modernizr.video.h264))
{
    // Flash fallback here
}
1 голос
/ 15 февраля 2011

Не уверен насчет регулярного выражения, хотя я не думаю, что вам нужен сниффинг пользовательского агента - элемент <video> разработан так, чтобы содержать ссылки на видео в нескольких форматах таким образом, чтобы пользовательские агенты воспроизводили тот, который они поддерживают,См. Главу «Погружение в HTML5» для , отличный пример .

. Погружение в HTML5 также содержит хороший список поддержки браузером видео HTML5 .

...