GuimPlayer est un freeplayer dédié pour l'instant à la lecture de fichiers multimédia (vidéo, musique, photos). L'objectif est d'avoir facilement accès à ses fichiers sans fioritures.
L'une des particularités de ce freeplayer est qu'il repose sur Apache et PHP. Il s'adresse tout particulièrement aux serveurs domestiques sous GNU/Linux.
Apache sert les pages PHP sur le port 8080 à la freebox et VLC fournit le flux audio/vidéo sur le port 8081. L'interface web permet d'abstraire l'utilisateur la gestion de la playlist de VLC. L'utilisateur navigue avec sa télécommande puis Apache envoi des requêtes à VLC pour gérer le flux audio/vidéo.
Freebox <--- http ---> Apache <--- http ---> VLC ^ | |----- flux audio vidéo -------------------|
La freebox ne commande pas directement VLC, c'est Apache qui envoi les requêtes à VLC. La freebox se contente d'interagir avec les pages web.
Le programme se compose d'un script de lancement pour VLC et d'un répertoire contenant les fichiers PHP. On installera toute l'application dans /var/www/freebox/guimplayer.
Il faut créer un hôte virtuel répondant le sur port 8080 :
# /etc/apache2/sites-enabled/freeplayer
NameVirtualHost 192.168.0.1:8080
Listen 8080
<VirtualHost 192.168.0.1:8080>
DocumentRoot /var/www/freebox/guimplayer/www/
# au cas ou apache rale, vous pouvez indiquer un ServerName
ServerName freeplayer
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/freebox/guimplayer/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Ensuite il faut récupérer le svn, créer les répertoires et donner les droits :
sudo mkdir /var/www/freebox cd /var/www/freebox sudo svn co svn://www.guim.info/mathieu/public/guimplayer/trunk guimplayer sudo chgrp www-data guimplayer/run sudo chmod 775 guimplayer/run sudo chmod 755 guimplayer/vlc-fbx.sh sudo touch /var/www/.vlc sudo chown www-data.www-data /var/www/.vlc
Remarques :
run contient le fichier pid du démon VLC.vlc ,'est pas nécessaire si on lance VLC « à la main »
Si l'installation a été faite par svn, il suffit de mettre à jour à partir du dépôt :
cd /var/www/freebox/guimplayer sudo svn up
Ensuite il faut penser à revoir la configuration car le fichier config.php a peut-être été mis-à-jour.
Dans l'interface de gestion, il faut indiquer l'adresse IP de l'ordinateur contenant le freeplayer.
L'interface d'accueil propose 3 types de médias : vidéo, musique, photos. La navigation diffère légèrement en fonction du type de médias.
Le programme suppose que chaque type de médias se trouve dans un répertoire différents sur le disque, par exemple : les vidéos dans /home/pub/video, la musique dans /home/pub/musique et les photos dans /home/pub/photos.
Il faut donc configurer l'emplacement des fichiers médias dans le fichier guimplayer/www/config.php, il faut respecter la syntaxe PHP :
$VLCSCRIPT='/var/www/freebox/guimplayer/vlc-fbx.sh'; $MEDIAS = array( new Media('Video', '/home/pub/video', 'mpg ts mp2 mpeg vob avi mkv mp4 mov aif aiff mjpeg wmv asf ogm divx', 'images/kmplayer.png'), new Media('Musique', '/home/pub/musique', 'mp3 ogg wav wma au aac', 'images/multimedia.png', true), new Media('Photo', '/home/pub/photo', 'jpg jpeg ljpg png pgm pgmyuv pbm pam tga bmp pnm xpm xcf pcx gif tif tiff lbm', 'images/camera_unmount.png', true) );
Ce qui importe :
$VLCSCRIPT contient l'emplacement du script permettant de lancer et d'éteindre VLC$MEDIAS contient l'ensemble des répertoires « multimedias », c'est le 2ème paramètre de new Media() qu'il faut changer, celui qui indique l'emplacement des fichiersIl y a 3 modes de fonctionnement : parcours des fichiers, playlist, lecture. Au lancement (accès par les univers de la freebox), on a le choix du type de médias à parcourir, il est également possible de démarrer ou éteindre VLC sur le serveur.
Les boutons colorés de la télécommande permettent de passer d'un mode à l'autre :
Voici quelques liens vers des documents utiles pour développer un freeplayer :
Pour aller plus loin :