Ceci est une ancienne révision du document !
PS3 Media Server
Serveur média UPNP codé en Java dédié à la PS3
PS3 Media Server est un serveur média UPNP conforme DLNA pour la PS3, écrit en Java, avec le but de faire du streaming ou de transcoder n'importe quelle sorte de fichiers médias avec une configuration minimale. Il est soutenu avec les puissants logiciels Mplayer/FFmpeg.
PMS est reconnu également par d'autre matériels multimédia, comme la LiveRadio d'Orange, ou des téléviseurs DLNA.
Il permet également de monter un serveur multimédia grâce à un paramétrage par un simple fichier texte. (serveur sans environnement graphique, administré à distance.
Le logiciel PS3 Media Server est sous licence libre GPL v2.
PMS permet pas mal de choses en plus que la plupart des serveurs DLNA, voici une liste non exhaustive des fonctionnalités :
- Lecture des fichiers matroska (.mkv)
- Gestion des sous-titres
- Lecture des flux vidéo envoyés par le multiposte de la freebox
- Lecture des flux streaming depuis Internet (Youtube)
- Accès vers les albums Flickr et Picasa
Pré-requis
- Disposer des droits d'administration.
- Disposer d'une configuration réseau fonctionnelle (le PC voit la PS3 sur le réseau)
- Disposer d'une installation fonctionnelle de JAVA (voir Java) sur votre système
Installation quasi automatique
Vous n'avez qu'à lancer cette commande qui fera tout le travail pour vous.
wget -q --no-check-certificate https://svn.paissad.net/misc/stuffs/install_PMS.sh -O /tmp/install_PMS.sh && bash /tmp/install_PMS.sh
Installation manuelle
Pré-requis:
Des pré-requis sont nécessaires pour la suite des opérations :
- Il est recommandé aussi d'installer vlc dcraw tsmuxer
- Avoir activé l'accès au dépôt suivant :
deb http://deb.paissad.org/ unstable main contrib non-free deb-src http://deb.paissad.org/ unstable main contrib
- ou bien
deb http://ppa.launchpad.net/paissad/pms-linux/ubuntu lucid main deb-src http://ppa.launchpad.net/paissad/pms-linux/ubuntu lucid main
- Il faut télécharger la clé publique :
wget -q -O- http://deb.paissad.org/public-key.asc | sudo apt-key add -
- ou bien
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8A72660B
- Mise à jour des dépôts.
sudo apt-get update
- Pensez aussi à la librairie libmediainfo0 à installer via son dépôt non officiel (voir plus haut)
Installation:
Pour installer ce logiciel, il vous suffit d'installer le paquet pms-linux.
Complément d'installation sur Ubuntu 64 bits
Si votre serveur est en 64 bits, vous devez installer en plus la librairie ia32-libs afin de pouvoir lire tous les fichiers en format *.mkv.
En effet, TsMuxer, qui participe au fonctionnement de base de PMS est une application 32 bits.
Sans cette librairie, TsMuxer ne fonctionne pas et la plupart des *.mkv seront illisibles.
Normalement, si vous avez procédé par une installation automatique, le paquet ia32-libs devrait être installé s'il n'y pas eu de problèmes.
Configuration
Par défaut, le serveur démarre en même temps que le système, et le fichier de configuration utilisé est « /etc/pms-linux/PMS.conf ».
On peut soit configurer PMS via son interface graphique, qui enregistre les réglages dans le fichier en question, soit éditer directement ce fichier. Par défaut, le script /etc/init.d/pms-linux démarre le serveur sans l'interface graphique car il y'a l'option "console" qui est ajouté lors du lancement du serveur. Depuis la version "1.20.409+svn413-1" du paquet, il est possible d'utiliser l'option -c, –conf pour spécifier le fichier de configuration à utiliser.
Si vous démarrez simplement pms-linux via le menu ou via console en tapant juste "pms-linux", alors sachez que le fichier de configuration par défaut qui est utilisé est $HOME/.PMS.conf (aussi bien pour enregistrer que pour lire la configuration).
Configuration serveur
Valeurs pour une configuration à la main directement dans le fichier texte. Ne sont indiquées que les variables à ajuster à la main. Pour éditer ce fichier sur votre serveur, utilisez par exemple Nano.
nom de la variable | valeur possible | commentaire |
---|---|---|
maxvideobuffer | 0 à 600 | taille max du buffer pour le transcodage en Mo (max 600 MO) |
hide_enginenames | = true ou false | cacher le nom des moteurs de transcodage |
hide_extensions | = true ou false | cacher les extensions des fichiers |
hide_transcode_folder | = true ou false | cacher le dossier de transcodage |
folders | = \/home\/REPERTOIRE\/SOUS REPERTOIRE | définie les répertoires scannés par PMS, n'oubliez pas les antislahs |
audiochannels | = 2 ou 6 | Nombre de canaux audio (2= stéréo ; 6 = 5.1 multicanal) |
audiobitrate | = 384 | régle le débit, 384 le plus bas |
notranscode | = avi par exemple | lister les extensions séparées par une virgule, dit à PMS de ne pas réencoder vers la PS3 |
forcetranscode | = mkv par exemple | lister les extensions séparées par une virgule, oblige à réencoder |
mencoder_audiolangs | = fre,jpn,ger,eng | liste les langues des pistes audios si pistes multiples |
hidevideosettings | = true ou false | cache le menu des réglages vidéo accessible depuis la PS3 |
dvd_isos_thumbnails | = true ou false | affiche une imagette des images iso de DVD |
port | = 5001 | permet de fixer le port de PMS, 5001 par défaut (à changer par sécurité, au delà de 1024) |
prevents_sleep_mode | = true ou false | si PMS délivre un média vers la PS3 (ou autre, le PC n'est pas mis en veille |
usecache | = false | active la médiathèque |
hide_media_library_folder | = true ou false | cacher le dossier de la librairie de la médiathèque |
mencoder_usepcm | = true ou false | DTS/FLAC → LPCM remux, false par défaut |
embed_dts_in_pcm | = true ou false | streamer le flux DTS, false par défaut |
mencoder_remux_ac3 | = true ou false | remuxer quand la piste audio est en AC3 (pas de réencodage), true par défaut |
mencoder_remux_mpeg2 | = true ou false | remuxer DVD ISO video track (no reencode), true par défaut |
mencoder_encode | = keyint=25:vqmax=5:vqmin=2 | permet de régler la qualité finale de la lecture en focntion du débit du réseau, voir explications ci-dessous |
La variable mencoder_encode est une des plus importante, elle définie la qualité vidéo en fonction de la bande passante de votre réseau, ses valeurs standards sont les suivantes :
keyint=1:vqscale=1:vqmin=2 /* Best quality
keyint=1:vqscale=1:vqmin=1 /* Lossless Quality, Crazy Bitrate */
keyint=3:vqscale=2:vqmin=3 /* Good quality */
keyint=25:vqmax=5:vqmin=2 /* Good quality for HD Wifi Transcoding */
keyint=25:vqmax=7:vqmin=2 /* Medium quality for HD Wifi Transcoding */
keyint=25:vqmax=8:vqmin=3 /* Low quality, Low-end CPU or HD Wifi Transcoding */
keyint=50:vrc_maxrate=40000:vbitrate=24000000:vrc_buf_size=1835 /* TEST */
Un fichier exemple de configuration est visible ici : ps3mediaserver sur Google
Utilisation
Si vous rencontrez un soucis avec java, vérifier quel est votre Java en fonction, selon cette méthode java#changer_la_version_de_java_utilisee_par_defaut
Lancez l'application via la commande suivante :
pms-linux
ou via la commande suivante (sous version antérieure à la 10.04)
sudo /etc/init.d/pms-linux start
ou via la commande suivante sous 10.04 et suivante
sudo service pms-linux start
Si tout va bien vous aurez cette interface sous les yeux (sauf serveur):
Si vous modifiez le fichier de configuration, pour prendre en compte les modifications, il faut relacer PMS via la commande suivante (sous version antérieure à la 10.04)
sudo /etc/init.d/pms-linux reload
via la commande suivante sous 10.04 et suivante
sudo service pms-linux reload
Pour une installation en serveur pur, il est préférable d'utiliser les commandes stop puis start plutôt que reload.
Désinstallation
Pour supprimer cette application, il suffit de supprimer son paquet. La configuration de l'application sera conservée ou supprimée selon la méthode de désinstallation que vous choisirez.
Règle pour firewall
Pour une installation fonctionnelle avec le firewall par défaut d'Ubuntu, (netfilter via ufw), pensez à ouvrir le port par défaut qui est 5001, ou celui que vous aurez attribué à pms-linux.
via la commande
sudo ufw allow <port de pms-linux>
Fonctions spéciales
Les fonctions spéciales permettent à PMS d'accéder à des flux rss ou streaming depuis le net.
Galerie photo picasa/flickr
Pour configurer un Album web il faut se munir de l'url du flux rss de l'album web ou de l'ensemble des albums.
PicasaWeb permet lorsque l'on est à la page d'accueil de tous les albums de récupérer le lien rss de cette page ce qui permet d'avoir la liste mise à jour en permanence (en bas de la page à droite il y a un lien nommé « rss »).
Une fois ce lien récupérer il ne reste plus qu'a le configurer dans le serveur. Pour ce faire il va falloir y aller à la main en ouvrant le fichier WEB.conf se trouvant dans le répertoire de PMS.
Il y a plusieurs sections mais seulement la section « #images feeds » va nous intéresser pour le moment.
Le « # » signifie que la ligne ne sera pas pris en compte dans la configuration, il sera donc possible de mettre des commentaires pour permettre une meilleur lisibilité en affublant la ligne d'un # de commencement.
Pour structurer un lien il suffi de suivre la logique suivante :
TypeDeFlux,répertoire1,répertoire2=lienRSS
Le type de flux utiliser ici est : « imagefeed.Web »
Ce qui peut donner ceci :
imagefeed.Web,Picasa,Fleurs=http://picasaweb.google.com/data/feed/base/user/moheji55/albumid/5353637108300815249?alt=rss&kind=photo&hl=fr imagefeed.Web,Flickr,AnicMessier,Paris=http://api.flickr.com/services/feeds/photoset.gne?set=72157603603872257&nsid=33561635@N00&lang=fr-fr
Vidéos Youtube
Pour configurer une liste de vidéo, il faut se munir de l'url du flux rss. Youtube permet de récupérer ce lien.
Une fois le lien récupérer il ne reste plus qu'a le configurer dans le serveur. Pour ce faire il va falloir y aller à la main en ouvrant le fichier WEB.conf se trouvant dans le répertroire de PMS.
Il y a plusieurs sections mais seulement la section « #video feeds » va nous intéresser pour le moment.
Le « # » signifie que la ligne ne sera pas pris en compte dans la configuration, il sera donc possible de mettre des commentaires pour permettre une meilleur lisibilité en affublant la ligne d'un # de commencement.
Pour structurer un lien il suffi de suivre la logique suivante :
TypeDeFlux,répertoire1,répertoire2=lienRSS
Le type de flux utiliser ici est : « videofeed.Web »
Ce qui peut donner ceci :
videofeed.Web,Youtube,Humour=http://gdata.youtube.com/feeds/base/standardfeeds/FR/most_viewed?client=ytapi-youtube-browse&alt=rss&time=today
Télé Freebox/neufbox
Pour configurer une chaine disponible par l'option multiposte de free, il faut se munir de l'url du flux streaming de la chaine.
Pour avoir la liste exhaustive des flux streaming des chaines de la freebox il suffi d'aller à l'adresse suivante :
http://mafreebox.freebox.fr/freeboxtv/playlist.m3u
Dans ce fichier il est possible de retrouver le flux pour France 2 par exemple :
rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=201&flavour=sd
Une fois ce lien récupéré il ne reste plus qu'a le configurer dans le serveur. Pour ce faire il va falloir y aller à la main en ouvrant le fichier WEB.conf se trouvant dans le répertoire de PMS.
Il y a plusieurs sections mais seulement la section « #internet tvs » va nous intéresser pour le moment.
Le « # » signifie que la ligne ne sera pas pris en compte dans la configuration, il sera donc possible de mettre des commentaires pour permettre une meilleur lisibilité en affublant la ligne d'un # de commencement.
Pour structurer un lien il suffi de suivre la logique suivante :
<TypeDeFlux>,<répertoire1> [mplayervideodump],<répertoire2>=<urlStreaming>[,<urlImage>]
Le type de flux utiliser ici est : « videostream.Web »
L'url de l'image est facultative mais doit être un lien web.
Ce qui donne pour France 2 :
videostream.Web,FreeboxTV [mplayervideodump]=France 2,rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=201&flavour=sd,http://www.free.fr/im/data/tv/2.png
Il est facilement évident que toutes les adresses sont les mêmes à deux petites différences prêt, le canal et le type de qualité.
rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=201&flavour=sd
"service" est le numéro de canal de la chaine
"flavour" est la qualité
Tous les formats ne sont pas disponible pour toutes les chaines.
Certaines chaines ne fonctionnent qu'en ld (AB1, ABMotor, etc…)
Téléviseur Sony Bravia
PS3 Media Serveur est un des rares serveurs DLNA reconnu par la fonction Bravia des téléviseurs Sony. PMS fournit 2 fichiers de configuration pour Bravia dans le répertoire "/usr/share/pms-linux/renderers".
Pour de nouveaux modèles de téléviseurs non pris en compte par défaut, il faut adapter un des fichiers conf existant.
Par exemple pour un Sony Bravia KDL-37EX500 :
Copier le fichier Bravia5500.conf en BraviaEX500.conf
Editer BraviaEX500.conf et adapter les premières lignes avec les valeurs suivantes :
RendererName=Bravia KDL-37EX500 RendererIcon=bravia.png UserAgentSearch=notusedhere UserAgentAdditionalHeader=X-AV-Client-Info UserAgentAdditionalHeaderSearch=BRAVIA KDL-37EX500
PMS est reconnu également par le Téléviseur DLNA panasonic P42V10E.
Sony Bravia KDL-46EX500, nickel, sans aucune modif effectuée.
Sony Bravia KDL-32EX501: ne marche qu'à partir de la version 1.20.412 de pms (ne marchait pas avec la version 1.20.409)
Sony Bravia KDL-46HX800: fonctionne nickel avec PMS 1.20.412 sans la moindre modification
Sony Bravia KDL-52HX900: c'est OK en mode console sur Ubuntu serveur avec PMS 1.20.412
Sony Bravia KDL-56EX501: Fonctionne sans parvenir à lire certains format video (xvid par exemple), pas de fonction arret sur image trouvée…