Запуск произвольного канала на MAG250

Автор: | 21.02.2015

mag-250-microКу. Быстрая заметка шпаргалка. Иногда бывают случаи когда надо заставить приставку MAG250 при загрузке воспроизводить определенный IPTV канал. То есть один канал который должен транслироваться постоянно. Решение достаточно простое. Состоит в подмене страницы services.html(страница внутреннего портала) своей простой страничкой. Для выполнения этой операции требуется доступ по ssh к приставке. Итак.
Подключаемся к приставке и бежим в /home/web/

[code]#cd /home/web/[/code]

Переименуем оригинальный файл.

[code]#mv services.html services_original.html[/code]

создадим новый файл

[code]#vi services.html[/code]

Наполняем файл следующим содержимым:

[code]<!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>[/code]

Где адрес_потока:порт вписать свой адрес и порт. Ну и не забыть указать тип протокола. rtp,http,udp и так далее.
Более подробно о способах управления приставками, можно прочитать в официальном документе от Infomir
на ихней вики: JS API — для версий до 0.2.18
Сохраняем нашу страничку.
Дальше. Нужно убить все порталы которые прописаны в приставке чтобы запускался только внтуренний портал с нашей страничкой.
Удаляем первый.

[code]#fw_setenv portal1=""[/code]

И второй.

[code]#fw_setenv portal2=""[/code]

Перезагружаемся.

[code]#reboot[/code]

После перезагрузки должны получить то что хотели. :)
Собственно, как это работает. При загрузке внутреннего портала загружается наша страничка в коде которой мы создаем объект stb и запускаем систему событий. дальше инициализируется встроенный плеер и начинает воспроизведение потока. При этом раз в 2 минуты проверяем не пропал ли поток stbEvent.event == 1 и 5.
Вот как то так)

В связи с тем что код копируется со всяким html-мусором выкладываю просто текстовый файл.
Скачать: services.txt

Запуск произвольного канала на MAG250: 3 комментария

  1. maroshka

    Доброго времени суток,
    Делаю что-то подобное под трансляцию некоторых, необходимых потоков с управлением через свою удаленку. Скрипты наваяны на shell на приставках, на python управляющий, передающий адрес стрима, потом локальный скрипт меняет в файлике services.html переменную на новый стрим и передергивается процесс stbapp. Все гуд, но каждая смена стрима это около 7 cекунд. Мне кажется есть более быстрое переключение на новый стрим. Возможно Вы сталкивались с таким вопросом?

    1. OFF Автор записи

      Я с таким не сталкивался честно говоря. А с размером буфера(stb.SetBufferSize) пробовали играться? Ситуация меняется?

  2. Уведомление: MAG-250 от Ростелекома в качестве ip2rca на головной станции | conture.by

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *