Utilisation du multiposte offert par Free derrière un routeur linux
Par Ludovic Francois, dimanche 4 juin 2006 à 22:31 :: General :: #17 :: rss
Utilisation du multiposte offert par Free derrière un routeur linux
- vlc
- iptables
Du côté du routeur linux
Problème de communication entre la mafreebox.freebox.fr et la machine cliente censé diffuser la video
Lorsque je tente de regarder un flux video depuis ma freebox sur mon pc j'obtenais ce message :
Sending request: SETUP rtsp://212.27.38.253/freeboxtv/202 RTSP/1.0 CSeq: 3 Transport: RTP/AVP;unicast;client_port=35982-35983 User-Agent: VLC Media Player (LIVE555 Streaming Media v2005.10.05) Received SETUP response: RTSP/1.0 453 Not Enough Bandwidth Cseq: 3 Server: fbxrtspd/1.0 Freebox minimal RTSP server [00000269] livedotcom demuxer error: PLAY failed No RTSP session is currently in progress [00000268] main input error: no suitable access module for `rtsp://mafreebox.freebox.fr/freeboxtv/202' [00000259] main playlist: nothing to play
En effet la freebox nous informe que la session RTSP passera par les ports 35982-35983, nous allons donc plus bas rediriger ces 2 ports vers la machine chargé de récupérer le flux video.
Forwarde des ports udp demandés
# for PORT in `seq 35982 35983`
do
iptables -A INPUT -p udp --dport ${PORT} -j ACCEPT
iptables -t nat -A PREROUTING -p udp --dport ${PORT} -j DNAT --to-destination 192.168.1.44:${PORT}
done
#
Une fois ce forwarde fait, je peux relancer mon client vlc, et je suis tout à fait capable de regarder la télé depuis mon portable derrière le firewall.
Règles iptables mises en place sur mon routeur linux
set_freebox_multiposte_rules()
{
IPADDR="192.168.1.44" # freeplayer client
PORTS="`seq 35000 36000`"
iptables -A INPUT -p udp -s mafreebox.freebox.fr -j ACCEPT
for PORT in ${PORTS};
do
iptables -A INPUT -p udp --dport ${PORT} -j ACCEPT
iptables -t nat -A PREROUTING -p udp --dport ${PORT} -j DNAT --to-destination ${IPADDR}:${PORT}
done
}
Utilisation du module rtsp conntrack dans le noyau linux
Pour l'instant j'ai juste vu quelques sites qui en parlaient, mais en visualisant les options offertes par make menuconfig dans un noyau linux 2.6, je ne vois rien en rapport avec le tracking du protocole rtsp.
Mais il est sur que ca serait beaucoup plus intéressant de passer par cette méthode de conntrack plutôt que rediriger une suite de port sans jamais être sur que le serveur de streaming renvoit sur ces port.
Une autre solution serait de réussir à forcer vlc à utiliser toujours les mêmes ports udp pour faire passer l'information.
Du côté du client multiposte
Plusieurs possibilités toutes basées sur vlc dans l'ensemble qui globalement exécuteront ce genre de commande :
$ vlc rtsp://mafreebox.freebox.fr/freeboxtv/201
Exemple qui permet de regarder France 2.
Sinon voici quelques url, sur des solutions un peu plus complètes qui permettent de visualiser les chaines disponibles et de récupérer des informations sur les programmes en cours :
Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire