Управление плейлистами
Загрузите или удалите плейлист
Введите ссылку на плейлист и код с экрана TV и email
Загрузите локальный файл плейлиста IPTV и email
Введите ссылку на плейлист или название файла и ID плейлиста
Загрузите или удалите плейлист
Введите ссылку на плейлист и код с экрана TV и email
Загрузите локальный файл плейлиста IPTV и email
Введите ссылку на плейлист или название файла и ID плейлиста
Vision - это кросс-платформенный медиаплеер. Используйте API для интеграции в свои медиа-сервисы.
1. Основное
Плейлист использует формат M3U, с дополнительными переменными.
Глобальными, которые касаются всего плейлиста и локальными, касаются конкретного канала.
Глобальная: url-tvg. Локальные tvg-rec, timeshift, group-title.
Пример плейлиста:
#EXTM3U url-tvg="http://example.com/epg.xml.gz"
#EXTINF:-1 group-title="Group_1" tvg-rec="1" timeshift="1",Channel 1
#EXTGRP:Group_1
http://example.com/stream/1.m3u8
#EXTINF:-1 group-title="Group_2" tvg-rec="1" timeshift="1",Channel 2
#EXTGRP:Group_2
http://example.com/stream/2.m3u8
Глобальная переменная записана в первой строке плейлиста после #EXTM3U.
Локальные для каналов Channel 1 и Channel 2 после #EXTINF.
После перечисления всех переменных канала, например для первого канала это:
tvg-rec="1" - доступен архив (длинна архива корректируется наличием EPG в XMLTV);
timeshift="1" - доступен таймшифт;
group-title="Group_1" - название группы, которой принадлежит канал;
#EXTGRP:Group_1 - второй вариант названия группы, поддерживаются оба способа;
Channel 1 - непосресвенно само название канала канала;
В следующей строке идет ссылка на HLS поток,http://example.com/stream/1.m3u8.
2. Переменные
Глобальные переменные:
url-tvg - ссылка на загрузку XMLTV файла со списком программы передач и иконок для каналов(поддерживается так же .gz формат);
Локальные переменные:
group-title - название тематической группы канала;
Поддерживаемые названия групп описаны в разделе "Оформление" настоящего API;
tvg-rec - флаг архива, 1 - поддерживается, 0 - не поддерживается (по умолчанию 0);
timeshift - флаг таймшифта, 1 - поддерживается, 0 - не поддерживается (по умолчанию 0);
3. Оформление
Формат иконок каналов: PNG 120x90.
Список названий поддерживаемых тематических групп:
- Общие
- Зарубежные
- Детские
- Спорт
- Музыкальные
- Познавательные
- Кино
- Для взрослых
- Новостные
4. XMLTV файл
XMLTV - это широко распространенный стандарт описания программ передач. Подробную спецификацию формата можно найти здесь: http://wiki.xmltv.org/index.php/XMLTVFormat.
Пример файла в формате XMLTV:
<?xml version="1.0" encoding="utf-8"?>
<tv generator-info-name="IPTVProvider">
<channel id="1">
<display-name lang="ru">Channel 1</display-name>
<icon src="http://example.com/images/channel_2.png"/>
</channel>
<channel id="2">
<display-name lang="ru">Channel 2</display-name>
<icon src="http://example.com/images/channel_2.png"/>
</channel>
<programme start="20190724120000 +0000" stop="20190724121500 +0000" channel="1">
<title lang="ru">Программа 1</title>
</programme>
<programme start="20190724121500 +0000" stop="20190724130000 +0000" channel="1">
<title lang="ru">Программа 2</title>
</programme>
<programme start="20190724100000 +0000" stop="20190724110000 +0000" channel="2">
<title lang="ru">Программа 1</title>
</programme>
<programme start="20190724110000 +0000" stop="20190724120000 +0000" channel="2">
<title lang="ru">Программа 2</title>
</programme>
Файл XMLTV состоит из двух частей:
записи 'channel', содержащие информацию о каналах:
'id' - идентификатор канала;
'display-name' — название канала;
'icon' — логотип канала;
записи 'programme', содержащие информацию о передачах:
'title' - название передачи;
'desc' — описание передачи;
'category' — категория передачи;
Даты начала передачи (start) и окончания передачи (stop) описываются в формате "YmdHis P", где Y — год (4-значный), m — месяц (от 01 до 12), d — день (от 01 до 31), H — час (от 00 до 23), i — минута (от 00 до 59), s — секунда (от 00 до 59), P — смещение по часовому поясу (+0400 — соответствует Московскому времени).
5. Архив
Доступ к архиву плеер осуществляет добавлением переменных archive и archive_end, определяющих начало и конец передачи в UNIX формате, в GET запрос URL'a HLS потока:
http://example.com/stream/1.m3u8?archive=1407164412&archive_end=1407165000
6. Таймшифт
Функцию Таймшифт (TimeShift) называют еще сдвигом во времени. В первую очередь функция позволяет смотреть передачи во время записи. Доступ к Таймшифт осуществляется добавлением переменной timeshift (время unixtime с которого нужно начать воспроизведение) и timenow (время unixtime когда включили воспроизведение(т.е. текущее время)). Трансляция осуществляется в live режиме. Пример запроса:
http://example.com/stream/1.m3u8?timeshift=1483613831&timenow=1483628264
7. Плейлисты
Загрузка плейлиста по коду - это функция, с помощью которой операторы онлайн телевидения могут передавать URL адрес плейлиста по коду отображенном на экране телевизора.
Для добавления плейлиста нужно отправить GET запрос на адрес https://api.vision-app.net/collector/add_playlist указав переменные:
code - код для загрузки с экрана устройства;
playlist_url - url плейлиста в формате http(s)://example.com;
email - email пользователя;
В ответ сервер отправляет данные в формате JSON с переменными status и message. Существует два статуса в ответе сервера.
"status": "success" - при получении данного статуса все данные приняты и плейлист будет загружен;
"status": "faild" - произошла ошибка, неправильный формат данных или код не найден;
Для добавления плейлиста как файла нужно отправить данные на адрес https://api.vision-app.net/collector/add_playlist_file?email={email}&code={code} указав вместо {code} - код для загрузки с экрана устройства и вместо {email} - email пользователя;
переменная для загрузки файла playlist (длина имени файла до 200 символов, размер до 2мб)
В ответ сервер отправляет данные в формате JSON с переменными status и message. Существует два статуса в ответе сервера.
"status": "success" - при получении данного статуса все данные приняты и плейлист будет загружен;
"status": "faild" - произошла ошибка, неправильный формат данных или код не найден;
Для удаление плейлиста нужно отправить GET запрос на адрес https://api.vision-app.net/collector/del_playlist указав переменные:
id - номер плейлиста;
playlist - название плейлиста полностью или url адрес плейлиста;
В ответ сервер отправляет данные в формате JSON с переменными status. Существует два статуса в ответе сервера.
"status": "success" - при получении данного статуса все данные приняты и плейлист будет удален;
"status": "faild" - произошла ошибка, неправильный формат данных или код не найден;
Загрузите приложение на свое устройство
1. Пропишите адрес портала как http://stb.vision-app.net/
2. После запуска портала отобразится КОД для загрузки списка каналов, введите ссылку на плейлист и код с экрана TV в разделе "Управление плейлистами" -> "Добавить url m3u". После чего будет загружен плелист и начнется трансляция. Или добавьте плейлист файлом и код с экрана TV в разделе "Управление плейлистами" -> "Добавить файл".