HTML5 video — элемент, включённый в проект спецификации HTML5, который используется для воспроизведения видеозаписей[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]. Создатели HTML5 video считают, что это станет стандартным способом просмотра видео онлайн, но основным препятствием для принятия данного соглашения является вопрос о том, какие именно видео форматы должны поддерживаться этим видео тегом.
<video>
Ниже приводится фрагмент кода на HTML5, который позволяет встроить 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 и список кодеков, которые помогают браузеру определить, может ли он декодировать файл. Из-за отсутствия общего видеоформата множественность ресурсов является важной особенностью для того, чтобы избегать «фырканья» браузера, что склоняет его к ошибке: известно, что любые знания веб-разработчиков о браузерах будут неполными, браузер знает о себе больше[источник не указан 246 дней].
<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>https://youtu.be/oVXfk99dRAc?si=i3opHzF4ZnTaL6AJ
Текущий проект спецификации HTML5 не уточняет, какие форматы должны поддерживаться в теге <video>
. Пользовательские агенты имеют право поддерживать любой подходящий видеоформат[источник не указан 150 дней].
Возникает вопрос: почему бы не поддерживать все форматы, на которые в системе есть кодек? Этому есть несколько причин.
Основная статья: Использование форматов Ogg в HTML5 |
Рабочая группа HTML5 считает, что желательно определить по крайней мере один видеоформат, который бы поддерживался всеми браузерами. Идеальный формат в этом отношении должен:
Изначально, Ogg Theora был рекомендуемым стандартом для HTML5, потому что он не был затронут никакими известными патентами. Но 10 декабря 2010 года спецификация HTML5 была подкорректирована,[5] изменились ссылки на конкретные форматы:
Браузеры должны поддерживать видеоформат Theora и аудиоформат Vorbis, а также контейнерный формат Ogg.
с дополнением[6]:
Было бы очень полезно для функциональной совместимости, если бы все браузеры смогли поддерживать один кодер-декодер. Но не существует ни одного такого кодер-декодера, который бы удовлетворял всех: нам нужен такой кодер-декодер, который, как известно, не требует лицензирования, который совместим с современной развивающейся моделью, который имеет достаточно качеств, чтобы быть пригодным, и который не станет подводным камнем для крупных компаний. Это текущая проблема, и эта часть будет ещё доработана.[7]
Хотя Theora не затронута известными патентами, такие компании как Apple (владелец некоторых патентов на H.264 и член MPEG LA)[8] и Nokia[обновить данные] заявили, что опасаются неизвестных патентов, чьи собственники могли бы ждать корпорацию с финансовыми ресурсами, чтобы предъявить иск по использованию данного формата.[9][10] С несвободными кодеками H.264 и MP3 это тоже может случиться, но Apple уже использует их, и поэтому только использование Ogg было бы для неё дополнительным риском. Apple также возражает против требования о поддержке формата Ogg в HTML5 на тех основаниях, что некоторым приспособлениям поддерживать другие форматы намного легче, и что HTML ни разу за всю историю его существования не требовал особые форматы для чего-либо.[10]
Некоторые веб-разработчики раскритиковали удаление Ogg-форматов из спецификации.[11][12][13] Последующее обсуждение также произошло и в FAQ блоге W3C.[14]
H.264/MPEG-4 AVC широко используем и обладает хорошей скоростью, сжатием, декодером для аппаратных средств, но он уже запатентован.[15] Кроме особых случаев, пользователям H.264 приходится платить за лицензию MPEG LA — группе патентодержателей, включая Apple и Microsoft.[16] В итоге упоминание кодер-декодера по умолчанию было убрано.
Приобретение компанией Google On2 Technologies происходит в результате выпуска формата VP8, который является бесплатным открытым стандартом, и создания WebM Project, который соединяет VP8 video с Vorbis audio в контейнер Matroska. Выпуск VP8 был также поддержан Free Software Foundation.[17]
В январе 2011 года Google объявил, что собирается прекратить поддержку H.264 в Chrome, многие критиковали это, включая Питера Брайта из Ars Technica[18] и «веб-проповедника» Тима Снита из Microsoft, которые заявили, что скорее эсперанто объявят официальным языком США, чем Google продвинется в этом деле.[19] Однако Говард Моен из Opera Software сильно раскритиковал статью Ars Technica[20], и Google ответила на реакцию, объяснив своё решение тем, что они намерены продвигать WebM в своих продуктах на основе их открытости.
Значения показывают уровень поддержки в самых последних версиях разметки или (если известен номер версии) в указанной версии. Номер версии без каких-либо других значений указывает на версию, с которой впервые полностью поддерживаются все необходимые свойства для разметки.
Значение | Описание |
---|---|
Yes | показывает, что разметка полностью поддерживает данное свойство/элемент, когда используются правильные значения |
No | показывает, что свойство/элемент полностью игнорируется |
Partial | показывает, что свойство/элемент понято, но не все его значения поддерживаются. Поддерживаемые значения выполняются правильно. |
Incorrect | показывает, что свойство/элемент понято, но работает правильно не во всех случаях. |
Experimental | показывает, что свойство/элемент понято, но поддерживается под другим именем. Может быть незавершённым или содержать ошибки |
Dropped | показывает, что свойство/элемент больше не поддерживается |
Nightly build | показывает, что свойство/элемент поддерживается в некоторой степени в экспериментальной/ночной сборке. Ожидается поддержка в будущем. |
Depends | показывает, что свойство/элемент поддерживается только на определённых платформах или если сконфигурированы определённые условия.
|
В другом языковом разделе есть более полная статья HTML5 video#Browser_support (англ.). |
Эта таблица показывает, какие видео-форматы вероятно будут поддерживаться указанным браузером. Большинство браузеров, представленных здесь, используют multimedia framework для раскодирования и отображения видео-файла, а не включают такие компоненты в программное обеспечение. Как правило, невозможно перечислить все форматы, которые поддерживает multimedia framework без их запроса, так как всё зависит от операционной системы и типа кодер-декодера.[21] В таких случаях поддерживаемый видео-формат является атрибутом для 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] | 9.0[25] | Manual install[note 3][note 4] | Нет[28] |
Mozilla Firefox[29] | 21.0 (21 мая 2013 года) | 3.5[30] | 21.0 (через кодеки Win7+) 46.0 (полная поддержка) |
4.0[31][32] | Нет |
Google Chrome | 13.0.782.112 (9 августа 2011 года) | 3.0[33][34] | Да[35][36] | 6.0[37][38] | Нет[39] |
Chromium | N/A | r18297[40] | Нет[41] | r47759[42] | Нет[39] |
Safari | 5.1 (20 июля 2011 года) | Manual install[note 5] | 3.1[43][44] | Manual install[45] | Depends[note 6] |
Opera | 11.64 (10 мая 2012 года) | 10.50[47] | Нет | 10.60[48][49] | Нет |
Konqueror | 4.7 (27 июля 2011 года) | 4.4[50] | Depends[note 7] | Да[52] | Depends[note 7] |
Epiphany | 3.0.4 (1 июля 2011 года) | 2.28[53] | Depends[note 8] | Depends[note 8][54] | Depends[note 8] |
С апреля 2010 года вслед за запуском iPad от Apple несколько сайтов с высокой посещаемостью стали выдавать H.264 HTML5 видео вместо Flash для браузеров, идентифицирующих себя как iPad.[55]
В мае 2010 года HTML5 video ещё не так широко распространено, как Flash видео, хотя DailyMotion[56] недавно массово выпустил экспериментальные видео-плееры на основе HTML5 (использующие форматы Ogg Theora и Vorbis), YouTube[57] (использующий форматы H.264 и WebM) и Vimeo[58](использующий формат H.264) намекают, что интерес к приему HTML5 видео увеличивается.
Некоторые крупные публикующие видео веб-сайты опубликовали решение продолжить использование технологий, отличающихся от HTML5 video.[59][60][61] Согласно статье блога YouTube, тег <video>
не удовлетворяет всем потребностям веб-сайтов, таких как YouTube.[62] В заявленные важные причины входит необходимость стандартного формата, отсутствие эффективного и надежного метода для передачи видео браузеру, неспособность JavaScript отображать видео на полный экран и проблема защиты содержимого. Хулу также не принял HTML5 video из-за отсутствия функций для обеспечения пользователя адаптивным битрейтом для видео, «защиты» контента и предоставления рекламодателям данных.[63] Netflix заявил, что есть много проблем, которые мешают ему использовать HTML5 video: приемлемые контейнерные A/V форматы; допустимые аудио и видео кодер-декодеры, потоковый протокол, метод для потокового протокола, чтобы адаптировать его к доступным диапазонам частот, метод для передачи информации о доступных потоках и другие параметры для модуля воспроизведения потока данных; метод поддержки защищенных данных; и метод отображения всей этой функциональности в HTML5.[60][64]
11 января 2011 года Google's Chromium Project объявил в своем блоге, что поддержка закрытых кодер-декодеров(например, H.264) будет удалена из будущих версий Chrome-а. В объявлении Chromium особенно выделялось то, что эта ликвидация была попыткой увеличить популярность использования HTML5 и тега <video>
без необходимости лицензирования патентованных технологий, стимулируя всю сеть принять общедоступный кодер-декодер для VP8 и Theora.
Внесённое в W3C предложение добавить в HTML5 API для DRM было встречено крайне негативно теми, кто считает одним из основных свойств веб-стандартов типа HTML, и преимуществ их перед плагинами, открытость или отсутствие требований использования программного или аппаратного обеспечения от определённого поставщика (как на стороне клиента, так и на стороне сервера).[65][66][67][68]
В «живом стандарте HTML», развиваемом WHATWG, планов о добавлении DRM не появилось.[69]
В январе 2014 года к W3C присоединилась Американская ассоциация кинокомпаний (MPAA), поддерживавшая такие законопроекты как SOPA, который вызвал протесты в Интернете;[70] в W3C есть и другие сторонники ограничения работы пользовательских браузеров, букмарклетов и плагинов.[71]
((cite mailing list))
: Проверьте значение даты: |date=
(справка)
((cite mailing list))
: Проверьте значение даты: |date=
(справка)
((cite mailing list))
: Проверьте значение даты: |date=
(справка)
((cite mailing list))
: Проверьте значение даты: |date=
(справка)
((citation))
: Проверьте значение даты: |date=
(справка) Источник . Дата обращения: 20 августа 2011. Архивировано 14 мая 2015 года.
((citation))
: Проверьте значение даты: |date=
(справка) Источник . Дата обращения: 20 августа 2011. Архивировано 7 сентября 2012 года.
((citation))
: Проверьте значение даты: |date=
(справка) Источник . Дата обращения: 20 августа 2011. Архивировано 4 марта 2010 года.
((citation))
: Проверьте значение даты: |date=
(справка) Источник . Дата обращения: 21 августа 2011. Архивировано 28 февраля 2021 года.
((citation))
: Проверьте значение даты: |date=
(справка) Источник . Дата обращения: 21 августа 2011. Архивировано 22 мая 2010 года.
((citation))
: Проверьте значение даты: |date=
(справка) Источник . Дата обращения: 21 августа 2011. Архивировано 11 мая 2010 года.
((citation))
: Проверьте значение даты: |date=
(справка) Источник . Дата обращения: 21 августа 2011. Архивировано 25 января 2016 года.
((citation))
: Проверьте значение даты: |date=
(справка) Источник . Дата обращения: 21 августа 2011. Архивировано 21 июня 2011 года.
((citation))
: Проверьте значение даты: |date=
(справка) Источник . Дата обращения: 21 августа 2011. Архивировано 14 марта 2012 года.
((citation))
: Проверьте значение даты: |date=
(справка) Источник . Дата обращения: 21 августа 2011. Архивировано 4 сентября 2021 года.
((citation))
: Проверьте значение даты: |date=
(справка) Источник . Дата обращения: 21 августа 2011. Архивировано 4 января 2010 года.
((citation))
: Проверьте значение даты: |date=
(справка) Источник . Дата обращения: 21 августа 2011. Архивировано 21 марта 2011 года.
((citation))
: Проверьте значение даты: |date=
(справка) Источник . Дата обращения: 21 августа 2011. Архивировано 5 апреля 2011 года.