API
Термины
Контент – содержательная часть видео- или радиотрансляции в цифровом виде.
- Сервис – программно-аппаратный комплекс предоставления доступа к IPTV как к услуге.
- Клиент – приложение или устройство, получающее доступ к Сервису посредством учет- ной записи.
- Абонент – физический пользователь сервиса SUNDUK.TV
- Абонемент – учетная запись клиента. Логин и пароль цифровые – для удобства набора со стандартного пульта управления устройства (settopbox).
- Сервер вещания – streamserver – программно-аппаратный комплекс для организации трансляции потокового видео и радиосигнала.
- Ссылка вещания – URL, по адресу которого сервер вещания транслирует контент.
- Middleware – комплекс сервисов авторизации и управления абонементами, потоками ве- щания, персональными настройками.
- API – интерфейс Middleware для программного взаимодействия с клиентом.
Принцип работы
Провайдер транслирует видеопотоки телевизионных и радио каналов в сети Интернет. Видеокон- тент предоставляется посредством транспортного потока HTTP/TS с распределенных серверов провайдера. Контент закодирован видеокодеком H.264 и аудиокодеком AAC (подробные техни- ческие характеристики потока представлены в справочном разделе настоящего руководства). Сервис предоставляется на платной основе, в виду чего становится невозможным предоставлять доступ к вещанию обычными средствами. В отличие от ссылок типовых списков воспроизведения (playlists), ссылки вещания не могут быть постоянными, поэтому они динамически генерируются на время сессии работы клиента. Для генерации уникальной ссылки необходимо реализовать методы работы с сессией клиента. При первом обращении к системе необходимо авторизоваться и инициировать сессию. Ответ сервера включает в себя ключ сессии, который необходимо передавать при каждом обращении. Для удобства реализации сервер принимает ключ сессии как в виде параметра URL, так и в виде COOKIES.
Общий алгоритм приложения можно представить следующим образом:
1. авторизация /login и получение списка настроек клиента
2. получение списка каналов, групп каналов, текущего EPG на каждый канал. /channel_list
3. при выборе абонентом канала необходимо получить ссылку вещания для этого канала /get_url
4. проигрывание полученной ссылки воспроизведения
5. подгрузка следующего фрагмента EPG при окончании телепередачи /epg_current
6. загрузка EPG на весь день при просмотре программы телепередач за этот день и при вы- боре телепередачи из архива.