TV sur PC Linux : Voici qq éclaircissements

 
Poster un nouveau sujet   Répondre au sujet    Freeplayer.org Index du Forum -> Multiposte - Windows

Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
Francis75



Inscrit le: 15 Jan 2006
Messages: 1


MessagePosté le: Dim 15 Jan, 2006 13:50    Sujet du message: TV sur PC Linux : Voici qq éclaircissements Répondre en citant

Le but de se message est de donner quelques informations pour tester progressivement sa réception.
Dans un réseau, le plus important avant de chercher à résoudre une panne, est de la localiser...
Voici donc comment j'ai fait pour installer la télé multiposte.

Ma configuration, on ne fait pas plus simple :
Freebox 3 ou 4 en mode passerelle.
1 PC Linux Mandrake 2005 (10.2) derrière la Freebox.
Liason Freebox-PC éthernet.


Les préalables : Signature des conditions de vente, attente de 24 H
puis redémarrage de la Freebox, vérification de la liaison (ping 212.27.38.253)

1 - Ouvrir les ports nécessaires pour communiquer avec la Freebox
*****************************************************************
L'adresse de la Freebox est : 212.27.38.253
Si vous utilisez shorewall,
Editer /etc/shorewall/rules et ajouter les lignes :

# Freebox
ACCEPT net:212.27.38.253 fw tcp 8080
ACCEPT net:212.27.38.253 fw udp

Relancer Shorewall :
/etc/init.d/shorewall restart

2 - Commencer par des tests bas niveaux.
----------------------------------------
Le flux rtsp provenant de la Freebox est capturé par la bibliothèque
LIVE.
Cette bibliothèque fournit aussi openRTSP, un exécutable bien
pratique, qui va permettre de tester la réception du flux vidéo.
Télécharger sur :
http://www.live555.com/liveMedia/
la version live.2006.01.05.tar.gz
Installation très facile (Il y a aussi un package Mandrake cooker ou
2006, mais pourquoi se priver d'une compilation aussi rapide ?)

tar xvzf live.2006.01.05.tar.gz
cd live
./genMakefiles linux
make
cd ..
su root
Renommez /usr/lib/live s'il existe. Puis,
cp -r live /usr/lib

Tester la réception :

/usr/lib/live/testProgs/openRTSP rtsp://mafreebox.freebox.fr/freeboxtv/201
Le flux est copié dans le fichier video-MP2T-1 du répertoire courant.
Observer aussi les paquets qui doivent être reçus de la freebox (port
32803 il me semble) avec la commande tcpdump, à lancer dans un terminal :
tcpdump


Les messages d'erreurs renvoyés par Live :

Unable to determine our source address: no address
Unable to determine our source address: This computer has an invalid IP address: 0x0
L'explication :
La bibliothèque Live met en place plusieurs stratégies pour récupérer
l'adresse IP de votre ordinateur. Et c'est l'échec ...
(gethostbyname() ne renvoie pas l'adresse)

Pourtant un ifconfig dans une console indique que tout est ok,
tcpdump montre le défilement dea paquets, et la led de votre port
éthernet clignote, mais openRTSP les ignore et video-MP2T-1 reste vide ou quasiment vide.

Inutile d'aller plus loin, l'erreur est fatale.
Je dois dire que j'ai mis du temps à comprendre l'origine du problème et sa gravité, et ai dû me plonger dans les sources de Live.
Chez moi, il y avait bien un problème de configuration, à refaire dans
/etc/hosts.
Vérifier la résolution du nom de votre machine dans /etc/hosts et rajoutez en l'adaptant la ligne qui suit si elle manque:
81.57.85.XXX nor75-7-81-57-85-XXX.fbx.proxad.net


Redémarrer le reseau :
/etc/init.d/network restart

Relancer openRTSP. Observer que le fichier video-MP2T-1 se remplit.

Vous pouvez maintenant passer à la phase suivante : afficher les flux
audio et vidéo.



3 - Voir ...
************
2 solutions : mplayer et vlc

Pipe avec mplayer :
--------------------
/usr/lib/live/testProgs/openRTSP -4 rtsp://mafreebox.freebox.fr/freeboxtv/201 | mplayer -

-4 : openRTSP convertit le flux en MP4, qui est réinjecté dans mplayer.
N'oubliez pas le tiret après mplayer !
Dans votre terminalX,
Vous devez voir l'indicateur de buffer en % qui se remplit. Arrivé à
100%, la fenêtre vidéo s'ouvre, et l'extase commence;
Normalement, ça doit marcher avec n'importe quelle version de mplayer.

Nota : mplayer peut aussi être recompilé avec le support live.
Il y a un patch trouvé sur le Net, mais je ne pense pas qu'il
serve pour le multiposte :
mplayer-rtsp.patch
http://www.freenux.org/~mm/mplayer-rtsp.patch

Il patche le fichier MPlayer-1.0pre7/libmpdemux/demux_rtp.cpp
Son installation :
patch -b < mplayer-rtsp.patch
La ligne de commande de configure pour MPlayer-1.0pre7 :
./configure --enable-gui --language=fr,en --disable-runtime-cpudetection --with-livelibdir=/usr/lib/live

Vous pouvez alors tester votre réception :
mplayer rtsp://mafreebox.freebox.fr/freeboxtv/201
La méthode est intéressante seulement lorsque vlc plante, car vous
n'avez pas la liste de lecture, et l'interface gmplayer ne fonctionne pas.

Lancer vlc :
------------

/usr/local/bin/vlc http://mafreebox.freebox.fr/freeboxtv/playlist.m3u

ça ne marche pas ? vlc a probablement été compilé avec une version
trop ancienne de live. Prenez des paquetages plus récents ou
recompilez vlc.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
aty
Modérateur


Inscrit le: 06 Jan 2006
Messages: 40


MessagePosté le: Lun 16 Jan, 2006 8:42    Sujet du message: Répondre en citant

Hello,

Merci pour ces informations et pour la rédaction propre de ce tuto.

Je mets en post-it.

AtY
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
esver
Posteur Confirmé


Inscrit le: 19 Juil 2005
Messages: 36


MessagePosté le: Sam 18 Fév, 2006 18:51    Sujet du message: Répondre en citant

Je poste ici l'astuce qui fait que ca marche chez moi.
Il y a surement de mieux sécuriser ca mais chez moi ca marche Smile
Donc j'ai un firewall fait main et il m'a fallu rajouter ces 2 lignes :

iptables -I INPUT -s 82.246.xxx.xxx -j ACCEPT
iptables -I INPUT -s 212.27.38.253 -j ACCEPT

Il faut bien sur remplacer 82.246.xxx.xxx par votre adresse ip fixe free.

J'espère que cela pourra aider d'autres linuxiens
PS: freebox branchée directement sur mon pc en mode modem
PS': je suis sous ubuntu avec le vlc d'origine d'ubuntu
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
xquost



Inscrit le: 14 Oct 2006
Messages: 1


MessagePosté le: Sam 14 Oct, 2006 19:41    Sujet du message: Ca marche pas Répondre en citant

Bonjour

J'ai essayé mais sans compiler vlc a la main (package plf) et je n'ai pas d'image/son ni dans vlc ni dans mplayer.

0/ sous un autre os pouris dont je ne veux pas donner le nom ca marche, donc je suppose qu'il n'y a pas de pb de routage de flux

1/ si je teste openRTSP seul le fichier video-MPT2-1 reste vide ou tres petit ~5ko
2: si je fait un tcpdump je recoit des trames genre :
Code:
 20:32:51.571836 IP freeplayer.freebox.fr.34369 > 192.168.0.2.3032: UDP, length 1328


3/ si j'utilise mplayer ou vlc (8.5) je n'ai pas d'afficahge, ce qui ne m'étonne pas vu que le fichier video-MPT2-1 reste vide

j'ai fait le test avec openRTSP issu du package live de mandriva 2006 et avec la version compilé que tu conseils.

Aurais-tu des idées ?

Merci, Xavier
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
bz31
ch'ti posteur


Inscrit le: 23 Oct 2006
Messages: 2


MessagePosté le: Lun 23 Oct, 2006 15:25    Sujet du message: Re: TV sur PC Linux : Voici qq éclaircissements Répondre en citant

Francis75 a écrit:
Tester la réception :

/usr/lib/live/testProgs/openRTSP rtsp://mafreebox.freebox.fr/freeboxtv/201
Le flux est copié dans le fichier video-MP2T-1 du répertoire courant.
Observer aussi les paquets qui doivent être reçus de la freebox (port
32803 il me semble) avec la commande tcpdump, à lancer dans un terminal :
tcpdump


Les messages d'erreurs renvoyés par Live :

Unable to determine our source address: no address
Unable to determine our source address: This computer has an invalid IP address: 0x0
L'explication :
La bibliothèque Live met en place plusieurs stratégies pour récupérer
l'adresse IP de votre ordinateur. Et c'est l'échec ...
(gethostbyname() ne renvoie pas l'adresse)

Pourtant un ifconfig dans une console indique que tout est ok,
tcpdump montre le défilement dea paquets, et la led de votre port
éthernet clignote, mais openRTSP les ignore et video-MP2T-1 reste vide ou quasiment vide.

Inutile d'aller plus loin, l'erreur est fatale.
Je dois dire que j'ai mis du temps à comprendre l'origine du problème et sa gravité, et ai dû me plonger dans les sources de Live.
Chez moi, il y avait bien un problème de configuration, à refaire dans
/etc/hosts.
Vérifier la résolution du nom de votre machine dans /etc/hosts et rajoutez en l'adaptant la ligne qui suit si elle manque:
81.57.85.XXX nor75-7-81-57-85-XXX.fbx.proxad.net

Merci pour cette info.

J'ai aussi eu ce message d'erreur "Unable to determine our source address: This computer has an invalid IP address: 0x0" avec la config
Freebox (en mode non routeur) <--> routeur DI-624+ <--> iBook sous linux debian ppc avec firewall shorewall.

Dans mon /etc/hosts, il y a déjà
127.0.0.1 localhost.localdomain localhost X
où X est le hostname dans /etc/hostname
J'ai donc essayé ta solution en ajoutant une ligne
192.168.0.101 X
dans /etc/hosts, et ça marche.

Cela m'amène à poser une question :
Avec cette manipulation, le hostname X possède deux adresses ip, est-ce que ça va provoquer des problèmes ?

Sinon, j'ai une autre méthode. En fait, le problème "gethostbyname() ne passe pas le firewall" n'apparait qu'au début du lancement de vlc. Pour le contourner, on peut faire un script par exemple :
Code:
#!/bin/sh

sudo /etc/init.d/shorewall stop
vlc http://mafreebox.freebox.fr/freeboxtv/playlist.m3u &
sleep 10
sudo /etc/init.d/shorewall start
pour désactiver deux secondes le firewall.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet    Répondre au sujet    Freeplayer.org Index du Forum -> Multiposte - Windows Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum