Форматы html5. Получение скриншота проигрываемого видео. Убираем этот плеер в Firefox

Cообщить об ошибке


  • Битая ссылка на скачивание Файл не соответствует описанию Прочее
  • Отправить сообщение

    HTML5 Video Player – приложение, предназначенное для конвертации видео файлов в формат HTML5. Созданные видеоролики могут быть размещены на страницах веб-сайтов. В качестве исходного материала можно использовать любой видео формат.

    Программа способна не только конвертировать видео, но и редактировать его (переворачивать, обрезать). Перед сохранением результата можно запустить готовое видео в режиме предпросмотра. Следует отметить, что приложение позволяет выбрать «скин» проигрывателя, который будет интегрирован в браузер.

    Основные возможности

    • Конвертация нескольких файлов;
    • Работа со всеми популярными видеоформатами;
    • Отключение ПК после окончания процесса преобразования;
    • Возможность выбора каталога для сохранения результата;
    • Предпросмотр измененного видео;
    • Возможность настройки внешнего вида проигрывателя;
    • Настройка качества конвертируемого видео файла;
    • Возможность обрезки ролика;
    • Совместимость со всеми популярными браузерами.

    Преимущества

    Приложение html5 video player появилось не так давно, но уже успело завоевать популярность, благодаря своим преимуществам. Главным достоинством программки можно считать то, что она способна работать со всеми популярными видео форматами. Это значит, что на свой сайт можно «залить» любой фильм (ролик).

    Еще одним преимуществом можно считать совместимость с браузером Internet Explorer, Safari, Opera, Google Chrome, а также Firefox. При этом вы можете перед сохранением файла проверить, как он будет воспроизводиться в том или ином интернет-обозревателе.

    Проигрыватель html5 является кроссплатформенным приложением. Его можно установить не только на ПК, который управляется ОС Windows, но и на мобильные устройства Android и iOS. Таким образом, публиковать видео возможно сразу с телефона.

    Скачать html5 video player можно совершенно бесплатно. При этом на сайте разработчика имеется русскоязычная версия плеера. Благодаря этому пользователям будет проще разобраться с работой программки.

    Благодаря html5 видео, загружаемое на веб-сайты можно просматривать без установки Flash Player. Поэтому программу можно встретить в списке самых скачиваемых плееров. В качестве дополнения, разработчики предоставляют возможность пользователям изменять внешний вид проигрывателя на сайте.

    Недостатки

    Что касается недостатков html5 video player, то он всего один. Конвертируемые файлы оптимизированы только под web-стандарт. Это значит, что видео html5 будет неудобно смотреть локально. В остальном недостатков у программки не обнаружено.

    Следует заметить, что эта программа будет интересна только владельцам сайтов и web-мастерам. Для обычного пользователя, видеоплеер не представляет ценности.

    Как скачать плеер

    Чтобы скачать видеоплеер, необходимо посетить веб-сайт разработчика. Для этого требуется перейти по следующему URL-адресу: «https://www.dvdvideosoft.com/». Чтобы было удобнее пользоваться сайтом, рекомендуется сменить язык. Это можно сделать, кликнув по флажку, расположенном в правом верхнем углу. После чего необходимо выбрать русский язык.

    Когда интернет-ресурс будет русифицирован, нужно кликнуть по ссылке «Скачать». Сразу после этого откроется страница со всеми доступными продуктами. Чтобы загрузить проигрыватель, следует опуститься до раздела «Другие программы».

    На следующем шаге, необходимо кликнуть по названию конвертера. Открывшаяся станица демонстрирует информацию о проигрывателе. Чтобы загрузить программу, требуется опуститься в самый низ веб-страницы, а затем кликнуть по кнопке «Скачать». Теперь остается только установить программный продукт.

    Принцип работы

    Когда программа загрузится, вы увидите русскоязычный, интуитивно понятный интерфейс. При помощи навигационной панели вы можете:

    • Добавить файлы;
    • Указать выходное имя;
    • Удалить файл;
    • Настроить плеер.

    После того как файл для конвертировании будет выбран, рекомендуется указать каталог в который сохранится готовый результат. Также необходимо задать формат конвертируемого видео.

    Чтобы ознакомиться с результатом, требуется установить галку напротив пункта «Показать HTML…». Для преобразования фалов, нужно кликнуть по кнопке «Конвертировать».

    Следует отметить, что имеется возможность изменить настройки самой программы, для этого нужно нажать на кнопку «Опции…».

    Заключение

    Веб-мастера занимающиеся сайтостроением, должны понимать принцип работы html5. Так как сайты с Flash анимацией (видео) уходят на второй план, поэтому без видеоплеера-конвертера не обойтись. С управлением проигрывателя справится даже начинающий пользователь. Важно отметить, что существуют и платные аналоги, способные конвертировать html5 видео. При необходимости можно воспользоваться ими.

    Видео обзор проигрывателя HTML5

    ХТМЛ – это язык разметки веб-страниц, по сути он отвечает за правильное отображение всех элементов на странице. Постепенно выпускаются новые спецификации языка, последней является пятая версия, которая принесла упразднение старых и внедрение новых тегов и функций. C HTML5 Yandex браузер стал поддерживать проигрывание видео через собственный Video Player, который не требует установку других плагинов, вроде Adobe Flash Player. Встроенный функционал языка позволяет воспроизвести любой фильм на сайте, поддерживающий HTML5.

    При отсутствии HTML5 для браузера Яндекс для воспроизведения видео и части музыки приходилось пользоваться Flash Player. Получалась ситуация, при которой стандартными средствами браузера невозможно было прослушать музыку. Наибольший приток пользователей к Flash был спровоцирован появлением крупнейшего видеохостинга YouTube. Со временем другие крупные компании, например, Apple, стали использовать его для обработки видео.

    Прирост пользователей продолжался долгое время, сразу после выхода HTML 4.01 наблюдался большой скачок популярности. Отток произошёл лишь после выпуска новой спецификации HTML5, которая впервые появилась в 2012 году, но полноценный запуск произошёл в 2014 году.

    К переходу на HTML5 видео проигрыватель подталкивает несколько основных недостатков плагина от Adobe:

    • Необходимость дополнительно устанавливать в систему. Со временем его добавили в Google Chrome по умолчанию;
    • Низкая скорость работы и частые перебои в загрузке;
    • Плохая стабильность работы, нередко появлялись сбои, конфликты, часто приходилось перезагружать страницу.

    Преимущества HTML5 в сравнении с Adobe Flash Player

    Технологии по своей сути отличаются, но предназначаются для одних и тех же задач. Для пользователей и разработчиков новый стандарт ХТМЛ5 принёс массу преимуществ:

    • Открытый код. Программист самостоятельно может доработать код. Полезно для повышения безопасности бизнес-ресурсов и приложений;
    • Быстрое развитие. Разработкой занимается продвинутая компания W3C, которая черпает хорошие идеи у пользователей, дорабатывающих стандарт;
    • Совместимость с большинством платформ. Flash Player не поддерживается на Android до 2.01 и 4.1х и более новые варианты, также плагин несовместим с iPhone и iPod. Для работы нового проигрывателя требуется иметь относительно новую версию Yandex browser;
    • Энергоэффективная технология. Видео плеер HTML5 потребляет значительно меньше ресурсов процессора, соответственно, экономит заряд, что важно для любого мобильного телефона.

    Что такое HTML5 Video Player для браузера Яндекс?

    HTML5 Video Player является программой, предназначенной для конвертирования видеофайлов в формате HTML5. Дополнительно через приложение можно смотреть видео, но такой необходимости не возникает с современными возможностями Яндекс обозревателя. В программу можно загрузить любой файл распространённых видео форматов: mp4, AVI, MKV.

    После обработки файла он будет пригоден для загрузки на сервер, функция публикации уже встроена в программу. До заливки на сервер видео можно просмотреть в браузере. Загрузить программу лучше с официального сайта .

    Некоторые пользователи жалуются, что приложение не работает, закрываясь сразу после загрузки в неё файла. Устранить проблему помогает переустановка или отключение антивируса. Чтобы не заниматься поиском причин неисправности, лучше воспользоваться аналогичной программой — Free HTML5 Video Player.

    Процесс использования обеих приложений аналогичен:


    Чтобы вставить ролик на сайт, достаточно скопировать JavaScript код со страницы в браузере, которая открылась после конвертации, и вставить в блок для видео на веб-ресурсе.

    Как посмотреть HTML5 Video в Яндекс браузере

    На самом деле никаких особых методик для просмотра видео в интернет формате HTML5 не потребуется. Чтобы начать просмотр, достаточно перейти на видео и браузер всё сделает самостоятельно. Воспроизвести видео на YouTube и многих других сервисах не составляет труда, сегодня этот видеохостинг работает исключительно с форматом ХТМЛ5, только для устаревших обозревателей происходит автоматическое переключение на старый Flash Player.

    Иногда не получается просмотреть видео в формате HTML5 при наличии ошибок. Технология относится к относительно стабильным способам просмотра визуального контента и звука, но периодические провоцирует ошибки:


    Иногда помогает обновление Яндекс обозревателя:


    Для рядового пользователя просмотреть видео в HTML не составляет сложности, но важно наличие поддержки формата со стороны сервиса. Известная социальная сеть Facebook не работает с HTML5, но есть способ открыть эту возможность посредством расширения HTML5 Video Player, его можно скачать по ссылке .

    ХТМЛ 5 – это общедоступный формат, который поддерживается всеми современными браузерами, его не нужно отдельно устанавливать. С помощью программы HTML5 Video Player для Яндекс браузера можно посмотреть, загрузить видео и преобразовать различные форматы в ХТМЛ5, сделав их доступными для онлайн просмотра.

    1. Plyr.io

    Простой и гибкий плеер для сайта, который поддерживает YouTube-видео . Он популярен среди профессионалов и новичков благодаря своему простому дизайну, и позволяет плавно обрабатывать даже большие видеофайлы.

    Ключевые особенности:

    • Полная поддержка экранных дикторов и VTT ;
    • Гибко настраиваемая платформа, которая позволяет пользователям изменять внешний вид по своему выбору;
    • Широкий спектр инструментов для обработки и редактирования;
    • Адаптивный дизайн с функцией полноэкранного режима.

    2. Videojs

    Еще один плеер, который разработан с использованием HTML5 . Video.js поддерживает Flash-видео , HTML5 , Vimeo и YouTube . Можно наслаждаться воспроизведением видео с помощью Videojs на мобильных устройствах и настольных компьютерах. Этот видеоплеер был запущен в 2010 году и в настоящее время используется более чем на 200 000 сайтов.

    Ключевые особенности этого плеера для сайта HTML5 :

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


    3. YouTube

    Недавно YouTube перешел на использование нового видеоплеера, созданного на базе HTML5 . Теперь не нужно беспокоиться о кодировании видео. YouTube позволяет воспроизводить видео в любом браузере. Но для доступа к этому инструменту нужно создать учетную запись YouTube . Также необходимо учитывать, что видео автоматически удаляются, если они нарушают любое из положений политики YouTube .

    Ключевые особенности:

    • YouTube прост в использовании;
    • Доступен бесплатно;
    • Поддерживаются все форматы и браузеры.


    4. Projekktor

    Видеоплеер с открытым исходным кодом. Projekktor был выпущен под лицензией GPLv3 , он написан с использованием JavaScript . Данная платформа обладает возможностями, достаточными для решения всех проблем, связанных с кроссбраузерной совместимостью.

    Ключевые особенности этого плеера с плейлистом для сайта:

    • Автоматическое определение лучших способов воспроизведения видео;
    • Projekktor известен благодаря впечатляющему дизайну и удобству;
    • Профессионалы считают Projekktor одним из самых надежных решений для воспроизведения видео.


    5. JPlayer

    Еще один бесплатный видеоплеер с открытым исходным кодом, для которого доступна впечатляющая медиа-библиотека, написанная на JavaScript . JPlayer известен как комплексный инструмент для разработки инновационных медиа-решений.

    Основные функции:

    • Может быть развернут в течение нескольких минут и прост в использовании;
    • Полностью настраиваемая платформа с поддержкой CSS и HTML ;
    • Не нагружает процессор.


    6. Mediaelement.js

    Это продвинутый видео и аудио-плеер на HTML5 , который поддерживает Silverlight с Flash . А также предоставляет интерфейс, который корректно отображается во всех браузерах. Плеер использует обновленные и настраиваемые инструменты Flash вместе с плагинами Silverlight , чтобы все старые и новые браузеры могли использовать один интерфейс. Не нужно создавать плеер для сайта, потому что есть Mediaelement.js .

    Основные функции:

    • Видео и аудио-плеер разработан с поддержкой CSS и HTML ;
    • Mediaelement.js соответствует различным стандартам доступности, включая WebTT .


    7. Afterglowplayer

    Плеер поддерживает управление всеми элементами видео.

    Ключевые особенности:

    • Прост в настройке и использовании;
    • Поддерживает множество форматов видеофайлов;
    • Быстрое время отклика.


    Лучшие плагины HTML5-видеоплееров для WordPress

    1. Responsive Video Embeds

    Responsive video embeds содержит много интересных функций. Позволяет вставлять несколько видеороликов в одну запись и изменять размер встроенных видео в виде iFrames . Таким образом, они смогут вписываться в окна разных размеров.

    Этот продвинутый плеер для мобильного сайта в настоящее время поддерживает почти все популярные видео, размещаемые на WordPress.TV , Revision 3 , hulu.com , Scribd , Daily motion , Vimeo и YouTube и т. д. Он доступен на бесплатной основе:


    2. Video Gallery WordPress Plugin

    Этот WordPress-плагин стоит от $15 . Он не только обрабатывает галереи видео, но и может работать как галерея, в которую можно добавлять аудио, изображения и видео. Он также позволяет размещать рекламу на YouTube . Чтобы помочь профессионалам в реализации маркетинговых кампаний, этот инструмент дает возможность удалять водяные знаки и заменять их новыми логотипами. А также помогает делиться контентом в социальных сетях одним кликом мыши:


    3. Youtube Channel Gallery

    Простой в использовании бесплатный плагин со всеми основными функциями, который позволяет встраивать плейлисты YouTube на WordPress -сайты . А также создавать список миниатюр с пользовательскими настройками канала. С помощью простых элементов управления можно персонализировать через галерею каналов YouTube все, начиная от соотношения сторон окна плеера для сайта, качества видео и продолжая типом видеопотока, темы и ссылки. Поддерживаются различные настраиваемые виджеты:


    4. MediaElement.js

    Продвинутый аудио-видео HTML5-плеер , который работает с Flash Fallback . С его помощью можно получить доступ к широкому спектру ярлыков для аудио и видео. Можно использовать полноэкранный режим, так как он отлично работает в Internet Explorer и Chrome .

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

    MediaElements.js позволяет управлять множеством интерактивных функций одним кликом мыши. Он отлично подойдет для начинающих благодаря своему простому и удобному интерфейсу.

    И больше входят в жизнь каждого человека. Глобальная сеть также подвержена данной тенденции, о чем свидетельствуют успех и популярность таких сервисов как YouTube. Но работа подобных систем невозможна без технологий, позволяющих реализовать воспроизведение видео контента для пользователя.

    Классическим подходом для реализации проигрывателя видео является использование технологии Flash. Пожалуй, сложно найти более распространенный плагин для веб-браузера, чем Flash Player. Однако стоит заметить, что слабым местом подобного подхода является необходимость установки Flash plugin’а. А для многих устройств он вообще отсутствует. К примеру, настолько популярные iPhone и iPad не имеют возможности запускать Flash-приложения в браузере. Выходом из подобной ситуации является использование HTML5.

    Данный современный стандарт языка HTML принес множество нововведений. Но ключевым для нас является возможность воспроизведения видео стандартными средствами веб-браузера. Для этого в спецификацию HTML5 введен тэг

    • Autoplay — при наличии данного атрибута со значением ‘autoplay’ воспроизведение начнется сразу после того, как загрузиться достаточны объем видео.
    • Controls – значение данного атрибута, равное ‘controls’ отобразит элементы управления воспроизведением.
    • Height – высота проигрывателя в пикселах.
    • Loop данный атрибут, установленный в значение ‘loop’ заставит воспроизведение видео циклично повторяться по окончанию.
    • Muted – при значении ‘muted’ отключит звук у видео файла.
    • Poster – данный атрибут принимает url изображения, которое будет отображаться до начала воспроизведения контента.
    • Preload – атрибут определяет стратегию браузера по загрузке видео контента. Может принимать различные значения:
      • Auto’ — если загрузка видео должна начаться при загрузке страницы.
      • Metadata’ – если с загрузкой страницы должны загрузиться лишь метаданные контента.
      • None’ – если при загрузке странице не должна начинаться загрузка видео.
    • Src – данный атрибут содержит url файла с видео контентом.
    • Width — содержит значение высоты проигрывателя.

    Подводные камни и первые трудности

    К сожалению не все так просто. HTML5 – достаточно молодой стандарт. Так что первое, что стоит отметить — ограниченную поддержку браузерами. Использование тега

    • IE 9+
    • Firefox 4.0+
    • Chrome 6+
    • Safari 5+
    • Opera 10.6+

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

    Браузер Форматы
    Ogg Theora H.264 VP8 (WebM)
    Internet Explorer Требует установки расширения 9.0 Требует установки расширения
    Mozilla Firefox 3.5 Нет 4.0
    Google Chrome 3.0 Да 6.0
    Safari Требует установки расширения 3.1 Требует установки расширения
    Opera 10.50 Нет 10.60

    Существует механизм для кроссбраузерного воспроизведения. Он заключается в добавлении внутрь

    Обратите внимание, что в разных браузерах элементы управления воспроизведением будут выглядеть по-разному. Поэтому для унификации необходимо разрабатывать собственный интерфейс проигрывателя. Идея крайне проста: элементы управления представляют собой div’ы, спозиционированные поверх контейнера с видео.

    Стоит заметить, что разные браузеры могут иметь различное поведение при работе с HTML5 video. Например на iOS устройствах невозможен автостарт воспроизведения .

    Также отсутствует возможность каким-любо образом управлять размером видео буфера . Определить размер проигрываемого файла также не выйдет, равно как и скорость загрузки.

    Начало работы

    В стандарте HTML5 у элементов мультимедиа существует мощный API, позволяющий не только разработать единый интерфейс проигрывателя, но и реализовать дополнительный функционал. В качестве инструмента для работы с HTML5 Media API выступает JavaScript.

    Допустим на странице существует следующий контейнер с видео:

    Для начала работы с проигрывателем через API необходимо определить объект, содержащий контейнер с медиа-содержимым. Для этот используем JQuery селектор:

    Var player = $(‘#player’);

    Все, теперь мы готовы управлять нашим плеером через JS! Для начала воспроизведения файла и для паузы достаточно выполнить следующий код соответственно:

    Player.start(); player.pause();

    HTML5 Media API позволяет получить информацию о проигрываемом видео. Например можно производить все манипуляции с проигрываемым контентом работая с полем ‘currentSrc’ :

    Var currentSource = player.currentSrc; // получаем url проигрываемого // контента player.currentSrc = ‘path_to_new_media_source’; // заменяем контент // в проигрывателе

    Аналогично обстоит работа с функцией перемотки видео. Данный функционал реализовывается через поле ‘currentTime (принимает знaчение типа float, означает текущее время воспроизведения в секундах):

    Var currentTime = player.currentTime; // текущее значение времени // воспроизведения player.currentTime = 60 // перемотка на позицию 1 минуты

    Получить длительность проигрываемого файла можно обратившись к полю ‘duration’ . А вместе со значением текущего времени проигрывания несложно вычислить процент просмотренного контента:

    Var duration = player.duration; // длительность контента в секундах var proportion = currentTime / duration; // соотношение времени // воспроизведения к // длительности видео.

    Существует возможность управления громкостью воспроизведения через поле ‘volume’ :

    Player.volume = 1; // включаем полную громкость (для выключения // звука полю нужно присвоить значение “0”)

    На этом возможности HTML5 Media API не заканчиваются. Реализации сложных элементов управления может быть осуществлена через механизм событий. Для этого достаточно использовать функцию addEventListenter() . Например, для подписки на событие окончания воспроизведения достаточно выполнить следующее:

    Var onEndFunc = function() { // функция, вызываемая при окончании // воспроизведения // какие-то действия } player.addEventListener(‘ended’, onEndFunc); // подписываем функцию // на окончание видео player.removeEventListener(‘ended’, onEndFunc); // отписываем функции // от окончания видео

    Ниже представлены все события, существующие в HTML5 Media API.

    • o nabort – событие аварийного завершения проигрывания
    • oncanplay – событие готовности к воспроизведению видео после загрузки достаточной части в буффер
    • oncanplaythrough – событие готовности к воспроизведению после полной загрузки контента в буффер
    • ondurationchange — событие изменения длительности контента
    • onemptied – событие, вызываемое при разрыве соединения
    • onended – событие окончания воспроизведения
    • onerror — событие ошибки при загрузке файла контента
    • onloadeddata – событие загрузки контента
    • onloadedmetadata – событие загрузки метаданных.
    • o nloadstart – событие начала загрузки файла
    • onpause – событие остановки воспроизведения
    • onplay — событие начала воспроизведения
    • onplaying – событие воспроизведения (будет выполняться, пока видео не остановится)
    • onprogress – событие процесса загрузки видео (будет выполняться, пока не будет загружен весь контент)
    • onratechange – событие изменения скорости воспроизведения
    • onreadystatechange – событие изменения состояния готовности видео проигрывателя
    • onseeked – событие окончания перемотки видео
    • onseeking – событие, вызываемое при перемотке контента
    • onstalled – собтие, вызываемое при невозможности браузером получить контент
    • onsuspend – событие, вызываемое при остановке загрузки контента.
    • o ntimeupdate – событие, вызываемое при изменении текущего положения воспроизведения
    • onvolumechange – событие изменения громкости звука
    • onwaiting – событие остановки воспроизведения для буферизации данных

    С помощью данных событий можно реализовывать такие элементы видео плеера, как плейлисты, отображение субтитров, показ целевого кадра при перемотке и многие другие.

    Динамическое изменения качества видео

    Как было сказано выше, в HTML5 отсутствует инструмент для работы с размером буфера, однако Media API позволяет узнать длительность буферизованной части контента, что необходимо для отображения на полосе перемотки части, доступной к просмотру. Для этого достаточно выполнить следующий код:

    Var bufferedTime = player.buffered.end(0); // временная граница // буферизованной части

    А теперь самое интересное! Зная длительность контента в буфере можно реализовать динамическое определение качества проигрываемого контента. Для этого нужно реализовать метод, который будет оценивать скорость загрузки информации в буфер и в зависимости ее значения переключать качество видео.

    Идея анализа заключается в следующем: мы рассчитываем скорость нарастания буфера, и если она ниже, чем скорость воспроизведения, то проводим расчёт времени до полной буферизации контента и сравниваем его с оставшимся временем воспроизведения. Если время буферизации с рассчитанной скоростью больше отставшего времени проигрывания, то переключаем контент на более низкое качество.

    Var bufferAnalizer = function (playbackStartPoint, playbackEndPoint, bufferStartPoint , bufferEndPoint, duration) { var oldQualityObj = this.qualityObj, playbackStart = 0, // new playback start point bufferStart = 0; // new buffer start point if (oldQualityObj) { playbackStart = oldQualityObj.playbackEndPoint; bufferStart = oldQualityObj.bufferEndPoint; } else { playbackStart = playbackStartPoint; bufferStart = bufferStartPoint; } this.qualityObj = { "playbackEndPoint": playbackEndPoint, "bufferEndPoint": bufferEndPoint, "deltaBuffer": bufferEndPoint - bufferStart, // сколько забуферизовано "bufferSpeed": (bufferEndPoint - bufferStart) / (playbackEndPoint - playbackStart), "deltaPlayback": playbackEndPoint - playbackStart, // сколько было //воспроизведено "availTime": bufferEndPoint - playbackEndPoint // разница между буффером и // позицией воспроизведения } var restTime = duration - playbackEndPoint, bufferTime = (duration - bufferEndPoint) / this.qualityObj.bufferSpeed; if ((bufferTime > restTime) && ((this.qualityObj.availTime / this.qualityObj.deltaPlayback) < 2)) { if (this.quality == "normal") { this.quality = "low"; } } }

    Подключение субтитров

    В стандарте HTML5 существует специальный тэг для отображения субтитров, однако ни один популярный браузер на время написания статьи не поддерживает его. Тем не менее можно реализовать данный функционал руками. Пусть субтитры находятся в файле ‘subs.srt’. Для начала подключим его и занесем содержимое в специальный объект:

    Var toSeconds = function(time) { var seconds = 0.0; if (time) { var p = time.split(":"); for (var i = 0; i < p.length; i++) seconds = seconds * 60 + parseFloat(p[i].replace(",", ".")) } return seconds; } $.get(subsSrc, function (data) { data = data.replace(/\r\n\r\n/g, "").split(""); for (var item in data) { var subItem = data.split(/\r\n/g); if (subItem.length > 3) { for (var i = 3; i < subItem.length; i++) { subItem += "
    " + subItem[i]; } } var time = subItem.split(" --> "); self.subs.push({ id:subItem, sTime:self.toSeconds(time), eTime:self.toSeconds(time), text:subItem }); } }, "html");

    Теперь осталось создать таймер, который будет в зависимости от текущего времени отображать нужные субтитры в div’е с классом ‘.subs’:

    Var self = this, lastSub = "empty", currentSub; this.subsTimer = setInterval(function () { for (var item in self.subs) { var currentTime = self.player.currentTime; if ((self.subs.eTime > currentTime) && (self.subs.sTime <= currentTime)) { currentSub = self.subs.text; } else if ((self.subs.eTime < currentTime)) { // no subs now currentSub = " "; } } if (currentSub && (currentSub != lastSub)) { self.container.find(".subs").html(currentSub); lastSub = currentSub; } }, 500);

    Preview thumbnails при перемотке

    Навряд ли найдется человек, не оценивший удобство отображения кадра для перемещения при перемотке. Реализация данного функционала не является сложной задачей. Для создания preview необходимо поверх основного контейнера с видео создать новый меньшего размера с тем же видео контентом и спозиционировать его точно над курсором:

    Self.container.find(".controls").append("");

    А после перематываем в данном контейнере видео:

    Var self = this; $(".seekbar).bind("mousemove", function (e) { self.cursorX = e.pageX; self.seek(self); }); this.scale = this.container .find(".seekbar").width() / player.duration; var seek = function (context) { $(".thumb").currentTime = (self.cursorX - self.container.find(".seekbar").offset().left) / self.scale; }

    Переход в полноэкранный режим

    В браузерах Firefox, Safari и Chrome существует специальный API для работы режимом полноэкранного отображения. Механизм позволяет отобразить выбранный div на весь экран. Функции, выполняющие данные действия в этих браузерах названы по-разному, так что Вам придется реализовать вызов обоих.

    Var element = document.getElementById(‘player_container’); if (element.mozRequestFullScreen) { element.mozRequestFullScreen(); // Разворачиваем для Firefox } else if (element.webkitRequestFullScreen) { element.width("100%"); element.height("100%"); element.webkitRequestFullScreen(); // Разворачиваем для Chrome и Safari }

    Обратите внимание, что для Chrome и Safari помимо перевода контейнера в полный экран реализовано необходимо присвоить его высоте и ширине значения 100%. Это связано с тем, что вызов метода webkitRequestFullScreen() лишь затемнить весь экран и расположит по его центру целевой контейнер. Масштабирование контейнера целиком и полностью переложено на сторону разработчика.

    Факт разворачивания на полный экран контейнера моно определить состоянием полей document.mozFullScreenElement для Firefox и document.webkitIsFullScreen для браузеров на WebKit.

    Перевод контейнера обратно в режим нормального отображения возможеy функциями отмены.

    // Определяем факт полноэкранного отбражения какого-либо контейнера. if (document.mozFullScreenElement || document.webkitIsFullScreen) { if (document.mozCancelFullScreen) { document.mozCancelFullScreen(); // Сворачиваем для Mozilla } else if (document.webkitCancelFullScreen) { document.webkitCancelFullScreen(); // Сворачиваем для Chrome и Safari } }

    FullScreen API также реализует события изменения состояния отображения – ‘mozfullscreenchange’ и ‘webkitfullscreenchange’ соответственно. Выше было указанно, что масштабирование контейнера в WebKit лежит на разработчике, соответственно при возвращении к нормальному отображению также нужно изменить размеры контейнера с плеером:

    Document.addEventListener("webkitfullscreenchange", this.WebkitFullscreenEvent = function() { if (!document.webkitIsFullScreen) { self.container.width(width); self.container.height(height); } });

    Другой функционал

    Определение размера загружаемого файла.

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

    Переключение аудиодорожек

    На данный момент отсутствует реализация переключения аудио дорожек. Конечно, можно создать на странице несколько аудио плееров с дорожками, однако в таком случае синхронизация проигрывания видео и нужного аудио является крайне нетривиальной задачей.

    Получение скриншота проигрываемого видео

    Если Вам потребовалось снимать скриншот видео, то о реализации этого с использованием можно прочитать .

    Эффекты

    Приятной особенностью HTML5 Video является то, что к проигрывателю могут быть применены любые эффекты, трансформации и маски, осуществимые через CSS3. Пример подобного функционала можно посмотреть .

    HTML5 vs Flash

    Существует распространенное мнение, что HTML5 Video является своеобразным «убийцей» Flash, т.к. предлагает схожий функционал. На деле все конечно не совсем так. Для разворачивания премиум видео сервисов HTML5 не подходит, т.к. не поддерживает следующие важные особенности:

    • Потоковое видео. HTML5 подходит лишь для воспроизведения видео файлов.
    • Защита контента. В тоже время Flash предоставляет возможность использование защитных технологий.
    • Единый API и его реализация для всех браузеров.
    • Стандартный формат видео. Разные браузеры = разные форматы видео для HTML5 плеера.

    Пример реализации видео плеера

    Выводы

    Появление HTML5 принесло нам новый инструмент для доставки видео контента пользователю. Однако на данный момент в виду новизны стандарта существует ряд случаев, когда необходимо применение Flash-технологии. Решение о том, какой механизм использовать целиком и полностью должен зависеть от целей и потребностей сервиса.

    Полезные ссылки

    • Руководство для разработчика по использованию HTML5 video и audio
    • Демонстрация видео эффектов
    • Доклад о будущем HTML5

    PS

    В ближайшее время ждите статью об аналитике проигрываемого HTML5 Video.