Расширения протокола Http Live Streaming

Статус документа

Оглавление

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

Http Live Streaming, далее HLS, – протокол доставки видео (включая потоковое), используемый в Peers.TV.

Данный документ описывает расширения данного протокола, полностью совместимые со стандартом.

Расширения ByteFog

BYTEFOG-INF

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

Формат:

#BYTEFOG-INF:<attribute-list>

Атрибуты:

Пример плейлиста:

#EXTM3U
#EXT-X-TARGETDURATION:11
#EXT-X-MEDIA-SEQUENCE:261958
#BYTEFOG-INF:size=123456,id="261958"
#EXTINF:8,
segment-0-261958.ts
#EXT-X-PROGRAM-DATE-TIME:2018-05-07T10:36:46.423652
#BYTEFOG-INF:size=154320,id="261959"
#EXTINF:10,
segment-0-261959.ts
#EXT-X-PROGRAM-DATE-TIME:2018-05-07T10:36:56.451167
#BYTEFOG-INF:size=138888,id="261960"
#EXTINF:9,
segment-0-261960.ts
#EXT-X-PROGRAM-DATE-TIME:2018-05-07T10:37:05.481131
#BYTEFOG-INF:size=169752,id="261961"
#EXTINF:11,
segment-0-261961.ts

Расширения от Газпроммедиадижитал

EXT-X-MEDIA-FTS

Содержит информацию о времени выхода сегмента в телевизионном эфире. Описывает информацию о сегменте, следующим за тегом.

Формат:

#EXT-X-MEDIA-FTS:<n>

где n – целое число, время в формате количества миллисекунд, прошедших с 1 января 1970 года в часовом поясе UTC.

Данный тэг должен указываться у первого сегмента, а также для каждого сегмента, имеющим тэг EXT-X-DISCONTINUITY.

Клиент может интерполировать значение времени для сегмента без тэга EXT-X-DISCONTINUITY, следующего за сегментом с известным EXT-X-MEDIA-FTS. Для этого нужно прибавить к известному значению EXT-X-MEDIA-FTS длительность этого сегмента, умноженную на 1000.

Расширения EXT-X-DATERANGE

В потоке может содержаться информация, привязанная к времени трансляции. Это может быть реклама, интерактивное взаимодействие и прочее. Для реализации этих возможностей, используются специальные классы тэга EXT-X-DATERANGE.

CLASS=TV-PEERS-BUTTON

Для отображения кнопки перехода на сайт рекламодателя в момент трансляции рекламы, используется класс TV-PEERS-BUTTON. Дополнительные атрибуты:

При выборе клиентом что показывать: рекламу поверх контента или кнопку рекламодателя, клиент должен сравнить цену отображения кнопки (из атрибута X-TV-PEERS-BUTTON-PRICE) и цену рекламного блока (из параметра price рекламной сети в Money Miner) и выбрать рекламу с бОльшей стоимостью.