Le FreePlayer permet de lire depuis la FreeBox / Télévision n’importe quel fichier vidéo stocké sur un ordinateur.
Il faut pour celĂ Â :
Ensuite, il suffit de suivre les instructions, d’appuyer sur le bouton “Univers” de la télécommande pendant quelques secondes et de choisir le menu FreePlayer.
La version FreePlayer fournie par Free est assez basique. De nombreux “mods” se sont développés, pour offrir plus de services et améliorations. Un bon “mod” est HomePlayer qui ajoute la lecture de WebTV, WebClips, Photos, et de nombreuses autres possibilités.
La version de VLC présente dans la “Sarge” (0.8.2) n’est pas suffisante. Il vous faudra donc trouver un binaire plus récent, soit dans la sid (mais entraine une très grosse mise à jour du système), soit en la recompilant à la main.
Pour rendre cette opération plus facile Cédric Vincent a réalisé un script permettant la compilation d’un VLC minimaliste récent et de ses librairies nécessaires. Suivre les instructions à cette page.
Certains fichiers AVI possèdent un mauvais ratio hauteur / largeur (ex : les enregistrements en multiposte de France 4). Pour récupérer un affichage correct sur FreeBrowser, il faut ajouter dans la configuration de l’affichage des vidéos la ligne :
#EXTVLCOPT:aspect-ratio=4:3
Le multiposte est une nouvelle fonctionnalité qui permet de regarder la FreeTV sur un ou plusieurs PC. Pour celà , il suffit de rebooter la Freebox pour avoir la mise à jour du Firmware (20051223), et de pointer VLC sur la liste de lecture http://mafreebox.freebox.fr/freeboxtv/playlist.m3u .
Il est alors possible de regarder deux chaînes différentes simultanément (donc soit 2 chaînes sur 2 PC, soit 1 chaîne sur 1 PC et une autre sur la Freebox). Pour changer de chaîne, il faut consulter la liste de lecture et aller sur la chaîne désirée.
Il est alors possible d’enregistrer le flux en provenance de la Freebox. Pour celà , via l’IHM, le plus facile est d’utiliser l’ “Assistant de Diffusion / Transcodage” et de définir ses propres options, comme par exemple : flux video en MPEG2 à 768 bps, flux audio en MP3 a 128 bps et un conteneur en MPEG1.
En ligne de commande, c’est un peu plus compliqué. Voici un exemple qui dumpe simplement le flux reçu :
vlc rtsp://mafreebox.freebox.fr/freeboxtv/373 --sout-all --sout "#std{access=file,mux=mpeg1,url=stream-fb.mpeg}"
Ici, “rtsp://mafreebox.freebox.fr/freeboxtv/373” est la chaîne choisie dans le fichier playlist.m3u. (La 373 correspond par exemple à W9).
Il est ensuite possible de travailler un peu plus sur le transcodage, par exemple :
vlc rtsp://mafreebox.freebox.fr/freeboxtv/381 --sout-all --sout "#transcode{vcodec=mp4v,acodec=mp2a,vb=600,ab=96}:std{access=file,mux=avi,url=test.avi}"
Attention, celà nécessite un poste un peu plus puissant que le seul dump.
(Pour Windows, un intégré qui fait tout simplement : http://adsltv.free.fr/)
Voici un jeu de deux scripts pour programmer facilement un enregistrement sous Linux. Les points importants à noter :
Un premier script freetv-dump.sh, pour sauver le flux pendant un laps de temps donné :
#! /bin/sh # freetv-dump.sh <channel> <duration> <file> # ex : freetv-dump.sh f2 1h42 f2-journal CHAINE="$1" DUREE="$2" FILE="$3" PORT="4212" DUMPFILE="/space/Temp/stream.mpeg" DUMPPATH= CHANNELS_FILE=/home/remi/bin/freetv_channels VLC=/usr/local/bin/vlc NC=nc #Alias RCHAINE=$(cat /home/remi/bin/freetv_channels | grep $CHAINE | cut -f 2) if [ "x$RCHAINE" = "x" ] then RCHAINE=$CHAINE fi # File if [ "x$FILE" = "x" ] then RFILE="$DUMPFILE" else if [ $(dirname "$FILE") = "." ] then RFILE=$(dirname "$DUMPFILE")/"$FILE".mpeg else RFILE="$FILE" fi fi # Duration RDUREE=$(echo $DUREE | sed -e 's/[h:]/*60+/i' | bc) #Summary echo "FreeTV_Dump - (c) 2006 - Remi Peyronnet" echo "Channel : $CHAINE ($RCHAINE)" echo "Duration : $DUREE ($RDUREE m)" echo "File : $FILE ($RFILE)" sleep 2 URL="rtsp://mafreebox.freebox.fr/freeboxtv/$RCHAINE" SOUT='#std{access=file,mux=mpeg1,url='$RFILE'}' # Programming the exit call sleep "$RDUREE"m && (echo quit | $NC localhost "$PORT") & # Saving $VLC -I rc --rc-fake-tty --rc-host localhost:4212 "$URL" --sout-all --sout "$SOUT"
Un deuxième script pour programmer l’enregistrement avec la commande at :
#! /bin/sh # freetv-record.sh <channel> <time> <duration> <file> # Ex : freetv-record.sh f2 "13:00 22.12.05" "2:12" journal echo '/home/remi/bin/freetv-dump.sh "'$1'" "'$3'" "'$4'"' | at $2
Tout celà c’est bien, mais pour s’y retrouver au milieu de toutes ces chaînes, mieux vaut être équipé d’un bon programme TV. Pour celà , il existe des solutions électroniques (EPG : Electronic Program Guide). Un des programmes agréables à utiliser et disponible dans la sarge est FreeGuide.
Pour fonctionner, celui-ci a besoin des données des programmes TV au format XML. Le programme xmltv permet de récupérer ces programmes. Attention, la version disponible dans la sarge ne fonctionne pas pour la France. Installez le packages pour avoir les bons modules perl installés, puis téléchargez le script tv_grav_fr depuis le cvs d’xmltv.
Il ne reste plus qu’à relier FreeGuide et les scripts d’enregistrement pour avoir une magnifique interface facile pour programmer un enregistrement. To bo continued…
Il faut pour pouvoir capter le flux de la Freebox que le module RTSP de VLC soit présent. Ce n’est pas le cas de la version proposée par Cédric Vincent, mais c’est le cas de la 0.8.2 de la Sarge. Cependant celle-ci présente quelques problèmes qui ont la facheuse tendance de couper le flux.
Pour remedier à ce problème, et pour pouvoir disposer d’une 0.8.4 permettant de servir à la fois à  :
Voici une adaptation du script de Cédric Vincent :
./configure --enable-pp --enable-mp3lame --enable-xvid --enable-a52 --enable-gpl make
./configure --enable-release --disable-wxwidgets --disable-skins2 --disable-smb --enable-livedotcom --with-ffmpeg-tree=../../../ffmpeg/ --with-ffmpeg-mp3lame --with-libmpeg2-tree=../../../mpeg2dec-0.4.1-cvs/ --with-dvbpsi-tree=../../../libdvbpsi4-0.1.5/ --with-mad-tree=../../../libmad-0.15.1b/ --enable-freetype make make install