Переустанавливал свой Zentyal с версии 2 на версию 3, и решил сильно мультикаст не гонять по сети, да и по WiFi у меня дофига пользователей (включая мобилы).
Для этого применил
http://www.udpxy.com/.
Что это? Это прокси мультикаста, в нашем случае для IPTV.
Почему эта программка? Ставиться моментально, работает шустро, ресурсы жрет терпимо, и приятный бонус в управлении траффиком клиентов (всё таки http).
Как ставить? На сайте есть инструкция, но на всякий случай, опишу тут.
wget http://www.udpxy.com/download/1_23/udpxy.1.0.23-7-prod.tar.gz
tar -xzvf udpxy.1.0.23-7-prod.tar.gz
make
make install
(возможно потребуется sudo make, не помню точно ...)
Дальнейшие шаги указаны произвольном порядке, важна их сумма.
1) Нужно откорректировать наш плейлист IPTV.m3u, заменить ссылки типа udp://@224.10.10.1:8001 (это образец, откроете свой плейлист увидите свое), на
http://192.168.0.1:1000/udp/224.10.10.1:8001 В данном примере считается что роутер имеет адрес 192.168.0.1, а порт 1000 мы укажем слушать программке udpxy.
2) udpxy запуск и параметры (инструкция тут
http://www.udpxy.com/umanual-ru.html). Опишу быстрый и более менее универсальный старт.
udpxy -p 1000 -M 30 -c 10
Расшифрую параметры: слушать порт 1000, возобновлять подписку на мультикаст-канал каждые 30 сек, поддерживать до 10 клиентов (каналов). Детальные настройки в инструкции на сайте.
3) Запускать из консоли конечно прикольно, но автостарт приятнее, создаем скрипт автозапуска.
sudo nano /etc/init.d/udpxy
#!/bin/sh
NAME=`basename $0`
DROOT=/usr/local/bin
DAEMON=${DROOT}/udpxy
ARG=$1
PARAMS="-p 1000 -M 30 -c 10"
cd ${DROOT}
if [ "$#" -ne 1 ]; then
ARG="start"
fi
case ${ARG} in
start) ${DAEMON} ${PARAMS} ;;
stop) killall ${NAME} ;;
*) echo "Usage: `basename $0` start|stop" ;;
esac
exit 0;
sudo chmod +x /etc/init.d/udpxy
sudo update-rc.d udpxy defaults
Запускаем
sudo /etc/init.d/udpxy start
Смотрим IPTV ...