Pages de Cédric VINCENT

Installation rapide du FreePlayer sous Linux

Nouvelle page officielle.

Voici un tutoriel pour installer rapidement (à partir des sources) le FreePlayer sous Linux. Toutes les opérations suivantes devront être réalisées dans un même répertoire, que j'appellerai $TMP. Pour ceux qui ne sont pas familiers avec Linux, les commandes suivantes seront tapées dans un terminal (ou console), une sorte de fenêtre suspecte où l'on ne sait pas trop quoi faire au début ;). Juste pour donner un exemple, voilà à quoi ressemble mon terminal avant de commencer l'installation du FreePlayer (avec quelque commandes utiles en bonus) :

cedric@hummer:~$ _
cedric@hummer:~$ mkdir FreePlayer
cedric@hummer:~$ cd FreePlayer/
cedric@hummer:~/FreePlayer$ export TMP=/home/cedric/FreePlayer/
cedric@hummer:~/FreePlayer$ _

J'omettrai à partir de maintenant l'amorce de mon shell (cedric@hummer:~$) lorsqu'il faudra taper des commandes. Juste un dernier mot avant de commencer pour ceux qui ont déjà utiliser VLC : je n'installerai pas d'interface graphique puisque de toute manière elle est rendue obsolète par l'interface TV du FreePlayer. Nous pouvons à présent commencer, mais pour les plus impatients (ou fainéants ;) ) Christophe ROUSSEAU nous fournit gracieusement un script d'installation automatique. Pour ceux qui sont dans l'urgence ou dans le désespoir, je fournis une version pré-compilée, cependant cette méthode ne marche pas chez tout le monde...

FFMPEG

Dans un premier temps, il faut compiler FFMPEG. Il s'agit d'un outil, utilisé par VLC, permettant la conversion de flux video et audio à la volée. Pour récupérer FFMPEG, l'idéal serait d'utiliser CVS :

cvs -z9 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg co ffmpeg

Si cette commande ne marche pas, vous pouvez toujours utiliser la méthode plus traditionnelle :

wget http://heanet.dl.sourceforge.net/sourceforge/ffmpeg/ffmpeg-0.4.9-pre1.tar.gz
tar -xvzf ffmpeg-0.4.9-pre1.tar.gz
mv ffmpeg-0.4.9-pre1 ffmpeg

Il ne reste alors plus qu'à le compiler (pas besoin de l'installer) :

cd ffmpeg
./configure --enable-pp --enable-gpl
make
cd ..

libMPEG2

Il faut maintenant compiler la bibliothèque libMPEG2 qui permet l'encodage des vidéos qui seront transmises grâce à VLC vers la FreeBox. Cette fois-ci, il semble que le serveur CVS ne nous permette pas de télécharger le projet. Pas grave puisqu'il existe une version mise-à-jour toutes les nuits :

wget http://libmpeg2.sourceforge.net/files/mpeg2dec-snapshot.tar.gz
tar -xvzf mpeg2dec-snapshot.tar.gz

Comme pour FFMPEG, il suffit juste de compiler libMPEG2 (pas besoin de l'installer) :

cd mpeg2dec-0.4.1-cvs
./configure
make
cd ..

libDVBPSI

Maintenant que nous avons de quoi ré-encoder toutes nos vidéos, il faut compiler la bibliothèque libDVBPSI qui permet la diffusion de flux MPEG2 (vers la FreeBox en l'occurence). Pour cela, il suffit de la télécharger :

wget http://download.videolan.org/pub/libdvbpsi/0.1.5/libdvbpsi4-0.1.5.tar.bz2
tar -xvjf libdvbpsi4-0.1.5.tar.bz2

Puis de la compiler, et de l'installer :

cd libdvbpsi4-0.1.5
./configure
make
make install
cd ..

libMAD

A présent, nous allons passer à l'installation de la bibliothèque libMAD, permettant le décodage audio MPEG (merci à Jérôme AVOND pour avoir signalé cet oubli). Récupérons donc la dernière version :

wget ftp://ftp.mars.org/pub/mpeg/libmad-0.15.1b.tar.gz
tar -xvzf libmad-0.15.1b.tar.gz 

La compilation et l'installation se fait comme précédemment :

cd libmad-0.15.1b
./configure
make
make install
cd ..

FreeType

Voici une étape facultative mais qui mérite tout de même que l'on s'y attarde : le support des sous-titres pour le FreePlayer. Merci à Jean-François Tronche pour m'avoir précisé cette possibilité, en plus de quelques corrections ;). VLC utilise la bibliotèque FreeType (gestion de fontes TrueType) pour afficher les sous-titres, il suffit donc de la télécharger puis de l'installer :

wget http://ovh.dl.sourceforge.net/sourceforge/freetype/freetype-2.1.10.tar.gz
tar -xvzf freetype-2.1.10.tar.gz
cd freetype-2.1.10
./configure
make
make install
cd ..

VLC

Nous voilà à l'étape où nous allons enfin installer VLC :) ! J'ai remarqué qu'il y avait une version présente dans le FreePlayer fourni par Free, c'est celle-ci que nous allons utiliser :

tar -xvzf freeplayer-linux-20050905.tgz
cd freeplayer/share/
tar -xvzf vlc-0.8.4-fbx-2.tar.gz

Il ne reste plus qu'à le configurer avec les bonnes options, puis à l'installer (enfin) :

cd vlc-0.8.4-fbx-2
./configure --with-ffmpeg-tree=$TMP/ffmpeg/               \
            --with-libmpeg2-tree=$TMP/mpeg2dec-0.4.1-cvs/ \
            --with-dvbpsi-tree=$TMP/libdvbpsi4-0.1.5/     \
            --with-mad-tree=$TMP/libmad-0.15.1b/          \
            --disable-wxwidgets --disable-skins2          \ 
            --disable-smb
make
make install
cd ../..

Si cela c'est bien passé, il ne reste plus qu'à mettre à jour le cache des bibliothèques dynamiques (la ligne '/usr/local/lib' doit être présente dans le fichier /etc/ld.so.conf) :

ldconfig

Pour ceux qui veulent le support des sous-titres, il faut rajouter --enable-freetype lors de la configuration de VLC (en plus d'avoir installer la bibliothèque FreeType). La fonte utilisée par défaut par VLC est /usr/share/fonts/truetype/freefont/FreeSerifBold.ttf, il faut donc copier un fichier TrueTypeFont à cet endroit. Pour ceux qui n'auraient pas un tel fichier, vous pouvez récupérer celui que j'utilise :

mkdir -p /usr/share/fonts/truetype/freefont/
cd /usr/share/fonts/truetype/freefont/
wget http://cedric.vincent.perso.free.fr/Download/FreeSansBold.ttf
cd -

FreePlayer

Ultime étape : l'installation du FreePlayer (et la suppression du répertoire $TMP) :

./install.sh
cd ~
rm -r $TMP

Dernière chose avant de vous faire plaisir, il faut enlever --wx-systray du fichier suivant :

/usr/local/freeplayer/bin/vlc-fbx.sh

Allez, hop ! Faut aller devant la TV maintenant ;) !

Bonus

Vous n'êtes pas encore en train de regarder une vidéo avec le FreePlayer ?! Vous en re-demandez ? Alors voilà une astuce pour lancer automatiquement VLC au démarrage de votre ordinateur. Il faut dans un premier temps que VLC soit exécuté en tant que processus d'arrière plan, pour cela il faut rajouter --daemon dans le fichier /usr/local/freeplayer/bin/vlc-fbx.sh :

#!/bin/sh

exec vlc --daemon [...]

Maintenant, l'étape la plus délicate consiste à connaître comment fonctionne le démarrage de votre système Linux. En effet, cela diffère énormément d'une distribution à l'autre :/. Quoi qu'il en soit, il faut être capable d'exécuter automatiquement la commande suivante :

/bin/su - cedric -c "/usr/local/freeplayer/bin/vlc-fbx.sh"

Bien sûr, il faut changer cedric par votre propre login. Dans le cas de la Slackware, il suffit de placer cette commande dans le fichier /etc/rc/rc.local.

N'hésitez surtout pas à m'écrire si je n'ai pas été clair, ou si j'ai dit des âneries ;) !