Видео как элемент оформления

Эффектный прием расположения видео-контента на задний фон появился сравнительно недавно. Возможности HTML5 позволяют это сделать элегантно и просто.

Давайте рассмотрим, как это реализовать, на примере сайта — победителя Рейтинга Рунета — www.fj-climate.com.

fj1

Видео  вставлено через тег <video>:

<video width="100%"  autoplay loop controls id="video-player" muted="true">

            <source src="video.mp4" type="video/mp4" title="mp4">

            <source src="video.webm" type="video/webm" title="webm">

            <source src="video.ogv" type="video/ogg" title="ogg">

</video>

Параметры:

autoplay - автостарт

controls - показывать панель управления

loop - показывать в цикле

Для каждого типа браузера необходимо указать видео в нужном формате.
Таблица совместимости:

MP4 WebM Ogg
IE да нет нет
Chrome да да да
FF да да да
Safari да нет нет
Opera нет да да

В теории все кажется просто, но на деле возникают трудности.

Первое, с чем можно столкнуться — неправильный MIME type в заголовках Content-Type на сервере. В случае с Apache проблема решается правой .htaccess:

AddType video/ogg .ogv

AddType video/mp4 .mp4

AddType video/webm .webm 

Вторая проблема возникнет вследствие потоковой передачи файлов видео.

Например, возьмем Chrome.  При загрузке страницы сервер будет отдавать видеофайл со статусом 206:

fj2

А значит, по умолчанию будет загружена первая часть видео, без полной предварительной загрузки. Поскольку фактический файл не загрузился, он не начнет воспроизведение, указанное атрибутом autoplay.

Решается данная проблема с помощью javascript. Например, с помощью библиотеки mediaelementjs, которая запустит видео:

<script>

$('video').mediaelementplayer({

            success: function(media, node, player) {

                        $('#' + node.id + '-mode').html('mode: ' + media.pluginType);

            }

});

</script>

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


Координационный
совет SPECIA
Санкт-Петербург,
8-я Красноармейская ул., д.10