Ку. Быстрая заметка шпаргалка. Иногда бывают случаи когда надо заставить приставку MAG250 при загрузке воспроизводить определенный IPTV канал. То есть один канал который должен транслироваться постоянно. Решение достаточно простое. Состоит в подмене страницы services.html(страница внутреннего портала) своей простой страничкой. Для выполнения этой операции требуется доступ по ssh к приставке. Итак.
Подключаемся к приставке и бежим в /home/web/
#cd /home/web/
Переименуем оригинальный файл.
#mv services.html services_original.html
создадим новый файл
#vi services.html
Наполняем файл следующим содержимым:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd";>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title></title>
<script src="event.js" type="text/javascript"></script>
<script type="text/javascript">
var stb;
var stbEvent=
{
onEvent : function(data){},
event : 0
}
function init(){
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
stb = gSTB;
stb.InitPlayer();
stb.SetStereoMode(1);
stb.SetVolume(100);
stb.Play('http://адрес_потока:порт');
setInterval('checkstatus();', 120000);
}
function checkstatus(){
if ((stbEvent.event == 1)||(stbEvent.event == 5)) stb.Play('http://адрес_потока:порт');
else {}
}
</script>
</head>
<body onload="init()">
</body>
</html>
Где адрес_потока:порт вписать свой адрес и порт. Ну и не забыть указать тип протокола. rtp,http,udp и так далее.
Более подробно о способах управления приставками, можно прочитать в официальном документе от Infomir
на ихней вики: JS API — для версий до 0.2.18
Сохраняем нашу страничку.
Дальше. Нужно убить все порталы которые прописаны в приставке чтобы запускался только внтуренний портал с нашей страничкой.
Удаляем первый.
#fw_setenv portal1=""
И второй.
#fw_setenv portal2=""
Перезагружаемся.
#reboot
После перезагрузки должны получить то что хотели. :)
Собственно, как это работает. При загрузке внутреннего портала загружается наша страничка в коде которой мы создаем объект stb и запускаем систему событий. дальше инициализируется встроенный плеер и начинает воспроизведение потока. При этом раз в 2 минуты проверяем не пропал ли поток stbEvent.event == 1 и 5.
Вот как то так)
В связи с тем что код копируется со всяким html-мусором выкладываю просто текстовый файл.
Скачать: services.txt