Стандарты видеорекламы и связка OpenX + OSMF

This post is also available in: Английский


В этой статье мы подробнее раскроем тему http://bst.kiev.ua/  видеорекламы в интернете. Мы расскажем о том, какие технические стандарты в области видеорекламы являются наиболее широко используемыми, какие возможности в этой области предоставляет открытый рекламный сервер OpenX, и рассмотрим, как можно использовать средства для работы с видеорекламой, встроенные в фреймворк для разработки видео-плееров OSMF, совместно с OpenX.

Что такое VAST, какие еще бывают стандарты

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

Реклама в виде баннеров-картинок имеет долгую историю в интернете, она появилась еще в тот период развития сети, когда возможности браузеров были ограничены, поэтому рекламный код таких баннеров до сих пор представляет собой исполняемый непосредственно в браузере JavaScript-код или просто тэг iframe, внутри которого загружаются изображения или текст. У каждой баннерной сети или рекламного сервера свой собственный формат рекламного кода, и необходимости его стандартизировать никогда не возникало, так как он выполняется непосредственно браузером.

Совсем иная ситуация с видеорекламой, встраиваемой в видеоплееры. Существует огромное количество различных видеоплееров под различные платформы и технологии: Flash, HTML5, родные приложения, специальные медиа-плагины на различных мобильных и бытовых устройствах. Фактически каждый серьезный сайт, занимающийся показом видео, разрабатывает собственный плеер, а зачастую и не один. У всех этих разработок не существует общего языка, который можно было бы использовать для показа рекламы, какими в браузерах являются HTML и JavaScript, поэтому потребовалось стандартизировать рекламный код, сообщающий плееру какой рекламный ролик воспроизводить в тот или иной момент.

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

Стандарт VAST (Video Ad Serving Template, текущая версия 2.0) разрабатывается организацией Interactive Advertising Bureau, которая занимается созданием различных стандартов в интернет рекламе. VAST-шаблон представляет собой XML-документ, который запрашивается видеоплеером и содержит информацию о рекламном сообщении, которое следует показать. Стандарт поддерживает следующие виды видеорекламы: врезка — ролик воспроизводящийся до или после основного видео, или во время рекламной паузы, оверлей — рекламное сообщение в виде текста и/или картинки, отображающееся поверх основного видео без прерывания воспроизведения, и совместный баннер — реклама, которая отображается на веб-странице за пределами видеоплеера, но ее показ связан с определенными событиями, возникающими в плеере, например начало или конец врезки или переход на следующее видео по плейлисту. Шаблон также содержит URL-ы, которые плеер должен вызывать для отслеживания событий просмотра рекламного ролика, по которым затем рекламным сервером будет сформирована статистика. Отправка событий в соответсвии со стандартом согласуется с рекомендациями той же организации по измерению показателей видеорекламы. Рекламный шаблон VAST помимо непосредственно описания рекламных сообщений может также содержать отсылку на рекламное сообщение в формате VAST с другого сервера. Для добавления собственных нестандартных расширений в стандарте предусмотрен специальный тэг Extensions.

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

Другой стандарт — MAST (Media Abstract Sequencing Template). Он был разработан компанией Akamai в рамках инициативы Open Video Player специально для того, чтобы стандартизировать на уровне плеера такие аспекты, как задание последовательности показа рекламы и ее расположения. MAST спроектирован с учетом совместимости с VAST и VPAID.

MAST представляет собой XML-документ, в котором описывается сценарий того, когда и где должны быть показаны те или иные рекламные сообщения. Сама же реклама, то есть то что должно быть показано, задается средствами VAST. Это описание состоит из триггеров (то есть действий), условий их срабатывания и окончания, источников рекламы и мест показа рекламы. Формат содержимого и семантика этих элементов стандартом не задается строго и является предметом рассмотрения конкретной реализации движка MAST. Пример реализации приведен в спецификации стандарта.

Стандарт VPAID (Video Player-Ad Interface Definition) также разрабатывается организацией IAB. Он регламентирует интерфейс взаимодействия между интерактивным рекламными форматами и видеоплеером. Он призван решить проблему несовместимости между собой сложных специфических рекламных форматов и видеоплееров, разрабатываемых различными компаниями. Применять этот стандарт не обязательно, если необходимо показывать только простые форматы типа врезки или оверлея. Но если те же самые форматы каким-то образом взаимодействуют с плеером, например, выполняют скрипты или останавливают воспроизведение основного видео, чтобы начать взаимодействие с пользователем, тогда использование VPAID может быть обосновано.

Методы интерфейса VPAID реализуются на стороне рекламного материала. Возможность рекламного материала влиять на поведение плеера ограничена только отправкой событий. Реклама не может повлиять на то, как плеер реагирует на эти события, таким образом обеспечивается безопасность плеера от возможного вредоносного кода встроенного в рекламный материал. Рекламный материал может иметь следующие методы, свойства и события, доступные для плеера:

  • инициализация, во время которой реклама может задать свое первоначальное состояние и подгрузить дополнительные ресурсы;
  • оповещение о необходимости заново рассчитать размеры рекламы при изменении размеров плеера;
  • управление воспроизведением рекламы — запуск, окончание, пауза, продолжение;
  • управление режимом показа рекламы — раскрытый в полный размер или свернутый;
  • признаки режима работы рекламы: линейный или нелинейный, развернутый или свернутый, оставшееся время показа, громкость рекламного сообщения;
  • события жизненного цикла рекламного сообщения: загрузка, начало, конец; оповещение об изменение свойств; оповещение о необходимости отправки событий для рекламной отчетности; различные пользовательские взаимодействия с рекламой.

Примеры сложных рекламных форматов, для которых имеет смысл использовать VPAID, чтобы добиться максимальной совместимости с плеерами: видео-врезка, поверх которой отображается оверлей, по которому можно кликнуть и перейти на сайт рекламодателя; оверлей, по клику на который запускается видео-врезка.

Стандарт VPAID имеет некоторые ограничения. И реклама и видеоплеер должны быть реализованы с использованием одного и того же стека технологий. Так, например, взаимодействие плеера на Silverlight с рекламой на Adobe Flash невозможно.

Использование стандартов при разработке

Рекламный сервер OpenX после установки плагина OpenX Video Ads, поставляющегося с ним в комплекте, поддерживает отдачу видеорекламы в стандарте VAST. Реализация MAST или форматов, использующих VPAID в OpenX по-умолчанию отсутствует.

OpenX поддерживает два основных формата видеорекламы: врезка (пре-ролл, мид-ролл, пост-ролл) и оверлей. Оверлей может представлять собой изображение, текст, SWF-файл или HTML-код. Конкретные особенности того, как тот или иной рекламный формат будет представлен пользователю, должны быть реализованы в самом видеоплеере.

Для видеорекламы OpenX предоставляет все те же возможности таргетинга и статистики, что и для обычных форматов. Прочитать о них вы можете в статье Подробнее о возможностях OpenX. Кроме того, отчеты по видеорекламе включают не только стандартные показатели количества просмотров и кликов, но статистику по специфическим для видео событиям: квартили просмотра видео, пауза, стоп, отключение звука. А благодаря встроенной в OpenX возможности добавлять к событиям собственные параметры, такие как ID видеоконтента, внутри которого была показана реклама, статистика OpenX может быть доработана для построения самых разных отчетов, учитывающих требования конкретной рекламной площадки. Например, отчет о разделении доходов от показа рекламы с правообладателями контента.

На клиентской стороне поддержка VAST реализована с помощью библиотеки Open Video Ads в таких популярных флэш-плеерах, как JW Player и Flowplayer. Кроме того эта библиотека доступна для загрузки и использования в собственном плеере по лицензии GPL. Эта же библиотека поддерживает и стандарт VPAID.

Фреймворк OSMF включает в виде плагинов поддержку всех трех стандартов. Рассмотрим как встроить в ваш OSMF плеер показ пре-роллов. Для того, чтобы попробовать этот пример самостоятельно, вам потребуется установить сервер OpenX с плагином OpenX Video Ads и добавить несколько тестовых роликов. О том, как это сделать мы писали в статье Показ рекламы в системе OpenX. Кроме того, потребуетcя загрузить полный архив OSMF с исходными кодами, чтобы воспользоваться плагином VASTNew.

Сначала создадим спрайт, который будет содержать наш плеер.


1
2
sprite = new MediaContainer();
addChild(sprite);

Затем, до загрузки основного видео необходимо выполнить запрос к рекламному серверу для получения рекламного кода. Ссылка для запроса рекламного кода из OpenX почти всегда будет выглядеть так, как в примере, за исключением адреса до вашего собственного сервера OpenX. Единственное, на что следует обратить внимание — это номер зоны, указанный в параметре zones. Он должен совпадать с зоной, с которой вы связали рекламные видеоролики.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
loadVASTDocument("http://openx.denivip.ru/openx/www/delivery/fc.php"
+ "?script=bannerTypeHtml:vastInlineBannerTypeHtml:vastInlineHtml"
+ "&zones=pre-roll0-0%3D16&nz=1&source=&r=R0.622637958265841"
+ "&format=vast&charset=UTF-8");

...

private function loadVASTDocument(vastURL:String):void
{
    var loadTrait:VASTLoadTrait = new VASTLoadTrait(new VASTLoader(),
        new URLResource(vastURL));
    loadTrait.addEventListener(LoadEvent.LOAD_STATE_CHANGE,
        onLoadStateChange);
    loadTrait.load();

    function onLoadStateChange(event:LoadEvent):void
    {
        if (event.loadState == LoadState.READY)
        {
            loadTrait.removeEventListener(LoadEvent.LOAD_STATE_CHANGE,
                onLoadStateChange);

            var generator:VASTMediaGenerator = new VASTMediaGenerator();
            var mediaElements:Vector.<MediaElement> =
                generator.createMediaElements(loadTrait.vastDocument);
            loadMediaWithAd(mediaElements.length > 0
                ? mediaElements[0]
                : null);
        }
    }
}

Средства для загрузки и парсинга VAST-шаблона, а также для создания специальных медиаэлементов для видеорекламы встроены в OSMF. Все что остается сделать после этого — создать SerialElement для последовательного воспроизведения двух роликов — сначала пре-ролл, а потом основное видео.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private function loadMediaWithAd(adElement:MediaElement):void
{
    var serialElement:SerialElement = new SerialElement();

    if (adElement != null)
    {
        serialElement.addChild(adElement);
    }

    serialElement.addChild(new VideoElement(
        new URLResource("http://openx.denivip.ru/"
        + "test-portal/video/omlet.f4v")));

    sprite.addMediaElement(serialElement);
    mediaPlayer.media = serialElement;
}

Фреймворк сам позаботится об отправке событий на сервер OpenX и о создании поверх видео слоя, по которому можно кликнуть и перейти на сайт рекламодателя.

Если вас заинтересовал открытый рекламный сервер OpenX, предлагаем также ознакомиться и с другими статьями по этой теме.