Skip to content

Метки для врезки рекламы

Метод динамической вставки рекламы (DAI) используется для добавления рекламных роликов в линейные live потоки, такие как ТВ трансляции. Региональный оператор может, используя DAI, врезать в трансляции "местную" рекламу.

Метод динамической вставки рекламы использует метки врезки рекламы для того, чтобы подготовить поток к вставке рекламы. Метки — это метаданные потока, которые сообщают о событии врезки рекламы. Событие врезки рекламы означает, что в определенном месте в видеопотоке можно врезать рекламный ролик определенной длительности — в этой точке потока возможно плавное переключение на другой поток (т.е. на рекламу) и затем обратно на основное видео.

Метки создаются по разным стандартам, самый популярный из которых SCTE-35. Физически метки представляют собой тэги в клиентском манифесте потока, поэтому метки необходимо создавать отдельно для передачи по каждому протоколу (из числа тех, которые поддерживают adaptive streaming).

Flussonic может читать метки и преобразовывать их в другой формат. Он работает с метками в форматах SCTE-35, SCTE-104 и AWS и распознает события splice_insert.

Следующие форматы меток считываются из потоков разных типов:

  • HLS — метки в формате SCTE-35, AWS (см. описание меток в документации AWS), а также простые cue метки входного потока.
  • MPEG-TS — метки в формате SCTE-35.
  • Видео с карт Decklink и DekTec — метки в формате SCTE-104.

Это можно свести в таблицу ниже:

Протокол потока Метка вставки рекламы
MPEG-TS SCTE-35
HLS SCTE-35, AWS
SDI SCTE-104

Пример: Необходимо прочитать метки SCTE-35 в транспортном потоке и преобразовать их в стандарт, пригодный для вещания по HLS.
Flussonic распознает метки в захваченном потоке, автоматически преобразует их в указанный стандарт и добавляет в манифест для проигрывания у клиента.

Какие преобразования меток врезки рекламы поддерживает Flussonic

Flussonic Media Server преобразует метки врезки рекламы из одного формата в другой и передаёт их.

Метки из MPEG-TS

  • из формата MPEG-TS SCTE-35 —> в формат MPEG-TS SCTE-35
  • из формата MPEG-TS SCTE-35 —> в формат HLS AWS
  • из формата MPEG-TS SCTE-35 —> в формат HLS SCTE-35
  • из формата MPEG-TS SCTE-35 —> в формат VANC SCTE-104
  • из формата MPEG-TS SCTE-35 —> в формат DASH AWS

Таким образом, для входящих MPEG-TS потоков с SCTE-35 метками можно указать, чтобы Flussonic перевел метки в AWS или SCTE-35 для HLS, AWS для DASH или же в SCTE-104 для VANC. Тогда при обращении к потоку по HLS, DASH или SDI в нём будут метки уже в указанном формате (AWS, SCTE-35 или SCTE-104).

Для вывода в MPEG-TS метки не нужно преобразовывать в SCTE-35, они передаются автоматически в том случае, если они были приняты из входного MPEG-TS.

Метки из HLS

  • из HLS cue меток, HLS SCTE-35 или HLS AWS —> в HLS AWS или HLS SCTE-35 соответственно
  • из HLS cue меток, HLS SCTE-35 или HLS AWS —> в MPEG-TS SCTE-35
  • из HLS cue меток, HLS SCTE-35 или HLS AWS —> в DASH AWS

Метки из входящих HLS потоков можно преобразовать в SCTE-35 либо AWS для вывода в HLS или в AWS для вывода в DASH. Для вывода в MPEG-TS метки можно преобразовать в SCTE-35.

  • из VANC SCTE-104 —> в MPEG-TS SCTE-35, HLS SCTE-35 или DASH AWS

По умолчанию Flussonic считывает маркеры SCTE-104 в формате VANC с карт захвата Decklink и DekTec.

Маркеры автоматически передаются в формате SCTE-35 в выходные потоки MPEG-TS, DASH и HLS, никаких настроек преобразования не требуется.

Настройка преобразования меток врезки рекламы

Чтобы получить метки в выходном потоке, необходимо:

  • включить чтение и обработку меток во входном потоке
  • указать формат меток, который вы хотите получить в выходном потоке.

Всё это нужно указывать в настройках входного потока.

Чтение меток во входном потоке

Чтобы включить чтение меток во входящем потоке:

  • для MPEG-TS: дополнительные опции не требуются; метки SCTE-35 считываются автоматически.

  • для HLS: добавьте опцию источника ad=true, чтобы включить чтение и обработку меток из входного HLS потока. Поддерживается чтение меток как в AWS формате, так и простых cue-меток SCTE-35.

  • для SDI: метки SCTE-104 автоматически читаются из VANC.

Пример

input hls://MULTICAST-IP:PORT/STREAM_NAME ad=true;

Так Flussonic будет считывать метки во входящем HLS потоке.

Конвертация меток

Следующий шаг — задать формат меток для выходного потока, запрошенного по HLS.

Замечания.

В выходной MPEG-TS или DASH метки (SСTE-35 или AWS соответственно) передадутся сами.

Метки SCTE-104 из VANC будут переданы в MPEG-TS, HLS или DASH автоматически.

Для конвертации меток добавьте в настройки входящего потока директиву hls_scte35.

Синтаксис:

hls_scte35 aws|scte35|rfc8216;

, где:

  • aws — метки AWS в выходном HLS
  • scte35 — метки SСTE-35 в выходном HLS
  • rfc8216 — метки SCTE-35 в выходном HLS, соответствующие стандарту RFC 8216. Передаются в теге EXT-X-DATERANGE. Этот формат поддерживается устройствами Apple.

Пример

hls_scte35 scte35;

Flussonic проставит метки в формате SСTE-35 в выходной HLS поток.

Директива hls_scte35, задающая выходной формат меток, имеет смысл только для вывода в HLS.

Пример из двух частей

В примере ниже мы: 1. Получим SСTE-35 метки из MPEG-TS 2. Сконвертируем метки в HLS AWS для использования в выходном потоке, запрошенном по HLS.

Получение MPEG-TS SСTE-35 меток, конвертация их в AWS для этого потока, передаваемого по HLS (hls_scte35 aws):

stream STREAM_NAME {
    input tshttp://IP-ADDRESS:PORT/INPUTSTREAM/mpegts;
    hls_scte35 aws;
}

Теперь если запросить этот поток по HLS, в нём будут метки в формате AWS.

Кроме того, есть возможность прочитать эти метки и задать возможность их дальнейшего вывода в формате SCTE-35 при проигрывании потока по HLS, подключившись к получившемуся потоку локально по HLS:

stream STREAM_NAME_HLS {
    input hls://FLUSSONIC-IP:PORT/STREAM_NAME/tracks-v1a1/mono.m3u8 ad=true;
    hls_scte35 scte35;
}

Проверка потока на наличие меток SCTE-35

Если нужно убедиться, что выходной поток действительно содержит метки SСTE-35, посмотрите логи Flussonic. Flussonic создает событие 'scte35', оно находится на стандартном уровне журнала. В журнале /var/log/flussonic/flussonic.log будут отображаться сообщения mpegts_scte35.

Чтобы вам показывалось событие scte35, добавьте эти строки в конфигурацию:

event_sink events {
  url log:///var/log/flussonic/example.log;
  only event=scte35;
}

Другой способ проверить наличие меток — посмотреть их в HLS манифесте. Это менее удобно, к тому же Вам придётся ждать появления маркеров во время проигрывания в реальном времени.