Bonjour,
Au Canada, je n'ai pas accès aux chaînes de télévision française. J'aimerais toutefois profiter de certaines d'entre elles, comme MTV par exemple, que je n'ai pas dans le bouquet de télévision par câble fourni avec le logement. Mon serveur en France est installé chez une personne ayant Free pour fournisseur d'accès, donc il doit y avoir moyen de récupérer le flux multiposte sur le serveur pour le réexpédier à travers Internet et le recevoir ici, au Canada.
Pour ceci j'ai installé VLC sur un serveur Debian. Pour paramétrer le flux entrant et le flux sortant de VLC, je lance l'interface web avec la commande vlc -I http pour ensuite y accéder à l'adresse http://adresse-IP-du-serveur:8080/. Si vous devez ouvrir un port sur le parefeu pour accéder à cette interface, utilisez le modèle fourni un peu plus loin, en mettant 8080 comme numéro de port.
Le premier problème, c'est qu'il y a un routeur parefeu entre le serveur et la Freebox. Je dois donc choisir un port pour recevoir le flux RTSP provenant de la Freebox, dans les options de VLC, pour éviter d'ouvrir une large plage de ports sur le parefeu. Le problème c'est que sur mon serveur il n'y a pas d'interface graphique, et par défaut il n'y a pas de ficher de configuration dans le répertoire .vlc. La solution c'est de lancer VLC sur un ordi de bureau avec Linux, aller dans le panneau des options, section Input / Codecs > Demuxers > RTP/RTSP, cocher la case "Options avancées" en bas de la fenêtre, et à côté de port du client, remplacer -1 par un port choisi, par exemple dans mon cas le port 8770. Cela à pour effet de créer un fichier nommé vlcrc dans le dossier caché .vlc, dans le dossier personnel. Il ne reste plus qu'à copier ce fichier sur le serveur dans le même dossier pour que VLC le prenne en compte. Ou sinon vous pouvez simplement télécharger ce fichier que j'ai fait, sur votre serveur, avec le port 8770 comme port pour RTSP.
Ensuite on ouvre le port sur le routeur. Voici les options, qui devraient convenir à la majorité des routeurs :
- Protocole : UDP
- Port source : 8770-8771
- Port destination : 8770-8771
- Adresse IP source : 212.27.38.253 (il s'agit de l'adresse IP du serveur RTSP de la Freebox, qui envoie le flux ; si ça ne marche pas avec ce réglage, laissez vide, ça sert juste à augmenter la sécurité)
- Adresse IP de destination : mettre ici l'adresse IP de l'ordinateur qui va recevoir le flux
- Commentaire/Description : mettre quelque chose comme "Freebox TV Multiposte" par exemple
Connectez-vous à l'interface web de VLC, dont j'ai donné l'adresse plus haut, et tentez de lui faire lire la playlist suivante : http://mafreebox.freebox.fr/freeboxtv/playlist.m3u. S'il affiche playing pendant plus de 30 secondes, c'est que ça fonctionne, sinon, s'il alterne entre playing et stop, c'est qu'il n'arrive pas à lire correctement le flux et donc qu'il teste toutes les chaînes les unes après les autres. Il faut donc revérifier tous les réglages.
Maintenant on va paramétrer le flux de sortie afin de le récupérer sur un ordinateur distant. Pour laisser passer le flux, on va ouvrir un deuxième port sur le parefeu, pour permettre la connexion au serveur. Dans mon cas j'ai choisi le port 1313 mais j'aurais pu choisir n'importe quel autre, tant qu'il est compris entre 1024 et 65 535. Voici les paramètres de configuration pour le routeur :
- Protocole : TCP
- Port source : 1313
- Port destination : 1313
- Adresse IP source : laisser vide, ou choisir ALL si disponible. Sinon si vous avez une adresse IP statique sur Internet, vous pouvez la mettre.
- Adresse IP de destination : mettre ici l'adresse IP de l'ordinateur qui va recevoir le flux de la Freebox, et l'envoyer sur Internet
- Commentaire/Description : mettre quelque chose comme "Freebox TV Output Stream"
Maintenant, allons voir les options à mettre en place sur l'interface web. Cliquez sur le bouton Stream Output (c'est un petit bouton à droite du bouton Next, dont le dessin représente trois flèches), pour faire apparaître la configuration du flux de sortie. Cocher HTTP, entrer l'adresse IP sur laquelle le serveur va écouter les demandes de flux, c'est à dire que si vous avez plusieurs cartes réseaux, entrez l'adresse IP locale de celle qui va envoyer le flux sur Internet. Il ne faut pas mettre votre adresse IP publique ici, ou bien un nom de domaine. Il ne peut s'agir que d'une adresse IP connue par le serveur, disponible par la commande ifconfig. Dans port, mettre le port choisi, par exemple 1313 dans mon cas. Cliquer sur MPEG TS, cocher Video Codec, choisir mp4v, et bitrate à 512kb/s, cocher Audio Codec, choisir mpga (le seul réglage qui fonctionne pour le son), bitrate à 128kb/s et 1 channel. Mettre la valeur 127 dans la case TTL. Cliquer sur Save, en dessous de MRL.
Ces réglages ne sont pas universels, c'est à dire qu'ils ne fonctionneront pas pour tout le monde (cela dépend de la qualité de la ligne) et surtout pas pour toutes les chaînes et programmes. Certaines chaînes utilisent plus de bande passante, de même que les programmes avec beaucoup d'images, beaucoup d'animation et beaucoup de couleurs, utiliseront plus de bande passante et dans ce cas il faut réduire le bitrate vidéo sous peine de subir des gels de l'image.
Cliquer sur le bouton Open, et entrer l'adresse de la playlist multiposte, http://mafreebox.freebox.fr/freeboxtv/playlist.m3u, et enfin cliquer sur Play. VLC devrait passer de stop à playing.
Il ne reste plus qu'à lancer un VLC sur votre ordinateur, aller dans Fichier > Ouvrir Réseau, cocher HTTP et dans la case, entrer http://adresse-ip-du-server:1313, où adresse-ip-du-serveur est l'adresse IP publique par laquelle on peut joindre le serveur.
À+
Sources : http://www.live-foot-forum.be/forum/post56568.html et http://www.netgear-forum.com/forum/index.php?showtopic=34015 .
Tags:
Debian,
FLOSS,
Free.Fr,
Freebox,
Linux,
Server,
Television,
Video,
VLC