====== GuimPlayer ====== 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. ===== Principe de fonctionnement ===== 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. ===== Installation ===== 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''. ==== Apache ==== 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 DocumentRoot /var/www/freebox/guimplayer/www/ # au cas ou apache rale, vous pouvez indiquer un ServerName ServerName freeplayer Options FollowSymLinks AllowOverride None Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all 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 : * le répertoire ''run'' contient le fichier pid du démon VLC * donner les droits à www-data permet d'allumer et d'éteindre le VLC du serveur depuis la freebox, mais il est possible de de démarrer VLC « à la main » sans donner les droits à www-data * le répertoire ''.vlc'' ,'est pas nécessaire si on lance VLC « à la main » ===== Mise à jour ===== 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. ===== Configuration ===== ==== Freebox ==== Dans l'interface de gestion, il faut indiquer l'adresse IP de l'ordinateur contenant le freeplayer. ==== GuimPlayer ==== 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 fichiers ===== Aide ===== Il 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 : * bouton rouge : mode parcours de fichiers * bouton jaune : affichage de la playlist * bouton bleu : lecture du fichier ===== Photos ===== {{ :dev:2009-03-24-menu_principal.jpg |Le menu principal}} {{ :dev:2009-03-24-fichier-music.jpg |Parcours des fichiers musicaux}} {{ :dev:2009-03-24-fichier-music-ajout.jpg |Ajout d'un répertoire à l aplaylist}} {{ :dev:2009-03-24-playlist.jpg |Affichage de la playlist}} {{ :dev:2009-03-24-lecture.jpg | Lecture d'un fichier}} ===== Documentations Freeplayer ===== Voici quelques liens vers des documents utiles pour développer un freeplayer : * [[http://wiki.freeplayer.org/index.php?title=Comment_d%C3%A9velopper_un_mod_Freeplayer_%3F|Comment développer un mod Freeplayer ?]] : introduction très (trop) courte sur le principe de fonctionnement du freeplayer. * [[http://www.freeplayer.org/download/documentation/html-rs/index.html|Freebox HTML Reference Specification]] : référence officielle du HTML compris par la freebox. C'est très formel et ça manque d'exemple, surtout pour les balises qui n'existent que dans le monde freebox. * [[http://wiki.freeplayer.org/index.php?title=HTML_Freebox|HTML Freebox]] : références supplémentaires sur le HTML de la freebox, avec des petites astuces. * [[http://wiki.freeplayer.org/index.php?title=Exemples_HTML|Exemples HTML]] : la seule page à peu près bien faite : explications + exemples, pour une utilisation réelle du HTML de la freebox. * [[http://wiki.freeplayer.org/index.php?title=Evolutions_Freebox|Evolutions Freebox]] : sorte de FAQ sur les fonctionnalités de la freebox. Surtout utile pour les informations distillées par les développeurs de la freebox. * [[http://wiki.videolan.org/Media_resource_locator|MRL]] : définition de MRL (Media resource locator), pour construire les URL à la sauce VLC. Pour aller plus loin : * le code du freeplayer officiel : il est assez incompréhensible si on ne connaît pas le langage de vlc, mais il m'a été utile pour trouver les options de transcodage qui fonctionnent réellement. * le code des autres freeplayer sous GPL pour apprendre les options qui fonctionnent vraiment.