Главная -> Статьи о HTML5 -> Flash и HTML5 тег video

Flash и HTML5 тег video

Было много споров о том, заменит ли HTML5 тег <video> платформу Flash для воспроизведения видео в интернете. Мы позаботились о внедрении HTML5 в наш сервис, и теперь большинство видео на YouTube Вы можете посмотреть через наш HTML5 плеер. Этот опыт показал нам, что хотя создание тега <video> сделало большой шаг к открытым технологиям, платформа Adobe Flash все равно будет играть критическую роль в распространении видео.

Важно понять, что нужно таким сайтам как YouTube от браузеров для обеспечения комфортной работы с сервисом как зрителям так и владельцам контента. Нам нужно не просто указать браузеру на видео файл подобно тому как мы делаем это с изображением в теге img - нужно гораздо большее чем просто доставка и воспроизведение видео. Тег <video>, несомненно, дает простейший способ воспроизведения видео, однако он пока не удовлетворяет всем требованиям сервиса YouTube:

Стандартный формат видео

Во-первых, нам нужно чтобы все браузеры поддерживали какой-то стандартный формат видео. Пользователи загружают ежеминутно видео общей длительностью 24 часа, поэтому нам нужно сократить количество поддерживаемых форматов. Особенно если вы обратите внимание, что для каждого формата мы поддерживаем разные размеры видео (360p, 480p, 720p, 1080p). Мы перекодируем загружаемое на YouTube видео в H.264 с начала 2007 года, который мы используем как для Flash Player так и для мобильных устройств таких как iPhone и Android-совместимых телефонах. Это позволяет нам быстро и легко запустить проигрыватель HTML5 на устройствах, которые поддерживают H.264, например Chrome или Safari.

Проблемы с лицензированием повлияли на поддержку H.264 некоторыми браузерами, это в свою очередь повлияло на невозможность включения поддержки этого формата в спецификацию HTML5 как стандартного кодека. Нам кажется что нужно создать какой-то открытый видео формат. Такой, который поможет не только решить проблему с лицензированием, но и будет оптимизирован под трансляцию видео в интернет. Для этого мы решили создать новый проект Web Media (WebM). Google поспособствовал разработке открытого кодека VP8 для нужд WebM. Google, Mozilla и Opera пообещали поддержать WebM, поэтому мы уже начали перекодировать YouTube видео в этот формат. То же пообещала и Adobe - она включит поддержку VP8 в следующем релизе Flash Player.

Надежная доставка видео браузеру

Также стандартному формату очень важно иметь эффективный и надежный способ доставки видео браузеру. Простого указания URL видео недостаточно - это не позволяет пользователю переключиться сразу на нужный фрагмент. Когда мы стали транслировать полнометражные фильмы и делать трансляции событий в реальном времени, нам было необходимо иметь возможность управлять буферизацией, а также динамически контролировать качество видео. Flash Player обеспечивает это с помощью ActionScript и протоколов HTTP или RTMP, которые позволяют приложениям контролировать скачивание и воспроизведение видео. Стандарт HTML5 как таковой не поддерживает протоколов вещания видео, однако есть несколько организаций, которые работают над тем, чтобы улучшить эту ситуацию и позволить транслировать видео через HTTP. Мы начали взаимодействовать с ними и надеемся в будущем получить единый стандарт вещания.

Защита контента

YouTube не владеет видеороликами, которые вы смотрите - их владельцами являются люди, которые их загрузили, и именно они решают как их ролики будут распространяться через YouTube. В магазине YouTube для гарантии того, что видео наших пользователей не будет украдено, требуется защищенный протокол доставки видео, такой как RTMPE у Flash платформы. Без защиты контента мы не сможем предлагать видео напрокат.

Вложения и инкапсуляция

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

Полноэкранное видео

HD видео было создано для проигрывания в полноэкранном режиме, однако исторически это было невозможно реализовать на чистом HTML. У большинства браузеров есть возможность переключения в полноэкранный режим, однако они не дают ни возможности javascript инициализировать его, ни позволяют расширять маленькую часть страницы (например видеоплеер) на весь экран. Хотя webkit недавно сделал несколько шагов в сторону поддержки полноэкранного режима, этого все же недостаточно для воспроизведения видео (например возможности отображать контент поверх видео пока нет).

Доступ к веб-камере и микрофону

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

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