IPTV через сервер Debian/Ubuntu

Имеется сервер под linux, раздающий интернет в свою локальную сеть.
Задача: настроить возможность просмотра iptv в своей локалке.
Одним из вариантов решения является использование udpxy - сервера, который принимает multicast поток,
идущий по UDP-протоколу, и отдает его по запросу со стороны компьютера локальной сети уже по TCP-протоколу.

Установку производим под root-ом (для Ubuntu: sudo su , для Debian: su root ).

Устанавливаем build-essential (необходим для сборки пакетов из исходников):

# apt-get install build-essential

Добавим маршрут к подсети, откуда ведется трансляция. Для псковлайна маршрут выглядит так:

# route add -net 239.1.0.0 netmask 255.255.0.0 dev eth0

где eth0 - интерфейс, смотрящий во внешнюю сеть.

Качаем udpxy отсюда: udpxy.1.0-Chipmunk-13.tgz

Копируем на сервер, затем распаковываем:

tar -xzvf udpxy.1.0-Chipmunk-13.tgz

Заходим в папку:

cd udpxy-1.0-Chipmunk-13

Устанавливаем udpxy:

make
make install

Перемещаем исполняемый файл udpxy, например в /usr/local/sbin/ :

mv udpxy /usr/local/sbin/

Запускаем:

/usr/local/sbin/udpxy -a ra0 -m eth0 -p 8888 -S -l /var/log/udpxy.log -B 2048K -c 2

где:

  • -a - интерфейс, который будет слушать udpxy в ожидании tcp-запросов (внутренняя сетевая карта);
  • -m - интерфейс, на который приходит мультикаст (внешняя сетевая карта);
  • -p - tcp-порт, на котором висит udpxy;
  • -B - размер буфера;
  • -S - вести статистику соединений;
  • -l - указание пути к файлу логов.
  • -c - колличество клиентов, имеющих возможность одновременно использовать ip-tv.

Добавляем в автозагрузку маршрут и udpxy:

echo "route add -net 239.1.0.0 netmask 255.255.0.0 dev eth0">> /etc/rc.local
echo "/usr/local/sbin/udpxy -a ra0 -m eth0 -p 8888 -S -l /var/log/udpxy.log -B 2048K -c 2">> /etc/rc.local

Теперь качаем плейлист:

wget http://pskovline.tv/iptv.m3u

и редактируем плейлист командой:

sed -e 's/^udp:\/\/\@/http:\/\/192.168.1.1:8888\/udp\//' -i iptv.m3u

где 192.168.1.1 - ip-адрес сервера с udpxy. Т.е. этой командой преобразуем ссылки в плейлисте из вида «udp:@239.1.3.234:1234» в «http: 192.168.1.1:8888/udp/239.1.3.234:1234».

Теперь можно открывать преобразованный плейлист плеером vlc на компьютерах в локальной сети.

Коментувати

Простий текст

  • Не дозволено жодних HTML теґів.
  • Рядки й абзаци переносяться автоматично.
  • Адреси вебсторінок та адреси електронної пошти автоматично перетворюються у посилання.