05-06-2023
HTML5 video – это элемент, включенный в проект спецификации HTML 5, который используется для воспроизведения видеозаписей,[1] частично заменяя элемент <object>.
Adobe Flash Player широко использовался для того, чтобы заливать содержимое видео файлов на сайты (например, YouTube). Flash Player доступен в качестве плагина для большинства веб-браузеров последних версий (таких как Mozilla Firefox, SeaMonkey, Opera и Safari), и не совместим, например, со встроенными браузерами iPod и iPhone от Apple, а также с Android версии 2.01 или меньше. Google Chrome не нуждается в данном плагине с тех пор, как Google добавил плеер в браузер.[2] Создатели 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. Пользовательские агенты свободно поддерживают любой видео формат, который считают соответствующим.
Рабочая группа HTML 5 считает, что желательно определить по крайней мере один видео формат, который бы поддерживался всеми браузерами. Идеальный формат в этом отношении должен:
Изначально, Ogg Theora был рекомендуемым стандартом для HTML 5, потому что он не был затронут никакими известными патентами. Но 10 Декабря 2010 года спецификация HTML 5 была подкорректирована,[3] изменились ссылки на конкретные форматы:
Браузеры должны поддерживать Theora video и Vorbis audio также, как и контейнерный формат Ogg. |
с дополнением[4]:
Было бы очень полезно для функциональной совместимости, если бы все браузеры смогли поддерживать один кодер-декодер. Но не существует ни одного такого кодер-декодера, который бы удовлетворял всех: нам нужен такой кодер-декодер, который, как известно, не требует лицензирования, который совместим с современной развивающейся моделью, который имеет достаточно качеств, чтобы быть пригодным, и который не станет подводным камнем для крупных компаний. Это текущая проблема, и эта часть будет еще доработана.[5] |
Хотя Theora не затронута известными патентами, такие компании как Apple[6] и Nokia опасаются неизвестных патентов, чьи собственники могли бы ждать корпорацию с финансовыми ресурсами, чтобы предъявить иск по использованию данного формата.[7][8] Такие не запатентованные форматы, как H.264, также могли бы использоваться в принципе, но они широко известны и по-этому предполагается, что любой потент-собственник уже может намереваться их занять. Apple также возражает против требования о поддержке формата Ogg в HTML 5 на тех основаниях, что некоторым приспособлениям поддерживать другие форматы намного легче и что HTML ни разу за всю историю его существования не требовал особые форматы для чего-либо.[8]
Некоторые веб-разработчики раскритиковали удаление Ogg-форматов из спецификации.[9][10][11] Последующее обсуждение также произошло и в FAQ блоге W3C.[12]
H.264/MPEG-4 AVC широко используем и обладает хорошей скоростью, сжатием, декодером для аппаратных средств, но он уже запатентован.[13] Кроме особых случаев пользователям H.264 приходится платить за лицензию MPEG LA - группе патентов-собственников, включая Apple и Microsoft.[14] В итоге решили, что нет необходимости в кодер-декодере по умолчанию.
Приобретение Google-ом On2 происходит в результате выпуска формата VP8, который является бесплатным открытым стандартом, и создания WebM Project, который соединяет VP8 video с Vorbis audio в контейнер Matroska. Выпуск VP8 был также поддержан Free Software Foundation.[15]
Когда Google объявил в январе 2011 года, что это закончило бы поддержку H.264 в Chrome-e, критика пришла от многих, включая Питера Брайта из Ars Technica[16] и веб «проповедника» Тима Снита из Microsoft, которые заявили, что раньше объявят эсперанто официальным языком Соединенных Штатов, чем Google продвинется в этом деле.[17]. Однако Говард Моен из Opera Software сильно раскритиковал статью Ars Technica[18] , и Google ответила на реакцию, объяснив свое решение тем, что они намерены продвигать WebM и их проекты на основе их открытости.
Значения показывают уровень поддержки в самых последних версиях разметка или(если известен номер версии) в указанной версии. Номер версии без каких-либо других значений указывает на версию, с которой впервые полностью поддерживаются все необходимые свойства для разметки.
Значение | Описание |
---|---|
Yes | показывает, что разметка полностью поддерживает данное свойство/элемент, когда используются правильные значения |
No | показывает, что свойство/элемент полностью игнорируется |
Partial | показывает, что свойство/элемент понято, но не все его значения поддерживаются. Поддерживаемые значения выполняются правильно. |
Incorrect | показывает, что свойство/элемент понято, но работает правильно не во всех случаях. |
Experimental | показывает, что свойство/элемент понято, но поддерживается под другим именем. Может быть незавершенным или глючным |
Dropped | показывает, что свойство/элемент больше не поддерживается |
Nightly build | показывает, что свойство/элемент поддерживается в некоторой степени в экспериментальной/ночной среде. Ожидается поддержка в будущем. |
Depends | показывает, что свойство/элемент поддерживается только на определенных платформах или если сконфигурированы определенные условия. |
Эта таблица показывает, какие видео-форматы вероятно будут поддерживаться указанным браузером. Большинство браузеров, представленных здесь, используют multimedia framework для раскодирования и отображения видео-файла вместо того, чтобы включить такие компоненты в программное обеспечение. Как правило невозможно перечислить все форматы, которые поддерживает multimedia framework без их запроса, так как все зависит от операционной система и типа кодер-декодера.[19] В таких случаях поддерживаемый видео-формат является атрибутом для 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, но поддержка для Konqueror, показанная здесь, типична для GNU/Linux, где Konqueror в основном и используется. В основном поддержка браузерами формата навязана конфликтующими интересами производителей, в особенности Media Foundation и QuickTime поддерживают коммерческие стандарты, тогда как Gstreamer и Phonon не могут законно ничего поддерживать, кроме бесплатных форматов по умолчанию на бесплатных операционных системах, для которых они созданы.
Браузер | Последняя стабильная версия | Форматы, поддерживаемые различными веб браузерами | |||
---|---|---|---|---|---|
Ogg Theora | H.264 | VP8 (WebM) | Others | ||
Internet Explorer | 9.0 (14 Марта 2011 года) | Manual install[note 2] | 9.0[23] | Manual install[note 3][note 4] | Нет[26] |
Mozilla Firefox[27] | 6.0 (16 Августа 2011 года | 3.5[28] | Нет[note 5] | 4.0[30][31] | Нет |
Google Chrome | 13.0.782.112 (9 Августа 2011 года) | 3.0[32][33] | Да[34] (to be removed)[35] | 6.0[36][37] | Нет[38] |
Chromium | x | r18297[39] | Нет[40] | r47759[41] | Нет[38] |
Safari | 5.1 (20 Июля 2011 года) | Manual install[note 6] | 3.1[42][43] | Manual install[44] | Depends[note 7] |
Opera | 11.50 (Build 1074) (28 Июня 2011 года) | 10.50[46] | Нет | 10.60[47][48] | Нет |
Konqueror | 4.7 (27 Июля 2011 года) | 4.4[49] | Depends[note 8] | Да[51] | Depends[note 8] |
Epiphany | 3.0.4 (1 Июля 2011 года) | 2.28[52] | Depends[note 9] | Depends[note 9][53] | Depends[note 9] |
С Апреля 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 особенно выделялось то, что эта ликвидация была попыткой увеличить популярность использования не лицензионного HTML 5 и тега <video>
, стимулируя всю сеть принять общедоступный кодер-декодер для VP8 и Theora.
Стандарты Консорциума Всемирной паутины | |
---|---|
Рекомендации |
Canonical XML • CDF • CSS • DOM • Geolocation API • HTML • ITS • MathML • OWL • P3P • PLS • RDF (Schema) • SISR • SKOS • SMIL • SOAP • SRGS • SSML • SVG • SPARQL • Timed Text • VoiceXML • WSDL • XForms • XHTML • XHTML+RDFa • XInclude • XLink • XML (Base • Encryption • Events • Information Set • namespace • Schema • Signature) • XPath / 1.0 / 2.0 • XPointer • XProc • XQuery • XSL • XSL-FO • XSLT (элементы) • XUP |
Примечания | |
Рабочие проекты |
CCXML • CURIE • HTML5 • InkML • RIF • SCXML • SMIL Timesheets • sXBL • WICD • XFDL • XFrames • XBL • XHTML+MathML+SVG • XMLHttpRequest |
Guidelines | |
Initiative | |
Deprecated | |
Организации | |
ПО |
Agora • Argo • Arena • Amaya • CERN httpd • Libwww • Line Mode Browser |
Конференции |
HTML5 video.