Введение
В котором становится понятно, что я продался и задёшево пиарю IPTV приставки.
Здравствуйте! Понадобилось мне тут организовать портал для приставок MAG245 (не реклама, просто они и правда клёвые). Процесс внедрения не отнял у меня много времени, но захотелось поделиться опытом или дать подсказку тем, кто планирует внедрять STB, но не может определиться с моделью. Суть в том, что приставка сама по себе ничего не умеет. Её можно научить показывать IPTV, работать со всякими ютубами, но это скучно и долго. А выдавать приставки абонентам предполагается в ощутимых масштабах. Тут нам на помощь приходит производитель, который предоставляет свободное ПО под названием middleware stalker. По сути - это набор html, js и php файлов, которые приставка забирает с веб-сервера и получает список каналов, телепрограмму и вообще, формирует интерфейс, который отображает пользователю. То есть правкой конфига портала мы можем повлиять сразу на все пользовательские приставки - можем убрать пункт меню с запуском приложения для просмотра ютуба или запретить работать с флешками. Процесс разворачивания самого портала описан у производителя, да и сложного там ничего нет.
Хотя документация у них в жутком состоянии - всё разрозненно, что-то на вики, что-то на основном сайте... Если кто ткнёт в нормальную, приятную во всех отношениях документацию - буду рад.
Есть только вот одна проблема: базовый функционал - создание списка каналов, реализован...никак. Каналы предполагается добавлять руками. Я быстренько прикинул перспективу добавления 104 каналов руками и приуныл. Поборов уныние, я полез в БД. И нашёл там табличку itv, которая и хранит в себе список каналов. Запихнул туда тестовую строку и обломался - в админке канал виден, на приставке его нет. Почитал форум и обнаружил информацию о том, что наряду с
itv необходимо помещать список каналов так же и в табличку
ch_links. Проблема в том, что в
ch_links описание канала привязано к ID в itv. Так родился не очень приятный, но рабочий алгоритм - проливаем каналы в
itv, затем дропаем все записи из
ch_links, делаем выборку из
itv и инсертим всё, что нужно в
ch_links. Плейлист обновляется не часто, так что дропать всю табличку при малейшем изменении плейлиста - не очень страшно (но очень не красиво, да).
Чуть ближе к сути
Тут внимательный читатель понимает, что ничего я не рекламирую, а просто заскучал и решил написать целый пост о двух простеньких скриптах.