Freeplayer

Le Freeplayer est un moyen de diffuser des contenus multimédia (photos, vidéos, musique,…) sur la télévision grâce à sa Freebox.

le paquet freeplayer semble ne pas fonctionner correctement sur les dernières versions d'Ubuntu. Si tel est le cas, il existe d'autres applications, pour partager du contenu vers la freebox, tels ushare ou mediatomb qui sont des solutions de contournement qui fonctionnent bien.
  • Disposer d'une connexion à Internet configurée et activée.
  • Avoir installé le paquet vlc, et les paquets pour les codecs non-libres.
  • Avoir une Freebox en version inférieure à la v6 (il semble que Free ne donne plus suite au service freeplayer à partir de la Freebox Revolution).
  • Avoir activé le service Freeplayer sur votre Freebox (plus d'infos sur le site de free)

Pour installer ce logiciel, il suffit d'installer le paquet freeplayer.

Configuration

Suite au passage de VLC de la version 0.8.x à 0.9.x dans les dépôts, il faut modifier Freeplayer pour le faire fonctionner. Modifier le fichier avec les droits d'administration /usr/bin/vlc-fbx.

Supprimer ​--wx-systray dans la ligne.

Remplacer

--config="~/.vlc/vlcrc-fbx"

par

--config="~/.config/vlc/vlcrc"

Maintenant tout devrait fonctionner.

Pour lancer le Freeplayer vous pouvez créer un lanceur ou taper la commande suivante dans une terminal :

vlc-fbx

Ce paragraphe va décrire l'utilisation sur un serveur du freeplayer. On va le lancer en démon, comme n'importe quel autre serveur logiciel (apache ou proftpd par exemple…).

Editez ou créez le fichier /etc/init.d/freeplayer pour y mettre le contenu suivant :

#!/bin/sh
 
### BEGIN INIT INFO
# Provides:        freeplayer
# Required-Start:  $network $remote_fs $syslog
# Required-Stop:   $network $remote_fs $syslog
# Default-Start:   2 3 4 5
# Default-Stop:    0 1 6
# Short-Description: Start freeplayer daemon
### END INIT INFO
 
NOM=public
PATH=/sbin:/bin:/usr/sbin:/usr/bin
. /lib/lsb/init-functions
 
case $1 in
        start)
                log_daemon_msg "Starting freeplayer server as $NOM"
                # c'est cette ligne qui est importante !
                # on execute la tache (le serveur vlc) en tant que public parce que c'est son HOME qui contient les medias
                # on execute en demon parce qu'on a pas d'écran et que vlc il aime pas ça !
                # sinon, le reste, c'est les options du freeplayer
                # Vous pouvez rajouter --wx-systray si vous êtes sur une version inférieure à Intrepid Ibex.
                su $NOM -c'/usr/bin/vlc --daemon --extraintf=http --http-host=:8080 --http-charset=ISO-8859-1 --sout="#std" --sout-standard-access=udp --sout-standard-mux=ts --sout-standard-dst=212.27.38.253:1234 --sout-ts-pid-video=68 --sout-ts-pid-audio=69 --sout-ts-pid-spu=70 --sout-ts-pcr=80 --sout-ts-dts-delay=400 --no-playlist-autostart --subsdec-encoding=ISO-8859-1 --sout-transcode-maxwidth=720 --sout-transcode-maxheight=576 --play-and-stop --http-src="/usr/share/freeplayer/http-fbx/" --config="/etc/freeplayer/vlcrc-fbx" --open="$1" ' &
                ;;
        stop)
                log_daemon_msg "Stopping freeplayer server"
                killall -u $NOM vlc
                ;;
        *)
                echo "Usage: $0 {start|stop}"
                exit 2
                ;;
esac

Rendez le script exécutable :

sudo chmod +x /etc/init.d/freeplayer
Il se peut qu'il faille copier la configuration de vlc pour que ça fonctionne :
sudo cp ~/.config/vlc/vlcrc /etc/freeplayer/vlcrc-fbx

VLC va se lancer en daemon (option --daemon), avec les options du freeplayer, et avec l'utilisateur public. Cet utilisateur est très important. En fait, il s'agit de l'emplacement où se trouvent vos médias. Il est conseillé de rassembler tous vos medias dans un seul dossier et de créer un utilisateur prévu pour le partage de ces médias. Ce sera cet utilisateur qui fera "tourner" le freeplayer. D'autre part, comme on est pas parvenu à créer un beau script comme ceux d'autres serveurs, pour arreter le démon du freeplayer, on tue (avec la commande killall) tous les vlc qui seraient lancés par l'utilisateur public.

Dans le cas présent, le dossier public est aussi un partage nfs/samba et un ftp. D'où la présence de l'utilisateur. Vous pouvez voir ainsi qu'on a essayer de regrouper tous les médias au même endroit dans le serveur.

Une fois que votre script est fini, il vous faut le lier avec les niveaux d'éxecution corrects. Une commande existe pour celà : update-rc.d

sudo update-rc.d freeplayer defaults

Une fois cela fait, votre demon sera lancé avec les autres serveurs au prochain reboot. Vous pouvez aussi le lancer manuellement :

sudo sh /etc/init.d/freeplayer start

Attention, ne pas oublier d'ouvrir les ports en TCP et UDP dans le panneau de configuration de la freebox si elle est en mode routeur le port utilisé est le 8080. Il faut aussi renseigner la freebox sur l'IP du freeplayer un ip a dans le terminal vous donnera votre ip sur le réseau.

Dans la configuration du routeur, si vous l'utilisez avec les options : service activé et DHCP activé. Cette méthode a permis de résoudre le problème, quand j'étais sur la télé, et que je cliquais sur freeplayer, le message suivant s'affichait : "se connecter au freeplayer", bleu pour se connecter rouge pour sortir, et impossible de se connecter.

Ouvrir les ports suivants:

8080 en tcp et udp pour l'ip de l'ordinateur fournissant les médias, utilisez ip a dans un terminal pour connaître votre ip.

1234 en tcp et udp pour l'ip de l'ordinateur fournissant les médias, utilisez ip a dans un terminal pour connaître votre ip.

8080 en tcp et udp pour l'ip freebox, indiqué juste en dessous de la case coché pour activer le service.

1234 en tcp et udp pour l'ip freebox, indiqué juste en dessous de la case coché pour activer le service.

et ne pas oublier de mettre l'ip du freeplayer identique à l'ip de l'ordinateur fournissant les médias


Contributeurs : symio, ulyssi, stephaneguedon, neomars

  • freeplayer.txt
  • Dernière modification: Le 12/11/2023, 15:55
  • par Amiralgaby