Настройка IPTV в OpenWRT | ||
Администрирование > Разное Хотя я практически не смотрю телевизор, иногда появляется непреодолимое желание посмотреть что сейчас вещают в новостях. Часто это желание возникает когда дочка спит, и телевизор уже вне зоны доступа. Как вы понимаете выход один — IPTV.
Хотя я практически не смотрю телевизор, иногда появляется непреодолимое желание посмотреть что сейчас вещают в новостях. Часто это желание возникает когда дочка спит, и телевизор уже вне зоны доступа. Как вы понимаете выход один — IPTV. По счастливому стечению обстоятельств у меня подключен тарифный план с бесплатным пакетом IPTV и имеется роутер Netgear WNDR-3800. На роутере имеется прошивка OpenWrt Backfire 10.03.1. Было много статей об OpenWrt, о настройке сети в OpenWrt, настройке IPTV трансляций, и некоторые другие, но к сожалению в них процесс настройки собственно IPTV если и описан, то без каких либо подробностей. И хотя этот процес совсем не сложен, я надеюсь мой топик сократит время на поиск и чтение необходимых мануалов, которых в сети предостаточно. Я произвожу эти настройки не в первый раз, так как иногда в процессе экспериментов с VPN, Wi-Fi и другими плюшками роутер умирал и восстанавливался в аварийном режиме. Посему будьте внимательны и осторожны, что бы не пришлось обращаться к процедуре восстановления. Все настройки будем производить из консоли, т.к. я с некоторых пор не доверяю LuCI. Предпологается что вы подключены к роутеру по ssh под рутом. Первым делом устанавливаем udpxy: opkg update opkg install udpxy После успешной установки проверим что udpxy запускается: /usr/bin/udpxy Эта команда выведет версию udpxy и ее основные опции. Кстати подробное описание все опций можно найти здесь. Перейдем собственно к настройке. В папке /etc/init.d создаем файл udpxy: cd /etc/init.d vi udpxy Этот файл — стартовый скрипт udpxy. Подробнее о стартовых скриптах OpenWrt можно узнать здесь. Содержимое нашего файла будет примерно таким: #!/bin/sh /etc/rc.common # Copyright © 2010 OpenWrt.org START=99 STOP=10 IGMP_OPTS="-a br-lan -m eth1 -p 8888 -M 600" IGMP_BIN="/usr/bin/udpxy" PID_F="/var/run/udpxy.pid" start() { echo "Starting udpxy" start-stop-daemon -S -x $IGMP_BIN -p $PID_F -b -m -- $IGMP_OPTS } stop() { echo "Stopping udpxy" start-stop-daemon -K -x $IGMP_BIN -q } Для запуска службы используется start-stop-daemon — утилита для контроля запуска и остановки системных служб. В IGMP_BIN указываем что и откуда запускать, PID_F — куда записать PID что бы в последствии за ним можно было следить, IGMP_OPTS — настройки запускаемой службы. Прежде чем указывать настройки, советую попробовать запустить udpxy с этими настройками, и только после этого переносить их в конфиг, это поможет вам не стать жертвой опечатки, и возможно сэкономит немного времени. После того как все настройки завершены, закрываем файл udpxy и запускаем сервис командой /etc/init.d/udpxy start Проверить запустилась ли udpxy можно при помощи команды ps |grep udpxy Если вы видите в результате только одну строку, возвращайтесь к настройкам и проверяйте что вы сделали не так. В случае если все верно, должно получиться что то вроде 1637 root 804 S /usr/bin/udpxy -a br-lan -m eth1 -p 8888 -M 600 29984 root 1372 S grep udpxy Так же можно открыть в браузере страничку http://192.168.1.1:8888/status для проверки что udpxy работает. Теперь можно прописать наш стартовый скрипт в автозагрузку. Для этого достаточно выполнить команду: /etc/init.d/udpxy enable после этого в папке /etc/rc.d должна появиться символическая ссылка вида S99udpxy. Проверить добавился ли скрипт в автозагрузку можно так же командой /etc/init.d/udpxy enabled && echo «enabled» если все нормально вы получите в ответ «enabled». Дело осталось за малым — создать правила для udp трафика: config rule option src wan option proto igmp option target ACCEPT config rule option src wan option proto udp option dest_ip 224.0.0.0/4 option target ACCEPT Эти правила необходимо добавить в /etc/config/firewall, и после этого перезапустить службу командой: /etc/init.d/firewall restart Так же можно перезагрузить и сам роутер, что бы убедиться что все необходимые службы запускаются, ивсе рабтает именно так как мы задумали. Теперь берем список каналов у провайдера, и все ссылки преобразуем так как описано в мануале к udpxy: http://{address}:{port}/{protocol}/{channel_addr}:{channel_port} то есть если у вас в списке каналов указано rtp://@111.22.33.44:1234то на выходе должно получиться http://192.168.1.1:8888/udp/111.22.33.44:1234 После этого открываем список каналов любым подходящим проигрывателем и наслаждаемся. Источник: http://habrahabr.ru/blogs/nix/138735/ |
||
Комментарии | ||