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

Перейти к: навигация, поиск

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

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 1: Строка 1:
====Подключение архива к ForkPlayer====
+
==== Подключение архива к ForkPlayer ====
 
Для того, чтобы подключить к ForkPlayer ваш архив телепрограмм, в плейлисте необходимо указать следующие атрибуты:
 
Для того, чтобы подключить к ForkPlayer ваш архив телепрограмм, в плейлисте необходимо указать следующие атрибуты:
  
*'''catchup''' - определяет тип используемого архива (см. Поддерживаемые форматы).
+
* '''catchup''' - определяет тип используемого архива (см. Поддерживаемые форматы).
*'''catchup-source''' - определяет ссылку api, которую приложение использует для получения архивных телепрограмм. Данный атрибут не является обязательным, его следует использовать только в том случае, если ссылку получения архивной телепрограммы невозможно получить из основной ссылки live-потока.
+
* '''catchup-source''' - определяет ссылку api, которую приложение использует для получения архивных телепрограмм. Данный атрибут не является обязательным, его следует использовать только в том случае, если ссылку получения архивной телепрограммы невозможно получить из основной ссылки live-потока.
*'''catchup-days''' - определяет длину архива в днях. Данный атрибут не является обязательным, значение по умолчанию - 3 дня.
+
* '''catchup-days''' - определяет длину архива в днях. Данный атрибут не является обязательным, значение по умолчанию - 3 дня.
  
 
Вы можете указать эти атрибуты при директиве '''#EXTM3U''', в этом случае атрибуты будут применены ко всем элементам плейлиста:
 
Вы можете указать эти атрибуты при директиве '''#EXTM3U''', в этом случае атрибуты будут применены ко всем элементам плейлиста:
Строка 10: Строка 10:
 
Либо указать эти атрибуты для конкретных каналов при директиве '''#EXTINF''':
 
Либо указать эти атрибуты для конкретных каналов при директиве '''#EXTINF''':
 
  #EXTINF: 0 catchup="default" catchup-days="5", Disney Channel
 
  #EXTINF: 0 catchup="default" catchup-days="5", Disney Channel
Кроме того, можно не указывать эти атрибуты в плейлисте, а передать их в качестве параметра в ссылке на плейлист, после решетки. В этом случае атрибуты также будут применены ко всему плейлисту:
+
(пока не реализовано!) Кроме того, можно не указывать эти атрибуты в плейлисте, а передать их в качестве параметра в ссылке на плейлист, после решетки. В этом случае атрибуты также будут применены ко всему плейлисту:
 
  <nowiki>http://example.com/playlist.m3u#catchup=default&catchup-days=5</nowiki>
 
  <nowiki>http://example.com/playlist.m3u#catchup=default&catchup-days=5</nowiki>
 
----
 
----
  
====Переменные шаблона====
+
==== Переменные шаблона ====
 
Для создания шаблона обращения к API архива используются переменные, вместо которых приложение подставляет динамические значения:
 
Для создания шаблона обращения к API архива используются переменные, вместо которых приложение подставляет динамические значения:
  
*'''${start}''' - время начала архивного потока в формате UNIX Time Stamp
+
* '''${start}''' - время начала архивного потока в формате UNIX Time Stamp
*'''${timestamp}''' - текущее время в формате UNIX Time Stamp
+
* '''${timestamp}''' - текущее время в формате UNIX Time Stamp
*'''${offset}''' - смещение времени начала архивного потока относительно текущего времени в секундах
+
* '''${offset}''' - смещение времени начала архивного потока относительно текущего времени в секундах
  
 
----
 
----
  
===Поддерживаемые форматы===
+
==== Поддерживаемые форматы ====
 
+
'''Default.''' Для создания запроса к API архива используется только шаблон, созданный на основе преобразования url-основного потока, либо из атрибута catchup-source:
===='''Default'''====
 
Для создания запроса к API архива используется только шаблон, созданный на основе преобразования url-основного потока, либо из атрибута catchup-source:
 
 
  #EXTINF: 0 catchup="default", Disney Channel
 
  #EXTINF: 0 catchup="default", Disney Channel
 
  <nowiki>http://example.com/stream1_${offset}.m3u8</nowiki>
 
  <nowiki>http://example.com/stream1_${offset}.m3u8</nowiki>
Строка 36: Строка 34:
 
В приведенном примере приложение обратится за текущей трансляцией по ссылке <nowiki>http://example.com/stream1.m3u8</nowiki>, а за телепрограммой с началом 4 апреля 2017 г. в 15:30 - по ссылке <nowiki>http://example.com/archive/?start=1491395400</nowiki>
 
В приведенном примере приложение обратится за текущей трансляцией по ссылке <nowiki>http://example.com/stream1.m3u8</nowiki>, а за телепрограммой с началом 4 апреля 2017 г. в 15:30 - по ссылке <nowiki>http://example.com/archive/?start=1491395400</nowiki>
  
===='''Append'''====
+
'''Append''' Аналогично как и '''Default''', только в catchup-source указывается относительный адрес
Аналогично как и '''Default''', только в catchup-source указывается относительный адрес
 
 
  #EXTINF: 0 catchup="append" catchup-source="?start=${start}"
 
  #EXTINF: 0 catchup="append" catchup-source="?start=${start}"
 
  <nowiki>http://example.com/stream1.m3u8</nowiki>
 
  <nowiki>http://example.com/stream1.m3u8</nowiki>
 
В приведенном примере приложение обратится за текущей трансляцией по ссылке <nowiki>http://example.com/stream1.m3u8</nowiki>, а за телепрограммой с началом 4 апреля 2017 г. в 15:30 - по ссылке <nowiki>http://example.com/stream1.m3u8?start=1491395400</nowiki>
 
В приведенном примере приложение обратится за текущей трансляцией по ссылке <nowiki>http://example.com/stream1.m3u8</nowiki>, а за телепрограммой с началом 4 апреля 2017 г. в 15:30 - по ссылке <nowiki>http://example.com/stream1.m3u8?start=1491395400</nowiki>
  
===='''Shift'''====
+
'''Shift.''' Архивные телепрограммы запрашиваются через добавление параметров '''utc''' и '''lutc''' к ссылке текущей трансляции (либо к ссылке в catchup-source), где utc - время начала запрашиваемой трансляции, lutc - текущее время:
Архивные телепрограммы запрашиваются через добавление параметров '''utc''' и '''lutc''' к ссылке текущей трансляции (либо к ссылке в catchup-source), где utc - время начала запрашиваемой трансляции, lutc - текущее время:
 
 
  #EXTINF: 0 catchup="shift", Disney Channel
 
  #EXTINF: 0 catchup="shift", Disney Channel
 
  <nowiki>http://example.com/stream1.m3u8</nowiki>
 
  <nowiki>http://example.com/stream1.m3u8</nowiki>
 
В этом случае для запроса архивной трансляции будет сформирована ссылка примерно такого вида: <nowiki>http://example.com/stream1.m3u8?utc=1491395400&lutc=1491808183</nowiki>
 
В этом случае для запроса архивной трансляции будет сформирована ссылка примерно такого вида: <nowiki>http://example.com/stream1.m3u8?utc=1491395400&lutc=1491808183</nowiki>
 
+
<br />
====Flussonic====
 
Использует API Flussonic для доступа к архивным телепрограммам. Данный формат архива не подразумевает использование атрибута catchup-source, поскольку используется метод преобразования ссылки текущего стрима регулярным выражения "<nowiki>http://example.com/stream1.m3u8</nowiki>".replace(/([^\?]*\/)([^\?]*?)(\.|\?|$)(.*)/,"$1$2-"+$start_timestamp+"-10800$3$4");
 
 
 
Ниже все 4 записи канала эквивалентны друг другу
 
#EXTINF: 0 catchup="flussonic", Disney Channel
 
<nowiki>http://example.com/stream1.m3u8</nowiki>
 
#EXTINF: 0 catchup="fs", Disney Channel
 
<nowiki>http://example.com/stream1.m3u8</nowiki>
 
#EXTINF: 0 catchup-type="flussonic", Disney Channel
 
<nowiki>http://example.com/stream1.m3u8</nowiki>
 
#EXTINF: 0 catchup-type="flussonic-hls", Disney Channel
 
<nowiki>http://example.com/stream1.m3u8</nowiki>
 

Обратите внимание, что все добавления и изменения текста статьи рассматриваются как выпущенные на условиях лицензии Creative Commons Zero (общественное достояние) (см. Браузер Fork - Wiki:Авторские права). Если вы не хотите, чтобы ваши тексты свободно распространялись и редактировались любым желающим, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого.
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ МАТЕРИАЛЫ, ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ!