Видео в HTML5

Видео в HTML5 — это новейший стандарт добавления видео на веб-страницу.  Причем размещение происходит м оригинальным интерфейсом и без привлечения подключаемых модулей. Видео на страницу добавляется при помощи тега <video>, а стилизовать внешний вид плеера можно при помощи css стилей.

Элемент <video>

Общий вид кода для добавления видео выгляди следующим образом:

<video src="video.ogv" controls></video>

Атрибут controls отвечает за элементы управления плеером. Кроме этого есть еще атрибут poster который будет выводить изображение пока идет загрузка видео, или пока пользователь не ажмет кнопку воспроизведения.

Так же как и с аудио, при добавлении видео следует перечислять все форматы в <source>, начинать перечисление следует с более предпочтительного. Стоит не забывать указывать MIME-тип для каждого видеофайла.

<video controls width="400" height="300">
  <source src="video.mp4" type="video/mp4"><!-- MP4 для Safari, IE9, iPhone, iPad, Android, и Windows Phone 7 -->
  <source src="video.webm" type="video/webm"><!-- WebM/VP8 для Firefox4, Opera, и Chrome -->
  <source src="video.ogv" type="video/ogg"><!-- Ogg/Vorbis для старых версий браузеров Firefox и Opera -->
  <object data="video.swf" type="application/x-shockwave-flash"><!-- добавляем видеоконтент для устаревших браузеров, в которых нет поддержки элемента video -->
    <param name="movie" value="video.swf">
  </object>
</video>

Атрибуты тега <video>

  • autoplay — позволяет включить автоматическое воспроизведение видео сразу после заргузки страницы;
  • controls — атрибут указывает браузеру что нужно отобразить элементы управления видео;
  • height — задает высоту окна для отображения видео, принимает в качестве значений пиксели и проценты;
  • loop — зацикливает воспроизведения видеофайла;
  • muted — отключение звука при воспроизведении видео;
  • poster — в качестве значения принимает адрес изображения которое будет отображаться во время загрузки видео или до того момента пока пользователь не нажмет play. Если птрибут не задан то будет отображаться первый кадр из видео;
  • preload — отвеает за предварительную загрузку видео. Не является обязательным и некоторые браузеры игнорируют его. Возможные значения: auto — браузер загружает файл полностью, чтобы он был доступен, когда пользователь начнет воспроизведение, metadate — браузер загружает небольшую часть видео для определения его основных характеристик, none — отсутствие автоматической загрузки видео;
  • src — содержит абсолютный или относительный адрес видеофайла;
  • width — позволяет установить ширину окна для отображения видеоданных, принимает в качестве значений пиксели или проценты.

Видеокодеки и форматы видео

Поскольку каждый браузер использует поддерживает определенный кодек, нужно обеспечить максимальное воспроизведение видео во всех браузерах. Именно поэтому видеофайл нужно размещать в нескольких форматах.

H.264 — кодек от фирмы MPEG, разделяется на профили для поддержки как устройств с минимальными возможностями, так и устройств высокого разрешения.

Ogg Theora — открытый и бесплатный стандарт для видео, качество и производительность немного ниже стандарта H.264.

VP8 — открытый и бесплатный кодек схожий по качеству с Hю264. Поддерживатеся в Firefox, Chrome, Opera.

По сути видеофайл является контейнером, в котором хранятся другие файлы. К наиболее распространенным и популярным форматам видео относят:

  • Ogg
  • MPEG 4
  • WebM
  • Audio Video Interleave
  • Matroska

На сегодняшний день браузеры поддерживают всего три основных формата видео файлов:

  • mp4 — видеокодек: H.264, аудиокодек: AAC;
  • ogg — видеокодек: Theora, аудиокодек Vorbis;
  • webm — видеокодек: VP8, аудиокодек: Vorbis.

HTML5 не воспроизводит видео в формате AVI. Его следует перекодировать в один из трех форматов.

Добавление субтитров и заголовков

Элемент <track> используется в качестве дочернего элемента <audio> и <video>. Он позволяет добавить текстовую дорожку для субтитров, заголовков медиафайлов или другой текстовой информации, которая должна быть видна во время воспроизведения медиа-ресурсов.

Атрибуты тега <track>
  • default -указывает, что данная дорожка воспроизводится по умолчанию. Данный атрибут может содержать только один элемент <track>;
  • kind — указывает тип текстовой дорожки. По умолчанию принимает значение subtitles (выводятся субтитры). Может принимать значения: captions — перевод диалогов и звуковых эффектов, отображается в виде текста (для глухих пользователей); chapters — добавляет название глав в виде списка, используется для навигации по медиафайлу; descriptions — добавление звукового описания происходящего в видео (используется для невидящих пользователей);  metadata — метаданные, не отображаются для пользователей, используются скриптами; subtitles — текстовое дублирование звуковой дорожки в видео, отображаются в виде субтитров;
  • label — позволяет добавить название дорожки. Если даный атрибут отсутствует то браузер применит значение по умолчанию;
  • src — содержит относительный или абсолютный путь к аудио или видео;
  • srclang — указывает язык воспроизводимой дорожки.

Пример размещения видео

<video controls width="710" height="538" poster="/examples/media/martynko.png" preload="none">
  <source src="/examples/media/martynko.mp4" type="video/mp4">
  <source src="/examples/media/martynko.webm" type="video/webm">
  <source src="/examples/media/martynko.ogv" type="video/ogg">
</video>