Люди всегда вдохновлялись всем тем, что движется и издаёт звуки, так что появление видео в Интернете было лишь делом времени. На протяжении нескольких лет Flash был фактическим стандартом для просмотра видео, но теперь с появлением HTML5 элемент video
прокладывает свой путь в нашу жизнь.
Тег video
Элемент video
весьма прост:
<video src="swedish-flag.ogv"></video>
Вы также можете добавить ряд атрибутов, чтобы определить видимость элементов управления, автовоспроизведение при загрузке страницы и другие. Существующие атрибуты:
- autobuffer
- При установке этого атрибута начнётся автоматическая загрузка всего видео-файла при загрузке страницы; этот атрибут будет проигнорирован, если установлен атрибут
autoplay
. - autoplay
- Позволяет начать воспроизведение видео, как только загрузится его часть, достаточная для воспроизведения.
- controls
- Предоставляет возможность скрыть или показать элементы управления видеоплеером, которые могут выглядеть по-своему в каждом браузере.
- height
- Высота элемента.
- loop
- Позволяет установить количество циклов воспроизведения (повторов) видео.
- src
- Путь к видео-файлу.
- width
- Ширина элемента.
Таким образом, можно привести ещё один пример:
<video src="swedish-flag.ogv" controls width="320" height="240"></video>
Радует то, что веб-браузер не будет автоматически загружать весь видео-файл, а только ту его часть, которая необходима для отображения первого кадра. Кроме того, можно изменить или добавить свои собственные элементы управления, и управлять видео в HTML5 с помощью скрипта — более подробно об этом написано в статье Using audio and video in Firefox.
Разное видео для разных веб-браузеров
Всё это выглядит хорошо и даже очень; просто указываешь путь к файлу и готово! Да, так могло бы быть, но, к сожалению, всё не совсем так. Как и прежде вся проблема в видео-кодеках.
- Firefox поддерживает кодек Ogg/Theora.
- Google Chrome поддерживает кодеки H.264 и Ogg/Theora.
- Safari поддерживает кодек H.264.
- Opera будет поддерживать кодек Ogg/Theora (но пока что нет окончательного релиза этого браузера с поддержкой элемента
video
).
Поэтому единственное, что нам остается сделать, это указать различные источники видео для разных браузеров, что весьма кстати реализовано в элементе video
:
<video controls="controls"> <source src="swedish-flag.mp4"> <source src="swedish-flag.ogv"> Извините, но ваш браузер не поддерживает элемент video </video>
Видео, создаваемое в коде выше, должно воспроизводиться в Firefox, Google Chrome и Safari Mac. Вы также можете ознакомиться с демонстрацией этого примера на отдельной странице. Вместо пресловутого извинения можно также предложить версию видео для QuickTime и Flash для всех остальных браузеров.
Кодеки и лицензии
Я думаю, неплохо то, что мы можем предложить видео для каждого веб-браузера, но на настоящий момент это чересчур обременительно. Поддержка видео превратится в кошмар, поскольку нам придётся сохранять, по меньшей мере, три формата для каждого видео, чтобы иметь возможность предложить их большинству посетителей сайта. Поддержка различных кодеков объясняется тем, что Apple в своё время потратила много времени и денег на H.264, поэтому они хотят протолкнуть этот кодек, Google Chrome поддерживает Ogg/Theora, а также H.264, купив на него лицензию (это означает, что только одна версия Google Chrome, загружаемая с сайта Google имеет основания поддерживать этот кодек — а Chromium и другие нет), в то время как Mozilla (со своим Firefox'ом) и Opera считают, что свободный элемент video
должен поддерживать только открытые кодеки, а именно Ogg/Theora.
Чего мы действительно не хотим так это повторения ситуации с GIF-форматом и появления закрытых форматов, которые потребуют принятия ряда дорогих ограниченных лицензий.
И что, по-моему, ещё хуже, Google начала внедрение элемента video
на YouTube, а видео-сервис Vimeo также аннонсировал поддержку HTML5-видео. По сути, отличная новость, но при этом и большущая проблема из-за того, что два самых посещаемых видео-сайта поддерживают видео только в кодировке H.264. Это означает, что только пользователи браузеров Google Chrome и Safari (и ещё пользователи трёх IE с поддержкой Google Chrome Frame) смогут просматривать такое видео, не считаясь с огромной долей пользователей браузеров Firefox и Opera.
Что меня беспокоит по поводу H.264 (это довольно печально), так это то, что Google Chrome поддерживает также Ogg/Theora кодек — ведь они могли выбрать открытый формат, но не сделали этого. Их решение об использовании элемента video
на YouTube было очень важным, и я думаю, это большой шаг по направлению от Flash к элементам HTML5. Но пока используются кодеки с закрытыми лицензиями, по-моему, всё это напрасно.
Подводя итог
Видео стало настолько популярным на YouTube и других сайтах только благодаря тому, что оно работало при установленном Flash, независимо от веб-браузера и платформы. Если же всё снова закончится войной кодеков, тег video
никогда не приобретет популярность — так зачем же тратить наше время на создание браузерозависимых решений и выяснение лицензионных отношений. Если наступит то время, когда мы по-настоящему захотим использовать элемент video
, к этому моменту он должен стать открытым. И точка.
Категории этой статьи
Аудитория
Дата опубликования
- 2010 » 01/2010 » 01/25/2010
Опросы, близкие по теме
Комментарии
Google прав и мудр) так как H.264 самый лучший и скоро он станет свободным (исходит срок патента), так что будущее за этим кодеком ну или хз, VP8 может быть, теперь тоже гугл им занимается (типа на всякий случай, а вдруг на H.264 продлят патент).