Подключение архива

SS IPTV поддерживает работу архивов различных стандартов. Для плейлистов с подключенными архивами становятся доступны интерфейсные возможности приостановки, перемотки и выбора передачи для воспроизведения из телепрограммы.

Передача в режиме отложенного просмотра:



Подключение архива

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

  • catchup - определяет тип используемого архива (см. Поддерживаемые форматы).
  • catchup-source - определяет ссылку api, которую приложение использует для получения архивных телепрограмм. Данный атрибут не является обязательным, его следует использовать только в том случае, если ссылку получения архивной телепрограммы невозможно получить из основной ссылки live-потока.
  • catchup-days - определяет длину архива в днях. Данный атрибут не является обязательным, значение по умолчанию - 3 дня.

Вы можете указать эти атрибуты при директиве #EXTM3U, в этом случае атрибуты будут применены ко всем элементам плейлиста:

#EXTM3U catchup="default" catchup-days="5"

Либо указать эти атрибуты для конкретных каналов при директиве #EXTINF:

#EXTINF: 0 catchup="default" catchup-days="5", Disney Channel

Кроме того, можно не указывать эти атрибуты в плейлисте, а передать их в качестве параметра в ссылке на плейлист, после решетки. В этом случае атрибуты также будут применены ко всему плейлисту:

http://example.com/playlist.m3u#catchup=default&catchup-days=5

Переменные шаблона

Для создания шаблона обращения к API архива используются переменные, вместо которых приложение подставляет динамические значения:

  • ${start} - время начала архивного потока в формате UNIX Time Stamp
  • ${timestamp} - текущее время в формате UNIX Time Stamp
  • ${offset} - смещение времени начала архивного потока относительно текущего времени в секундах

Поддерживаемые форматы

Default. Для создания запроса к API архива используется только шаблон, созданный на основе преобразования url-основного потока, либо из атрибута catchup-source:

#EXTINF: 0 catchup="default", Disney Channel
http://example.com/stream1_${offset}.m3u8

Приведенный пример указывает приложению, что для получения текущей трансляции и архивной используется один и тот же шаблон с указанием смещения. Т.о. текущую трансляцию приложение будет запрашивать по ссылке http://example.com/stream1_0.m3u8, а трансляцию, с началом 10 минут назад - по ссылке http://example.com/stream1_600.m3u8.

Если ссылки для текущей и архивных трансляций имеют принципиально разную структуру, вы можете воспользоваться атрибутом catchup-source:

#EXTINF: 0 catchup="default" catchup-source="http://example.com/archive/?start=${start}"
http://example.com/stream1.m3u8

В приведенном примере приложение обратится за текущей трансляцией по ссылке http://example.com/stream1.m3u8, а за телепрограммой с началом 4 апреля 2017 г. в 15:30 - по ссылке http://example.com/archive/?start=1491395400

Flussonic/Flussonic-hls/Flussonic-ts. Использует API Flussonic для доступа к архивным телепрограммам. Данный формат архива не подразумевает использование атрибута catchup-source, поскольку метод преобразования ссылки на текущую трансляцию в ссылку на архив жестко регламентирован.

Архивные телепрограммы запрашиваются в формате hls согласно API Flussonic, запись catchup="flussonic-hls" является эквивалентной:

#EXTINF: 0, catchup="flussonic", Disney Channel

Архивные телепрограммы запрашиваются в формате MPEG-TS согласно API Flussonic.

#EXTINF: 0, catchup="flussonic-ts", Disney Channel

Shift. Архивные телепрограммы запрашиваются через добавление параметров utc и lutc к ссылке текущей трансляции (либо к ссылке в catchup-source), где utc - время начала запрашиваемой трансляции, lutc - текущее время:

#EXTINF: 0 catchup="shift", Disney Channel
http://example.com/stream1.m3u8

В этом случае для запроса архивной трансляции будет сформирована ссылка примерно такого вида: http://example.com/stream1.m3u8?utc=1491395400&lutc=1491808183

Stalker. Архивные телепрограммы запрашиваются согласно Stalker API

We use cookies to improve our website and your experience when using it. To find out more about the cookies we use and how to delete them, see our Privacy Policy. I accept cookies from this site