Русская Википедия:HTML5 video

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:HTML Шаблон:Плохой перевод HTML5 video — элемент, включённый в проект спецификации HTML 5, который используется для воспроизведения видеозаписей[1], частично заменяя элемент <object>.

Adobe Flash Player широко использовался для встраивания содержимого видео-файлов на сайтах (например, YouTube). Flash Player доступен в качестве плагина для большинства веб-браузеров последних версий (таких как Mozilla Firefox, SeaMonkey, Opera и Safari), и несовместим, например, со встроенными браузерами iPod и iPhone от Apple, а также с Android версии 2.01 или меньше, версии 4.1.x и выше (официально)[2][3]. Google Chrome с некоторых пор содержит данный плагин по умолчанию[4]. Создатели HTML 5 video считают, что это станет стандартным способом просмотра видео онлайн, но основным препятствием для принятия данного соглашения является вопрос о том, какие именно видео форматы должны поддерживаться этим видео тегом.

Пример использования элемента <video>

Ниже приводится фрагмент кода на HTML 5, который позволяет встроить WebM видео на веб-сайт:

<video src="movie.webm" poster="movie.jpg" controls>
        This is fallback content to display if the browser
        does not support the video element.
</video>

Множественность ресурсов

Используя любое количество элементов <source>, как показано ниже, браузер выберет автоматически, какой файл загружать. Также, чтобы добиться того же результата, можно использовать функцию canPlay() из JavaScript. Атрибут «type» определяет тип MIME и список кодеков, которые помогают браузеру определить, может ли он декодировать файл. Из-за отсутствия общего видеоформата множественность ресурсов является важной особенностью для того, чтобы избегать «фырканья» браузера, что склоняет его к ошибке: известно, что любые знания веб-разработчиков о браузерах будут неполными, браузер знает о себе большеШаблон:Нет АИ.

<video poster="movie.jpg" controls>
        <source src='movie.webm' type='video/webm; codecs="vp8.0, vorbis"'/>
        <source src='movie.ogv' type='video/ogg; codecs="theora, vorbis"'/>
        <source src='movie.mp4' type='video/mp4; codecs="avc1.4D401E, mp4a.40.2"'/>
        <p>This is fallback content</p>
</video>

Поддерживаемые видеоформаты

Текущий проект спецификации HTML 5 не уточняет, какие форматы должны поддерживаться в теге <video>. Пользовательские агенты имеют право поддерживать любой подходящий видеоформат.

Почему нельзя поддерживать те форматы, на которые есть системные кодеки?

Возникает вопрос: почему бы не поддерживать все форматы, на которые в системе есть кодек? Этому есть несколько причин.

  1. Это попытка «спихнуть» стандартизацию на пользователей. Они могут выработать стандарт де-факто, который на поверку окажется платным. Пострадают от этого разработчики свободного ПО, вебмастера мелких сайтов и владельцы карманных устройств с нетрадиционными ОС. Поскольку в мире нет единой культуры, в разных концах Земли стандартом могут стать разные форматы.
  2. До HTML5 атаки (переполнение буфера и подобные) на системные кодеки были малорезультативны: требуется скачать «отравленный» файл и запустить его вручную, к тому же может сработать антивирус, а маленький размер эксплойта вызовет подозрение. Как только проигрывание видео станет массовым и автоматическим, на системные кодеки — в том числе старые и слабо поддерживаемые — обрушатся такие атаки, что мало кто выдержит.
  3. Редкий формат видео с подписью «чтобы увидеть, установите кодек» — это возрождение надписи 90-х годов «чтобы увидеть, установите ActiveX-компонент». Веб-стандарты создаются не для этого: веб должен быть доступным всем, независимо от ОС и дополнительного ПО.

Дебаты насчёт стандартного видеоформата

Шаблон:Main

Рабочая группа HTML 5 считает, что желательно определить по крайней мере один видеоформат, который бы поддерживался всеми браузерами. Идеальный формат в этом отношении должен:

  • иметь хорошее сжатие, хорошее разрешение изображения и низкие затраты работы процессора для расшифровки;
  • быть бесплатным;
  • для формата должен существовать аппаратный декодер, так как многие встроенные процессоры слишком слабы, чтобы раскодировать видео программно.

Изначально, Ogg Theora был рекомендуемым стандартом для HTML 5, потому что он не был затронут никакими известными патентами. Но 10 декабря 2010 года спецификация HTML 5 была подкорректирована,[5] изменились ссылки на конкретные форматы:

Шаблон:Quote

с дополнением[6]:

Шаблон:Quote

Хотя Theora не затронута известными патентами, такие компании как Apple (владелец некоторых патентов на H.264 и член MPEG LA)[7] и NokiaШаблон:Обновить данные заявили, что опасаются неизвестных патентов, чьи собственники могли бы ждать корпорацию с финансовыми ресурсами, чтобы предъявить иск по использованию данного формата.[8][9] С несвободными кодеками H.264 и MP3 это тоже может случиться, но Apple уже использует их, и поэтому только использование Ogg было бы для неё дополнительным риском. Apple также возражает против требования о поддержке формата Ogg в HTML 5 на тех основаниях, что некоторым приспособлениям поддерживать другие форматы намного легче, и что HTML ни разу за всю историю его существования не требовал особые форматы для чего-либо.[9]

Некоторые веб-разработчики раскритиковали удаление Ogg-форматов из спецификации.[10][11][12] Последующее обсуждение также произошло и в FAQ блоге W3C.[13]

H.264/MPEG-4 AVC широко используем и обладает хорошей скоростью, сжатием, декодером для аппаратных средств, но он уже запатентован.[14] Кроме особых случаев, пользователям H.264 приходится платить за лицензию MPEG LA — группе патентодержателей, включая Apple и Microsoft.[15] В итоге упоминание кодер-декодера по умолчанию было убрано.

Google покупает On2

Приобретение компанией Google On2 Technologies происходит в результате выпуска формата VP8, который является бесплатным открытым стандартом, и создания WebM Project, который соединяет VP8 video с Vorbis audio в контейнер Matroska. Выпуск VP8 был также поддержан Free Software Foundation.[16]

В январе 2011 года Google объявил, что собирается прекратить поддержку H.264 в Chrome, многие критиковали это, включая Питера Брайта из Ars Technica[17] и «веб-проповедника» Тима Снита из Microsoft, которые заявили, что скорее эсперанто объявят официальным языком США, чем Google продвинется в этом деле.[18] Однако Говард Моен из Opera Software сильно раскритиковал статью Ars Technica[19], и Google ответила на реакцию, объяснив своё решение тем, что они намерены продвигать WebM в своих продуктах на основе их открытости.

Браузерная поддержка

Значения

Значения показывают уровень поддержки в самых последних версиях разметки или (если известен номер версии) в указанной версии. Номер версии без каких-либо других значений указывает на версию, с которой впервые полностью поддерживаются все необходимые свойства для разметки.

Значение Описание
Yes показывает, что разметка полностью поддерживает данное свойство/элемент, когда используются правильные значения
No показывает, что свойство/элемент полностью игнорируется
Partial показывает, что свойство/элемент понято, но не все его значения поддерживаются. Поддерживаемые значения выполняются правильно.
Incorrect показывает, что свойство/элемент понято, но работает правильно не во всех случаях.
Experimental показывает, что свойство/элемент понято, но поддерживается под другим именем. Может быть незавершённым или содержать ошибки
Dropped показывает, что свойство/элемент больше не поддерживается
Nightly build показывает, что свойство/элемент поддерживается в некоторой степени в экспериментальной/ночной сборке. Ожидается поддержка в будущем.
Depends показывает, что свойство/элемент поддерживается только на определённых платформах или если сконфигурированы определённые условия.


Таблица

Шаблон:Перевести раздел Шаблон:Обновить раздел Эта таблица показывает, какие видео-форматы вероятно будут поддерживаться указанным браузером. Большинство браузеров, представленных здесь, используют multimedia framework для раскодирования и отображения видео-файла, а не включают такие компоненты в программное обеспечение. Как правило, невозможно перечислить все форматы, которые поддерживает multimedia framework без их запроса, так как всё зависит от операционной системы и типа кодер-декодера.[20] В таких случаях поддерживаемый видео-формат является атрибутом для framework, а не для браузера или его разметки; браузер обязательно спрашивает свой multimedia framework, прежде чем отвергнуть неизвестный видео-формат. Видео-формат может быть определён с помощью MIME в HTML. (Смотри example) MIME используется для уточнения у multimedia frameworks о поддерживаемых форматах. [note 1]

Среди этих браузеров только Firefox, Opera и Origyn используют библиотеки для встроенного раскодирования. На деле Internet Explorer и Safari также могут обеспечивать поддержку определённых форматов, потому что их изготовители также сделали их multimedia frameworks. С другой стороны, Konqueror поддерживает те же форматы, что и Internet Explorer на Windows и Safari на Mac OS X, но указанная здесь поддержка для Konqueror типична для GNU/Linux, где Konqueror в основном и используется. В основном поддержка браузерами какого-либо формата навязана конфликтующими интересами производителей; в особенности Media Foundation и QuickTime поддерживают проприетарные стандарты, тогда как GStreamer и Phonon не могут законно ничего поддерживать, кроме свободных форматов на свободных операционных системах, для которых они созданы.

Браузер Последняя стабильная версия Форматы, поддерживаемые различными веб-браузерами
Ogg Theora H.264 VP8 (WebM) Others
Internet Explorer 10.0 (26 октября 2012 года) Manual install[note 2] Шаблон:Yes[24] Manual install[note 3][note 4] Шаблон:No[27]
Mozilla Firefox[28] 21.0 (21 мая 2013 года) Шаблон:Yes[29]
Да
Да
Шаблон:Yes[30][31] Шаблон:No
Google Chrome 13.0.782.112 (9 августа 2011 года) Шаблон:Yes[32][33] Шаблон:Yes[34][35] Шаблон:Yes[36][37] Шаблон:No[38]
Chromium Шаблон:N/A Шаблон:Yes[39] Шаблон:No[40] Шаблон:Yes[41] Шаблон:No[38]
Safari 5.1 (20 июля 2011 года) Manual install[note 5] Шаблон:Yes[42][43] Manual install[44] Depends[note 6]
Opera 11.64 (10 мая 2012 года) Шаблон:Yes[46] Шаблон:No Шаблон:Yes[47][48] Шаблон:No
Konqueror 4.7 (27 июля 2011 года) Шаблон:Yes[49] Depends[note 7] Шаблон:Yes[51] Depends[note 7]
Epiphany 3.0.4 (1 июля 2011 года) Шаблон:Yes[52] Depends[note 8] Depends[note 8][53] Depends[note 8]

Использование

С апреля 2010 года вслед за запуском iPad от Apple несколько сайтов с высокой посещаемостью стали выдавать H.264 HTML 5 видео вместо Flash для браузеров, идентифицирующих себя как iPad.[54]

В мае 2010 года HTML 5 video ещё не так широко распространено, как Flash видео, хотя DailyMotion[55] недавно массово выпустил экспериментальные видео-плееры на основе HTML5 (использующие форматы Ogg Theora и Vorbis), YouTube[56] (использующий форматы H.264 и WebM) и Vimeo[57](использующий формат H.264) намекают, что интерес к приему HTML 5 видео увеличивается.

Некоторые крупные публикующие видео веб-сайты опубликовали решение продолжить использование технологий, отличающихся от HTML 5 video.[58][59][60] Согласно статье блога YouTube, тег <video> не удовлетворяет всем потребностям веб-сайтов, таких как YouTube.[61] В заявленные важные причины входит необходимость стандартного формата, отсутствие эффективного и надежного метода для передачи видео браузеру, неспособность JavaScript отображать видео на полный экран и проблема защиты содержимого. Хулу также не принял HTML 5 video из-за отсутствия функций для обеспечения пользователя адаптивным битрейтом для видео, «защиты» контента и предоставления рекламодателям данных.[62] Netflix заявил, что есть много проблем, которые мешают ему использовать HTML 5 video: приемлемые контейнерные A/V форматы; допустимые аудио и видео кодер-декодеры, потоковый протокол, метод для потокового протокола, чтобы адаптировать его к доступным диапазонам частот, метод для передачи информации о доступных потоках и другие параметры для модуля воспроизведения потока данных; метод поддержки защищенных данных; и метод отображения всей этой функциональности в HTML 5.[59][63]

11 января 2011 года Google's Chromium Project объявил в своем блоге, что поддержка закрытых кодер-декодеров(например, H.264) будет удалена из будущих версий Chrome-а. В объявлении Chromium особенно выделялось то, что эта ликвидация была попыткой увеличить популярность использования HTML5 и тега <video> без необходимости лицензирования патентованных технологий, стимулируя всю сеть принять общедоступный кодер-декодер для VP8 и Theora.

Предложение добавить DRM

Внесённое в W3C предложение добавить в HTML5 API для DRM было встречено крайне негативно теми, кто считает одним из основных свойств Шаблон:Нп1 типа HTML, и преимуществ их перед плагинами, открытость или отсутствие требований использования программного или аппаратного обеспечения от определённого поставщика (как на стороне клиента, так и на стороне сервера).[64][65][66][67]

В «живом стандарте HTML», развиваемом WHATWG, планов о добавлении DRM не появилось.[68]

В январе 2014 года к W3C присоединилась Американская ассоциация кинокомпаний (MPAA), поддерживавшая такие законопроекты как SOPA, который вызвал протесты в Интернете;[69] в W3C есть и другие сторонники ограничения работы пользовательских браузеров, букмарклетов и плагинов.[70]

Комментарии

Шаблон:Примечания

Примечания

Шаблон:Примечания

Литература

Ссылки

Шаблон:Стандарты W3C Шаблон:Стиль

  1. Шаблон:Cite web
  2. Шаблон:Cite web
  3. Шаблон:Cite web
  4. Шаблон:Cite web
  5. Шаблон:Cite mailing list
  6. Шаблон:Cite web
  7. Шаблон:Cite web
  8. Шаблон:Cite mailing list
  9. 9,0 9,1 Шаблон:Cite mailing list
  10. Шаблон:Cite web
  11. Шаблон:Cite web
  12. Шаблон:Cite web
  13. Шаблон:Cite web
  14. Шаблон:Citation Шаблон:Cite web
  15. Шаблон:Citation Шаблон:Cite web
  16. Шаблон:Cite web
  17. Шаблон:Cite web
  18. Шаблон:Cite web
  19. Шаблон:Cite web
  20. Шаблон:Citation Шаблон:Cite web
  21. Шаблон:Citation Шаблон:Cite web
  22. Шаблон:Citation Шаблон:Cite web
  23. Шаблон:Citation Шаблон:Cite web
  24. Шаблон:Citation Шаблон:Cite web
  25. Шаблон:Cite web
  26. Шаблон:Citation Шаблон:Cite web
  27. Шаблон:Citation Шаблон:Cite web
  28. Шаблон:Citation Шаблон:Cite web
  29. Шаблон:Citation Шаблон:Cite web
  30. Шаблон:Citation Шаблон:Cite web
  31. Шаблон:Citation Шаблон:Cite web
  32. Шаблон:Citation Шаблон:Cite web
  33. Шаблон:Citation Шаблон:Cite web
  34. Шаблон:Citation Шаблон:Cite web
  35. Шаблон:Citation Шаблон:Cite web
  36. Шаблон:Citation Шаблон:Cite web
  37. Шаблон:Citation Шаблон:Cite web
  38. 38,0 38,1 Шаблон:Citation Шаблон:Cite web
  39. Шаблон:Citation Шаблон:Cite web
  40. Шаблон:Citation Шаблон:Cite web
  41. Шаблон:Citation Шаблон:Cite web
  42. Шаблон:Citation Шаблон:Cite web
  43. Шаблон:Citation Шаблон:Cite web
  44. Шаблон:Citation Шаблон:Cite web
  45. Шаблон:Citation Шаблон:Cite web
  46. Шаблон:Citation Шаблон:Cite web
  47. Шаблон:Citation Шаблон:Cite web
  48. Шаблон:Citation Шаблон:Cite web
  49. Шаблон:Citation Шаблон:Cite web
  50. Шаблон:Citation Шаблон:Cite web
  51. Шаблон:Citation Шаблон:Cite web
  52. Шаблон:Citation Шаблон:Cite web
  53. Шаблон:Citation Шаблон:Cite web
  54. Шаблон:Cite web
  55. Шаблон:Cite web
  56. Шаблон:Cite web
  57. Шаблон:Cite web
  58. Шаблон:Cite web
  59. 59,0 59,1 Gigaom.com: Netflix has no plans to use HTML5 Шаблон:Webarchive
  60. Pseudocoder: Why HTML5 won’t replace Flash Шаблон:Webarchive
  61. Шаблон:Cite web
  62. Шаблон:Cite web
  63. Шаблон:Cite web
  64. Шаблон:Cite web
  65. Шаблон:Cite web
  66. Шаблон:Cite web
  67. Шаблон:Cite web
  68. Шаблон:Cite web
  69. Шаблон:Cite web
  70. Шаблон:Cite web


Ошибка цитирования Для существующих тегов <ref> группы «note» не найдено соответствующего тега <references group="note"/>