OVH Cloud OVH Cloud

[HS/2] vlc et la freebox

32 réponses
Avatar
fra-duf-no-spam
Salut.

J'ai une Fbx V4 et je voulais essayer le multi poste avec VLC, mais =C3=A7a
ne semble pas marcher.

Quand je fais:
mplayer rtsp://mafreebox.freebox.fr/freeboxtv/stream?id=3D373

j'ai bien la vid=C3=A9o qui marche, mais VLC ne me r=C3=A9cup=C3=A8re que l=
a liste de
lecture, et pas de son ni d'image quand je choisis une cha=C3=AEne.

Je suis en testing, je pense avoir ouvert les ports qui vont bien sur
ma Debian, et VLC arrive =C3=A0 lire des fichiers vid=C3=A9os.

Quelqu'un a une id=C3=A9e?

Merci d'avance.

10 réponses

1 2 3 4
Avatar
François Boisson
Le Sat, 24 Mar 2007 12:49:23 +0100
Jean Baptiste Favre a écrit:

Re,
J'ai oublié une règle: celle qui autorise le serveur Free à nous
contacter puisque le module netfilter rtsp n'est pas par défaut dans le
noyau:

iptables -A INPUT -p udp -s 212.27.38.253 -j ACCEPT

Les ports source et destination sont variables et définis par VLC, donc
pas de limitation sérieuse possible de ce point de vue sans le module rtsp.



En ce qui me concerne, une règle très simple:

iptables -t nat -A PREROUTING -p tcp -i eth1 -s 212.27.38.253
-d 82.66.248.156 -j DNAT --to 192.168.1.2

iptables -t nat -A PREROUTING -p udp -i eth1 -s 212.27.38.253
-d 82.66.248.156 -j DNAT --to 192.168.1.2

Où 82.66.248.156 est mon IP free et 192.168.1.2 la machine concernée.
C'est primaire mais ne nécessite pas de module rstp.

François Boisson


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Laurent Besson
Le Samedi 24 Mars 2007 13:14, François Boisson a écrit :
En ce qui me concerne, une règle très simple:

iptables -t nat -A PREROUTING -p tcp -i eth1 -s 212.27.38.253
-d 82.66.248.156 -j DNAT --to 192.168.1.2

iptables -t nat -A PREROUTING -p udp -i eth1 -s 212.27.38.253
-d 82.66.248.156 -j DNAT --to 192.168.1.2

Où 82.66.248.156 est mon IP free et 192.168.1.2 la machine concernée.
C'est primaire mais ne nécessite pas de module rstp.



Tout à fait ok mais j'ai aussi une question par rapport au multiposte...
Supposons plusieurs machine derriere le routeur 82.66.248.156 soient :
192.168.1.2 , 192.168.1.3 ...
Comment prerouter les flux pour que chacune ai le multiposte...?

NB : C'est une question qui aussi valable pour emule sur plusieur poste..?
Avatar
François Boisson
>
Tout à fait ok mais j'ai aussi une question par rapport au multiposte...
Supposons plusieurs machine derriere le routeur 82.66.248.156 soient :
192.168.1.2 , 192.168.1.3 ...
Comment prerouter les flux pour que chacune ai le multiposte...?



Là dans ce cas, il faut un module rstp afin que netfilter puisse
prendre les numéros des ports à la volée...


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Jean Baptiste Favre
François Boisson a écrit :
En ce qui me concerne, une règle très simple:

iptables -t nat -A PREROUTING -p tcp -i eth1 -s 212.27.38.253
-d 82.66.248.156 -j DNAT --to 192.168.1.2

iptables -t nat -A PREROUTING -p udp -i eth1 -s 212.27.38.253
-d 82.66.248.156 -j DNAT --to 192.168.1.2

Où 82.66.248.156 est mon IP free et 192.168.1.2 la machine concerné e.
C'est primaire mais ne nécessite pas de module rstp.

François Boisson


J'ai oublié de préciser que ma machine se trouve derrière un routeu r
OpenWRT qui prend en charge le rtsp. Je n'ai donc, pour ma part, pas
besoin de DNATer tout le trafic en provenance du serveur de Free.

Le problème concernant l'IP 228.67.43.91 viendrait de l'utilisation de
la librairie www.liv555.com qui envoie un paquet vers cette IP multicast
pour récupérer l'IP locale. Si on autorise pas ce type de paquets, pa s
d'affichage dans vlc (je suis sous Ubuntu Edgy)


Cordialement,
JB
Avatar
Jean Baptiste Favre
Laurent Besson a écrit :
Le Samedi 24 Mars 2007 13:14, François Boisson a écrit :
En ce qui me concerne, une règle très simple:

iptables -t nat -A PREROUTING -p tcp -i eth1 -s 212.27.38.253
-d 82.66.248.156 -j DNAT --to 192.168.1.2

iptables -t nat -A PREROUTING -p udp -i eth1 -s 212.27.38.253
-d 82.66.248.156 -j DNAT --to 192.168.1.2

Où 82.66.248.156 est mon IP free et 192.168.1.2 la machine concerné e.
C'est primaire mais ne nécessite pas de module rstp.



Tout à fait ok mais j'ai aussi une question par rapport au multiposte ...
Supposons plusieurs machine derriere le routeur 82.66.248.156 soient :
192.168.1.2 , 192.168.1.3 ...
Comment prerouter les flux pour que chacune ai le multiposte...?

NB : C'est une question qui aussi valable pour emule sur plusieur poste ..?


Si la freebox est configurée en mode routeur, je ne sais pas (ce n'est
pas mon cas), mais si la freebox est configurée en mode normal et que
vous avez un routeur supportant le rtsp, pas de soucis.
Pour ma part, ma freebox est configurée en mode normal et j'ai un
routeur sous OpenWRT qui fait le travail tout seul grâce au module rtsp .
Pour établir une comparaison, le protocole rtsp fonctionne un peu comme
le FTP actif: le client va envoyer sa requête avec le choix de "chaîn e"
ainsi que le port sur lequel il attend la "réponse" du serveur en UDP.
Le module netfilter rtsp détecte la requête du client et va autoriser
les paquets en provenance du serveur à passer. Donc, normalement, pas d e
problème pour avoir plusieurs clients dans ce cas-là.

En revanche, pour Emule, pour autant que je sache, c'est impossible.
N'hésitez pas à me corriger :-)
Cordialement,
JB
Avatar
fra-duf-no-spam
Le 13596ième jour après Epoch,
François Boisson écrivait:

Le Sat, 24 Mar 2007 11:01:51 +0100
Makkhdyn a écrit:

Pour le multi-poste il suffit d'ouvrir http://mafreebox.freebox.fr/
freeboxtv/playlist.m3u avec vlc. (vous pouvez aussi lire le contenu
de la playlist et ouvrir toutes les chaines une par une.
Pour le freeplayer par contre c'est le code de François qu'il faut
utiliser pour faire de son PC un "server" pour le freeplayer



Ben non, ça n'était pas mon message,

C'est un problème de sortie video peut être, essaye

$ vlc --vout caca rtsp://mafreebox.freebox.fr/freeboxtv/373



Tout pareil. Dommage, j'aime bien l'ASCII Art ;)
Avatar
fra-duf-no-spam
Le 13596ième jour après Epoch,
Jean Baptiste Favre écrivait:

Re,
J'ai oublié une règle: celle qui autorise le serveur Free à   nous
contacter puisque le module netfilter rtsp n'est pas par défaut dans le
noyau:

iptables -A INPUT -p udp -s 212.27.38.253 -j ACCEPT



Ça, je fais déjà. D'autre part, comme j'ai déjà di t, mplayer marche
bien lui. A moins qu'il y ait plusieurs façons de parler en RTSP, je
pense que ça viens de vlc...

Jean Baptiste Favre a écrit :
Bonjour,
Peut-être la réponse ici: http://www.gege.org/
J'ai également eu le problème: les paquets UDP arrivent bien s ur la
machine mais rien ne s'affiche.
Un petit tour dans iptables plus tard, il faut ajouter la règle sui vante:

iptables -A INPUT -p udp -d 228.67.43.91 --dport 15947 -j ACCEPT

Les paquets concernés ont pour IP source la propre IP de la machine
client.





Tu peux m'expliquer ça? J'avoue ne pas comprendre cette dernière règle
iptables. Ni pour -d, ni pour --dport :(
Avatar
fra-duf-no-spam
Le 13596ième jour après Epoch,
Klaus Becker écrivait:

Am Samstag, 24. März 2007 11:45 schrieb Pascal Hambourg:
Salut,

François TOURDE a écrit :
>>> mplayer rtsp://mafreebox.freebox.fr/freeboxtv/stream?id73
>>>
>>>j'ai bien la vidéo qui marche, mais VLC ne me récupère que la liste de
>>>lecture, et pas de son ni d'image quand je choisis une chaîne.
>>>
>>>Je suis en testing, je pense avoir ouvert les ports qui vont bien sur
>>>ma Debian, et VLC arrive à lire des fichiers vidéos.
>
> Rien... Toujours pas d'images. C'est dommage parce que ça consomme
> quand même la bande passante :) ... Les paquets arrivent, mais ri en ne
> s'affiche.

Les paquets arrivent, mais est-ce qu'ils sont bien acceptés par les
règles de filtrage ? RTSP utilise des ports dynamiques pour les flu x de
données, un peu comme FTP. Il faut soit fixer une plage de ports UDP
dans la configuration du client qui soit autorisée par le firewall, soit
autoriser tout ce qui vient de l'adresse IP du freeplayer (risqué e n cas
de spoofing), soit utiliser le module de suivi de connexion RTSP pour
Netfilter (dans le patch-o-matic-ng, pas en standard dans le noyau).



Salut,

j'utilise

iptables -A INPUT -p udp -s 212.27.38.253 -j ACCEPT
iptables -A OUTPUT -p udp --dport 554 -j ACCEPT



Moi aussi, en quelque sorte. La première règle est présente, et la
seconde implicite par d'autres règles.

Mais ça ne marche toujours qu'avec mplayer :(
Avatar
Pascal Hambourg
>> Jean Baptiste Favre a écrit:

J'ai oublié une règle: celle qui autorise le serveur Free à nous
contacter puisque le module netfilter rtsp n'est pas par défaut dans le
noyau:

iptables -A INPUT -p udp -s 212.27.38.253 -j ACCEPT

Les ports source et destination sont variables et définis par VLC, donc
pas de limitation sérieuse possible de ce point de vue sans le module rtsp.







Il me semblait avoir lu que VLC pouvait être configuré pour utiliser une
plage de ports définie pour recevoir les flux vidéo, comme certains
clients et serveurs FTP pour les connexions de données.

Le Samedi 24 Mars 2007 13:14, François Boisson a écrit :

En ce qui me concerne, une règle très simple:

iptables -t nat -A PREROUTING -p tcp -i eth1 -s 212.27.38.253
-d 82.66.248.156 -j DNAT --to 192.168.1.2

iptables -t nat -A PREROUTING -p udp -i eth1 -s 212.27.38.253
-d 82.66.248.156 -j DNAT --to 192.168.1.2





Ça ne fait pas une mais deux règles. ;-)
Plus sérieusement : la règle pour TCP est-elle nécessaire ? Il me
semblait que les flux vidéo RTSP étaient seulement en UDP ?

Où 82.66.248.156 est mon IP free et 192.168.1.2 la machine concernée.
C'est primaire mais ne nécessite pas de module rstp.





Mais tu ne parles pas de la même chose que les réponses précédentes. Tes
règles servent dans le cas où il y a un routeur qui fait du NAT
(masquerading) entre la machine cliente et la Freebox. Elles ont comme
inconvénient par rapport aux modules de suivi de connexion et de NAT
pour RTSP de ne supporter qu'une seule machine cliente, d'adresse connue
et fixe. D'autre part cela suppose que le routeur accepte tout en
FORWARD, sinon il faut des règles supplémentaires pour autoriser les
flux vidéo.

Laurent Besson a écrit :

Tout à fait ok mais j'ai aussi une question par rapport au multiposte...
Supposons plusieurs machine derriere le routeur 82.66.248.156 soient :
192.168.1.2 , 192.168.1.3 ...
Comment prerouter les flux pour que chacune ai le multiposte...?



Il faut soit utiliser les modules de suivi de connexion et de NAT de
Netfilter pour RTSP sur le routeur, soit définir une plage de ports
différente dans la configuration du logiciel client de chaque poste (si
celui-ci le permet) et créer des règles iptables de redirection (DNAT)
vers l'adresse de chaque poste client en fonction du port destination du
paquet.

NB : C'est une question qui aussi valable pour emule sur plusieur poste..?



Pareil, je suppose : définir des ports entrants différents pour chaque
poste et faire les redirections en fonction du port.


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
fra-duf-no-spam
Le 13596ième jour après Epoch,
Jean Baptiste Favre écrivait:

François Boisson a écrit :
En ce qui me concerne, une règle très simple:

iptables -t nat -A PREROUTING -p tcp -i eth1 -s 212.27.38.253
-d 82.66.248.156 -j DNAT --to 192.168.1.2

iptables -t nat -A PREROUTING -p udp -i eth1 -s 212.27.38.253
-d 82.66.248.156 -j DNAT --to 192.168.1.2

Où 82.66.248.156 est mon IP free et 192.168.1.2 la machine concern ée.
C'est primaire mais ne nécessite pas de module rstp.

François Boisson


J'ai oublié de préciser que ma machine se trouve derrière un routeur
OpenWRT qui prend en charge le rtsp. Je n'ai donc, pour ma part, pas
besoin de DNATer tout le trafic en provenance du serveur de Free.

Le problème concernant l'IP 228.67.43.91 viendrait de l'utilisation de
la librairie www.liv555.com qui envoie un paquet vers cette IP multicast
pour récupérer l'IP locale. Si on autorise pas ce type de paque ts, pas
d'affichage dans vlc (je suis sous Ubuntu Edgy)



Bien joué! Effectivement, contrairement à mplayer, il semble que vlc
ait besoin de ce traffic ;)

Du coup, ma page web locale avec en bas la liste des chaines et en
haut un mplayer <embeded> deviens obsolète. Tant mieux, parce que
parser la playlist.m3u c'est un peu la galère tellement c'est moche ;)

Merci à tous !

--
Tout le monde se croit intelligent car c'est avec ça qu'il juge.
-+- Coluche -+-
1 2 3 4