Настройка FLV видео плеера Kernel Team

Содержание

1. Настройки плеера (Player settings)
1.1. Общая информация
1.2. Настройки отображения (Display settings)
1.3. Отображение форматов видео (Video formats display)
1.4. Настройки панели управления (Control bar settings)
1.5. Реклама
2. Настройки embed плеера (Embed player settings)
3. Конфигурация плеера через HTML код
3.1. Включение плеера в HTML код страницы сайта
3.2. Переменные инициализации плеера
3.3. JavaScript API плеера
3.4. Список файлов для плеера

1. Конфигурация плеера в панели администрирования

1.1. Общая информация

FLV видео плеер Kernel Team разработан с учетом основных требований монетизации ресурса. Плеер поддерживает отображение рекламных видеороликов / изображений в качестве pre-roll и post-roll рекламы, рекламные изображения во время паузы и остановки основного видео, а также рекламу, всплывающую во время просмотра основного ролика.

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

FLV видео плеер Kernel Team работает в двух режимах: обычный режим и "embed" режим. Обычный режим предназначен для использования плеера на "родном" сайте. Режим "embed" включается в том случае, если плеер загружается c другого ресурса. В этом режиме конфигурация рекламы плеера не может быть перекрыта извне, таким образом, если кто-то показывает embed код с вашим видео на другом сайте, ваша реклама не может быть перекрыта или удалена.

Для каждого режима плеера KVS содержит страницу настройки всех опций плеера. Эти страницы находятся в разделе Настройки (Settings) и называются Настройки плеера (Player settings) и Настройки Embed плеера (Embed player settings). Настройки плеера для "embed" режима практически ничем не отличаются от настроек для обычного режима.

Важно! Настройки плеера (Player settings) в панели администрирования настраивают поведение плеера только для блока просмотра видео (video_view), т.к. это основное место, где используется плеер на сайте. Если вам нужно использовать плеер в других местах сайта с другими параметрами, вы можете настроить его параметры отдельно через HTML код (это будет описано далее).

Среди многих настроек плеера необходимо указать URL-ы выхода - это ссылки по которым уйдут пользователи при клике на тот или иной элемент управления или рекламу. Практически везде есть возможность указывать различные варианты ссылок:

KVS позволяет указать отдельные настройки плеера для пользователей различных типов (незарегистрированные, активные и премиум пользователи). Для этого необходимо переключить опцию отображения в самом верху страницы настроек и включить галочку перекрытия настроек. Если вы перекрываете настройки для определенного типа пользователей, то для остальных типов пользователей будут действовать настройки по умолчанию.

1.2. Настройки отображения

KVS позволяет настроить следующие параметры отображения плеера:

1.3. Отображение форматов видео (Video formats display)

Плеер Kernel Team поддерживает особые опции управления отображением форматов видео в плеере. Для каждого типа видео (стандартные и премиум) есть набор из 5 слотов, для которых вы можете выбирать, будут ли в них отображаться существующие форматы видео, либо вместо форматов видео в них будет содержаться редирект.

В самом плеере слоты отображаются как выпадающий список с названиями слотов и пометкой текущего выбранного слота. При выборе другого слота (не текущего) плеер может либо показать видео, либо сделать редирект на URL, указанный в поле URL редиректа (Redirect URL).

Набор слотов позволяет полностью настроить отображение видео для мемберзоны с разграничением доступа. В каждом слоте вы можете выбрать либо один из существующих форматов видео, либо статический редирект. Поскольку каждый формат видео доступен лишь для пользователей с определенным уровнем доступа (напомним, уровень доступа к формату видео настраивается в самом формате), то видео в каждом слоте с выбранным форматом будет доступно только тем пользователям, у которых есть доступ к этому формату. Если у текущего пользователя нет доступа к формату, выбранном в слоте (например, формат доступен только премиум пользователям, а текущий пользователь вообще не зарегистрирован), то при выборе этого слота в плеере пользователь будет перенаправлен по URL-у, указанном в поле URL редиректа (Redirect URL).

Если у пользователя нет доступа ни к одному из форматов видео, то в шаблоне блока video_view по умолчанию вместо плеера будет отображено сообщение о том, что просмотр этого видео невозможен. Вы можете отредактировать это по своему усмотрению в шаблоне блока video_view на странице просмотра видео. Таким образом, для того чтобы посмотреть видео пользователь должен иметь доступ хотя бы к одному из форматов видео, выбранных в слотах плеера.

Для удобства понимания, кто из пользователей сможет посмотреть видео, а кто будет перенаправлен по URL-у из поля URL редиректа (Redirect URL), рядом с каждым слотом показываются соответствующие подсказки. Так, например, подсказка [Видео]: Активные, Премиум [Редирект]: Незарегистрированные говорит о том, что видеофайл по данному слоту будет доступен для зарегистрированных пользователей (как активных, так и премиум), а незалогиненные пользователи будут перенаправлены при попытке переключиться на данный слот в плеере.

Если у вас установлено значение только для одного слота плеера - то выпадающее меню со слотами не будет отображаться в плеере.

1.4. Настройки панели управления (Control bar settings)

В данном разделе вы можете настроить некоторые опции для панели управления плеера:

1.5. Реклама

Kernel Video Sharing позволяет использовать несколько типов рекламы внутри плеера:

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

В качестве исходных данных для рекламы вы можете использовать:

Pre-roll и post-roll реклама задается следующими полями:

Реклама на паузе и остановке задается следующими полями:

Настройки всплывающей рекламы позволяют включить до 4 баннеров во время просмотра видео. В отличие от другой рекламы в плеере, рекламный файл всплывающей рекламы не может быть привязан к контент провайдеру видео (в то время как URL выхода может). Kernel Video Sharing предоставляет пример типичного всплывающего баннера, выполненного на технологии Flash (исходный код баннера располагается по пути: /player/def_banner.fla). Длительность показа баннера и кнопка закрытия настраивается в самом баннере. Для каждого баннера всплывающей рекламы доступны следующие поля:

2. Настройки embed плеера (Embed player settings)

Настройки embed плеера практически идентичны настройкам плеера на сайте. Различия представлены ниже:

Важно! Еще раз повторимся - если вы хотите, чтобы пользователи имели возможность брать embed код на ваши видео с вашего сайта - вы должны выбрать какой-либо формат видео в первом слоте настроек embed плеера. Именно файлы видео этого формата и будут использоваться для построения embed кода.

3. Конфигурация плеера через HTML код

3.1. Включение плеера в HTML код страницы сайта

Файлы плеера, а также все файлы конфигурации для него и примеры всплывающей рекламы находятся в папке /player в корне домена. Эта папка настроена таким образом, что пользователи с другого домена смогут загрузить плеер в "embed" режиме, в то время как для пользователей своего домена плеер будет работать в стандартном режиме. Во всех случаях вам следует использовать http://%domain%/player/kt_player.swf в качестве ссылки на плеер.

Плеер используется в блоке просмотра видео (video_view), где вставляется через JavaScript код, используя скрипт swfobject.js. Код вставки плеера на страницу выглядит следующим образом:

<!-- подключаем JavaScript -->
<script type="text/javascript" src="files/swfobject.js"></script>

<!-- задаем пустой контейнер для плеера, id="player1" идентифицирует его -->
<div id="player1"></div>

<!-- используем код вставки плеера -->
<script type="text/javascript">
    // указываем список всех переменных инициализации (для примера указаны только 3)
    var flashvars = {
        license_code: '03671554c2a3152ea84d9f61294ba6dfa5b058734c872134',
        video_url: '/player_tests/files/demo_video.flv',
        preview_url: '/player_tests/files/preview.jpg'
    };

    // указываем параметры HTML объекта плеера
    var params = {allowfullscreen: 'true', allowscriptaccess: 'always'};

    // указываем HTML атрибуты объекта плеера
    var attributes = {id: 'player1', name: 'player1'};

    // вызываем функцию вставки плеера
    // '/player/kt_player.swf' - путь к файлу плеера
    // 'player1' - идентификатор контейнера для плеера
    // '600' - ширина плеера
    // '400' - высота плеера
    // '9.124.0' - необходимая версия флеш плеера
    // '/player/expressInstall.swf' - файл инсталяции, предоставленный Adobe
    // flashvars - список всех переменных инициализации, созданный выше
    // params - список всех параметров HTML объекта плеера, созданный выше
    // attributes - список всех HTML атрибуты объекта плеера, созданный выше
    swfobject.embedSWF('/player/kt_player.swf', 'player1', '600', '400', '9.124.0', '/player/expressInstall.swf', flashvars, params, attributes);
</script>

В результате отработки JavaScript функции div контейнер с id="player1" заменится на плеер. В большинстве случаев вам необходимо только изменить набор переменных, которые задаются в объекте flashvars и размеры плеера (600х400).

Важно! Если вы передаете плееру какие-либо переменные инициализации, которые содержат символ амперсанда (&), эти переменные должны быть обработаны функцией JavaScript encodeURIComponent. В противном случае данные, которые находятся после первого амперсанда не подставятся в плеер.

В данном примере обрабатывается переменная logo_url:

...

// указываем список всех переменных инициализации
var flashvars = {
    license_code: '%PLAYER_LICENSE_CODE%',
    video_url: 'http://kernel-video-sharing.com/player_files/demo_video.flv',
    preview_url: 'http://kernel-video-sharing.com/player_files/preview.jpg',
    logo_src: 'http://kernel-video-sharing.com/player_files/logo.png',
    logo_url: encodeURIComponent('http://domain.com/get_logo.php?logo_id=2&color_scheme=5')
};

...

В некоторых случаях вам может понадобиться вставить плеер с параметром wmode=transparent. Это может потребоваться для того, чтобы показать поверх плеера какой-нибудь DIV с рекламой, что не будет работать в в Internel Exporer-е без wmode=transparent. В то же время, при использовании wmode=transparent у вас возникнет проблема с отображением плеера в Firefox. Для того, чтобы все работало корректно, необходимо подставлять wmode=transparent для всех браузеров, кроме Firefox. Сделать это можно таким образом:

...

// указываем параметры HTML объекта плеера
if (navigator.userAgent.indexOf("Firefox") != -1) {
    // для Firefox не используем wmode=transparent
    var params = {allowfullscreen: 'true', allowscriptaccess: 'always'};
} else {
    // для остальных используем
    var params = {allowfullscreen: 'true', allowscriptaccess: 'always', wmode: 'transparent'};
}

...

3.2. Переменные инициализации плеера

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

Название переменной Описание
scaling Позволяет указать алгоритм масштабирования видео. Если переменная не задана, то видео будет масштабироваться плеером с сохранением пропорций и добавлением черных вертикальных или горизонтальных полос. Если задано значение fill, то видео будет полностью заполнять область плеера игнорируя пропорции (т.е. изображение будет либо расширяться, либо сужаться). При указании значения crop видео будет полностью заполнять область плеера, однако в отличие от предыдущего значения пропорции будут сохраняться, но видео будет обрезано либо по высоте (снизу и сверху), либо по ширине (справа и слева).
license_code Код лицензии (необязателен).
video_url Ссылка на FLV видео файл.
preview_frame Кадр из видео (в секундах), который отображается плеером до начала проигрывания видео.
preview_url Ссылка на изображение, которое отображается плеером до начала проигрывания видео (как правило это превью видео).
flv_stream Должен быть установлен в значение false, если сервер не поддерживает стриминг.
autoplay Если переменная используется со значением true, то видео начнет проигрываться автоматически. Если переменная не используется, то пользователь должен будет вручную запустить проигрывание видео.
logo_src Ссылка на изображение вашего логотипа (jpg, png), которое будет показываться плеером поверх видео.
logo_position Координаты расположения логотипа (задаются в квадратных скобках через запятую - [x,y]). Начало отсчета - левый верхний угол плеера.
logo_url URL выхода при клике на логотип.
video_click_url URL выхода при клике мышкой на область воспроизведения видео. Если не задан (по умолчанию), то при клике на область видео плеер будет переводиться в режим паузы.
bt Кол-во времени ролика в секундах, которое будет буферизироваться до начала показа. По умолчанию используется значение в 5 секунд.
skin Поддерживает 2 типа скина: 1 - темный (по умолчанию), 2 - светлый.
hide_controlbar Настраивает поведение панели управления: 0 - всегда показывать (по умолчанию), 1 - прятать автоматически если пользователь неактивен, 2 - не показывать никогда.
mlogo Рекламный текст, который будет отображаться справа на контролбаре.
mlogo_link URL выхода при клике на текст, заданный переменной mlogo.
embed Включает отображение embed кода внутри плеера, если установлено значение 1. По умолчанию embed код не отображается. Сам HTML код должен быть предоставлен плееру через JavaScript API (описано ниже).
permalink_url URL на страницу с данным видео на вашем сайте. Если задан, то плеер будет отображать выплывающую иконку, позволяющую скопировать данный URL.
urls_in_same_window Глобальная переменная, которая заставляет плеер открывать все ссылки в этом же окне браузера. Для включения установите значение 1.
prtext Используется для периодического отображения небольшого текста в случайных углах плеера. Это можно использовать для защиты стримового контента от экранных грабберов (например, отображать IP пользователя).
prtime Интервал в секундах через который будет отображаться текст, указанный в переменной prtext.
related Ссылка на SWF файл, который отображает похожие видео. По умолчанию с плеером поставляется файл related.swf и его исходный код related.fla.
related_data Ссылка на xml файл конфигурации похожих видео. Файл перечисляет названия, скриншоты и ссылки на похожие видео (пример такого файла поставляется с плеером: related.xml).
timeline_screens_url Ссылка на xml файл конфигурации отображения таймлайновых скриншотов. Файл перечисляет ссылки на скриншоты, которые соответствуют ключевым кадрам видео (пример такого файла поставляется с плеером: key.xml).
timeline_screens_interval Интервал показа таймлайновых скриншотов.
video_url_text Название стартового потока видео. Будет отображаться только при использовании переменной video_alt_url (см. ниже).
video_alt_url
video_alt_url_text
video_alt_url_redirect
Данный набор переменных используется для включения выпадающего списка нескольких потоков видео (например, 480p, 720p HD). Если переменная video_alt_url включена, то в контролбаре плеера появится выпадающий список с 2 элементами: (1) первый элемент проигрывает видео, которое задано переменной video_url и имеет название, которое задано переменной video_url_text; (2) второй элемент имеет название video_alt_url_text и при его выборе либо отображает видео, заданное переменной video_alt_url, либо перенаправляет пользователя на страницу, заданную этой же переменной video_alt_url, если video_alt_url_redirect равен 1. Пример использования будет дан ниже.
video_alt_url2
video_alt_url2_text
video_alt_url2_redirect
Используется аналогично предыдущему набору переменных для отображения третьего элемента в выпадающем списке потоков видео.
video_alt_url3
video_alt_url3_text
video_alt_url3_redirect
Используется аналогично предыдущему набору переменных для отображения четвертого элемента в выпадающем списке потоков видео.
video_alt_url4
video_alt_url4_text
video_alt_url4_redirect
Используется аналогично предыдущему набору переменных для отображения пятого элемента в выпадающем списке потоков видео.
adv_pre_src Ссылка на файл pre-roll рекламы (видео - flv, swf, либо изображение - jpg, png).
adv_pre_duration Длительность показа pre-roll рекламы в секундах (применяется только для изображений).
adv_pre_url Ссылка, по которой уйдет пользователь, кликнув на pre-roll рекламу.
adv_post_src Ссылка на файл post-roll рекламы (видео - flv, swf, либо изображение - jpg, png).
adv_post_duration Длительность показа post-roll рекламы в секундах (применяется только для изображений).
adv_post_url Ссылка, по которой уйдет пользователь, кликнув на post-roll рекламу.
adv_pause_src Ссылка на файл рекламы во время паузы (изображение - jpg, png).
adv_pause_url Ссылка, по которой уйдет пользователь, кликнув на рекламу во время паузы.
adv_stop_src Ссылка на файл рекламы во время остановки (изображение - jpg, png).
adv_stop_url Ссылка, по которой уйдет пользователь, кликнув на рекламу во время остановки.
float_src Ссылка на xml файл конфигурации всплывающей рекламы. Формат файла будет описан далее.
adreplay По умолчанию всплывающая реклама не повторяется при повторном просмотре видео. Для ее постоянного повторения, установите эту переменную в true.
sec Задает ограничение в секундах на длительность показа видео. Таким образом, независимо от реальной длительности видео пользователь всегда сможет посмотреть только первые N секунд ( число которых как раз и задается этой переменной). Важно! Данная переменная работает корректно только при отсутствии стриминга (см. переменную flv_stream).

Рассмотрим небольшой пример использования альтернативных потоков видео. Предположим, что нужно отобразить 3 элемента в выпадающем списке потоков:

Переменные инициализации, которые нужно указывать для рассматриваемого варианта:

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

<?xml version="1.0" encoding="UTF-8"?>
<task>
    <overlay mn="10" src="/player/def_banner.swf" url="http://google.com" position="1"/>
    <overlay mn="20" src="/player/def_banner.swf" url="http://google.com" position="2"/>
    <overlay mn="30" src="/player/def_banner.swf" url="http://google.com" position="3"/>
    <overlay mn="40" src="/player/def_banner.swf" url="http://google.com" position="4"/>
</task>

Каждый элемент overlay представляет собой один экземпляр всплывающей рекламы, т.е. вы можете показывать несколько всплывающих роликов за один сеанс показа видео. Данная таблица расписывает параметры, которые поддерживаются элементом overlay:

Название параметра Описание
mn На какой секунде просмотра видео показывать данную рекламу.
src Ссылка на SWF файл рекламы.
url Ссылка, по которой уйдет пользователь, кликнув на всплывающую рекламу.
position Положение всплывающей рекламы: 1 - снизу, 2 - слева, 3 - сверху и 4 - справа.

Kernel Video Sharing предоставляет пример типичного всплывающего баннера, выполненного на технологии Flash (исходный код баннера располагается по пути: /player/def_banner.fla). Длительность показа баннера и кнопка закрытия настраивается в самом баннере.

3.3. JavaScript API плеера

JavaScript API используется для указанию плееру embed кода, который должен отображаться внутри плеера (если переменная инициализации embed = 1). Для того, чтобы указать плееру embed код, вам необходимо добавить следующую JavaScript функцию на странице с плеером:

function getEmbed() {
    return '%EMBED_CODE_GOES_HERE%';
}

В данной функции необходимо заменить токен %EMBED_CODE_GOES_HERE% на embed код, который вы хотите вывести в плеере. Мы предлагаем использовать такую версию embed кода (вам нужно будет подставить свои данные):

<object id="kt_player" name="kt_player" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="600" height="400">
    <param name="allowscriptaccess" value="always"/>
    <param name="allowFullScreen" value="true"/>
    <param name="movie" value="http://%YOUR_DOMAIN_HERE%/player/kt_player.swf"/>
    <param name="flashvars" value="video_url=%VIDEO_URL%&amp;preview_url=%PREVIEW_IMAGE_URL%"/>
    <embed src="http://%YOUR_DOMAIN_HERE%/player/kt_player.swf?video_url=%VIDEO_URL%&amp;preview_url=%PREVIEW_IMAGE_URL%" width="600" height="400" allowfullscreen="true" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"/>
</object>

Важно! Если вы не объявляете функцию getEmbed() и не возвращаете плееру embed код - то плеер сгенерит его самостоятельно исходя из переменных инициализации, которые переданы ему самому. В этом случае размеры плеера в embed коде будут установлены такие же, как и при отображении плеера у вас на странице. Вы можете использовать функцию getEmbed() для выдачи embed кода с другими данными, например, размерами.

Плеер поддерживает Javascript колбэки на события начала проигрывания, паузы и остановки. Вы можете использовать эти колбэки по своему усмотрению. Для того, чтобы они начали работать, вам необходимо передать плееру переменную инициализации js=1:

function playerLoaded() {
    // вызовется при завершении инициализации плеера
}

function playStart() {
    // вызовется при нажатии на кнопку play
}

function playPause() {
    // вызовется при нажатии на кнопку pause
}

function playStop() {
    // вызовется при нажатии на кнопку stop
}

function playScroll(time) {
    // вызовется при перемотке видео
}

function fullScreenActivate() {
    // вызовется при переходе в полноэкранный режим
}

function fullScreenDeactivate() {
    // вызовется при переходе в нормальный режим
}

function preRollStart() {
    // вызовется при начале проигрывания pre-roll рекламы
}

function preRollFinish() {
    // вызовется при завершении проигрывания pre-roll рекламы
}

function postRollStart() {
    // вызовется при начале проигрывания post-roll рекламы
}

function postRollFinish() {
    // вызовется при завершении проигрывания post-roll рекламы
}

3.4. Список файлов для плеера

Данный список перечисляет все файлы, которые находятся в папке плеера /player, и их предназначение:

Имя файла Описание
.htaccess Содержит правила mod_rewrite, согласно которым все запросы на плеер с других доменов переключают плеер в "embed" режим.
swfobject.js JavaScript файл для кросс-браузерного подключения плеера на странице.
float.php Файл конфигурации всплывающей рекламы. Подставляет рекламу, которая указывается в настройках плеера в панели администрирования.
def_banner.fla Исходный код / шаблон демонстрационного баннера всплывающей рекламы.
def_banner.swf Демонстрационный баннер всплывающей рекламы.
embed.php Файл конфигурации embed-плеера. Подставляет данные, которые указываются в настройках "embed" плеера в панели администрирования.
kt_player.swf Файл плеера.
expressInstall.swf Файл инсталяции плеера, предоставленный Adobe.
related.fla Исходный код / шаблон модуля отображения похожих видео.
related.swf Модуль отображения похожих видео (путь на модуль должен указываться плееру в переменной инициализации related).