Вставка рекламы
Описание
Flussonic позволяет вставлять рекламные ролики в HLS сессии и управлять показом роликов через авторизационный бэкенд.
Есть возможность указать Pre-roll ролик и задать интервал для вставки Mid-roll роликов, причем уникальные для каждого пользователя/просмотра.
Ограничения
- Если в потоке есть видео и аудио, то и в рекламном ролике обязательно должно быть видео и аудио.
- У рекламного ролика GOP должен соответствовать одной секунде.
- Первые 1-5 секунд Pre-roll ролика могут пропускаться, это особенность большинства HLS плееров. Решить это можно только вставкой черных кадров в начало ролика.
- Такие плагины, как AdBlock, могут блокировать рекламные ролики. Если что-то не работает, попробуйте отключить плагины.
Этот механизм вставки рекламы является расширением системы авторизации. Прежде чем продолжить, прочтите основную документацию.
Danger
Используйте только такие файлы с рекламой, которые находятся на сервере Flussonic в настроенной VOD-локации. Нельзя указывать пути к внешним ресурсам (HTTP) и напрямую к файловой системе сервера. Это значит, что вам необходимо создать VOD-локацию и поместить в нее ролики.
Пример на Lua
Чтобы запустить рекламу, авторизационный бэкенд должен вернуть следующую структуру:
user_ads = {["preroll"] = "vod/ad1.mp4", ["midroll_interval"] = 180, ["midroll"] = {"vod/ad2.mp4", "vod/ad3.mp4"}}
return true, {["ad_inject"] = user_ads}
При такой конфигурации Flussonic Media Server покажет ролик vod/ad1.mp4 перед просмотром, потом раз в 3 минуты (180 секунд) будет показывать Mid-roll ролики.
Пример с HTTP бэкендом
Пример на авторизационного бэкенда на PHP с реализацией передачи pre-roll/mid-roll:
<?php
header('Content-type: application/json');
$user_ads = [
"preroll" => "vod/ad1.mp4",
"midroll_interval" => 180,
"midroll" => ["vod/ad2.mp4", "vod/ad3.mp4"]
];
echo json_encode(array("ad_inject" => $user_ads));
?>
При такой конфигурации Flussonic Media Server покажет ролик vod/ad1.mp4 перед просмотром, потом раз в 3 минуты (180 секунд) будет показывать Mid-roll ролики.