Aller au contenu
Menu
  • Catégories
    • Geekitude
    • Jeux vidéos
    • Hack ps3
    • Japon
    • Politique et libertés
    • Jeux vidéos adultes
    • Divers
  • FreeDrive
    • Le service
    • La FAQ
  • Partage de connaissance
    • Copie du système
    • Création de paquet (.deb)
    • Petit mémo sur lsof
    • LVM – Les bases
    • LVM – Fonctionnement interne
    • LVM : Trucs et astuces
    • LVM – Les snapshots
    • Chiffrement – Théorie
    • Chiffrement – Pratique
    • 100 pages sur burp, sqlmap et metasploit
    • Présentations IRL
  • Downloads
    • kclean
    • myst
    • lvmiostat
    • Night City 2020
  • contact
    • RSS
    • Télécharger ma clef publique
    • Email
  • Rechercher
  • Catégories
    • Geekitude
    • Jeux vidéos
    • Hack ps3
    • Japon
    • Politique et libertés
    • Jeux vidéos adultes
    • Divers
  • FreeDrive
    • Le service
    • La FAQ
  • Partage de connaissance
    • Copie du système
    • Création de paquet (.deb)
    • Petit mémo sur lsof
    • LVM – Les bases
    • LVM – Fonctionnement interne
    • LVM : Trucs et astuces
    • LVM – Les snapshots
    • Chiffrement – Théorie
    • Chiffrement – Pratique
    • 100 pages sur burp, sqlmap et metasploit
    • Présentations IRL
  • Downloads
    • kclean
    • myst
    • lvmiostat
    • Night City 2020
  • contact
    • RSS
    • Télécharger ma clef publique
    • Email
ATDC

DLNA : PS3 Media server sur serveur linux

hoper3 octobre 20113

La théorie

Le DLNA, c’est quoi ?

Réponse courte, une merde. Réponse longue : Une norme mais aussi un protocole. Premier reproche, il très difficile de comprendre quoi que ce soit à ce machin. Logique, puisque DLNA est un sous ensemble d’un « super » protocole beaucoup plus large inventé par Microsoft : l’UPnP.

En hyper méga résumé, le DLNA doit permettre à des équipements (télé, téléphones, consoles, lecteurs vidéos, boxes adsl et compagnies) de lire ou de diffuser de l’audio ou de la vidéo depuis ou vers un autre équipement.

Réfléchissons, une vidéo présente sur une machine et qui est affichée sur une autre… La, normalement, vous devez me faire remarquer qu’on est capable de faire ça depuis très longtemps. Et vous auriez bien raison. Il existe un grand nombre de protocole réseau permettant de lire des fichiers depuis une autre machine (NFS et CIFS étant les plus connus, mais pas les seuls et loin de la). Alors, pourquoi le DLNA ?

Pouvoir lire le fichier ne veut pas dire que l’on est capable de l’afficher. Un téléphone pourrait avoir du mal par exemple à afficher une vidéo en full HD (écran non adapté, pas assez de puissance pour décompresser le flux etc). Les formats vidéos évoluent assez rapidement. Après tout, le temps des divX (version 3.X) n’est pas si loin. Non seulement les algos de compressions vidéos changent (divx, h264, vp8…) mais les conteneurs changent également (avi, ogm, mkv…). au final, il faudrait donc mettre beaucoup d’équipements à jour assez régulièrement pour pouvoir continuer à lire tout et n’importe quoi. Et cela aurait vraiment été très bien ainsi. Au moins on aurait vite compris pourquoi une vidéo refusait de s’afficher en lisant simplement la documentation du produit (« Zut, mon téléphone ne lit pas les mkv, donc que la vidéo soit sur la carte mémoire ou sur mon serveur ne change rien, il ne peut pas la lire ».). A contrario, il suffisait de trouver la bonne mise à jour et le bon programme, et le même téléphone aurait été capable d’afficher les vidéos, quelles soient dans le téléphone ou sur un stockage distant.

Mais pour Microsoft, je suppose que ce mode de fonctionement était bien trop simple, bien trop prévisible. Eux, les maitres de l’aléa informatique, devaient forcément trouver comment mettre un peu de piment dans une chose pourtant simple au départ. Leur vision ? Chaque équipement doit annoncer ce qu’il sait faire, ce qu’il sait envoyer et ce qu’il sait afficher, chacun devant s’adapter aux possibilités de l’autre. Un téléphone ne sait qu’afficher des vidéos en 3gp et en basse résolution ? Alors le serveur contenant la vidéo devait être capable de transcoder la vidéo à la volée, de l’adapter de façon transparente pour que le téléphone puisse l’afficher, même si le fichier en question est un RIP de blueray encode en h264 en fullHD. Le DLNA était né.

Et ça fonctionne ?

Non. Évidement, non.

Chaque constructeur à implémenté le protocole à sa sauce, avec des équipements ayant tous des capacités différentes. Au final, il est déjà compliqué de trouver un « serveur » et un « client » qui fonctionne pas trop mal ensemble. Mais alors trouver un serveur qui fonctionne parfaitement avec trois ou quatre clients différents, ne rêvez pas, je peux vous assurer que c’est aujourd’hui totalement impossible.

Et encore, je me place dans un cas « simple », ou toutes les vidéos sont sur une même machine, le « serveur » donc. Le but du protocole à la base était de permettre à n’importe quel équipement de diffuser vers n’importe quel autre. Pas seulement du serveur vers le téléphone par exemple, mais aussi du téléphone vers la télé, de la freebox vers la console de jeu etc. Et alors la, sérieusement, si un jour ça fonctionne vraiment, Microsoft n’existera plus 🙂

Ok, et donc, en attendant ?

J’ai testé beaucoup de logiciels « serveur » DLNA. (Pas tous hein, il en existe des dizaines). le meilleur est à mon avis PS3 Media server. Son premier gros avantage et de ne pas avoir besoin d’indexer vos fichiers, comme mediatomb ou TVMOBiLi. Devoir attendre que le(s) disque(s) soient indexés avant de pouvoir lire un fichier n’est vraiment pas supportable. La ps3 faisant parti des clients les plus chiants, pardon, les moins tolérant, il faut bien un serveur spécialement conçu pour son cas pour pouvoir discuter correctement avec elle. Heureusement, ps3 media serveur connait d’autres type de clients et parvient à fonctionner avec d’autres appareils. (La liste des équipements compatibles s’allonge au fur et à mesure des versions). Globalement, il y a quelques astuces à connaitre, mais ce programme fonctionne quand même plutôt bien. Attention, comme le flux vidéo est transcodé pendant la lecture, il faut une machine avec de la ressource (cpu et ram). Pour le cpu, un bon dual-core est un minimum. Et pour la mémoire, 2 Go de ram ne seront pas de trop, surtout si vous voulez streamer des flux en HD.

La pratique

Installation de ps3 media server

Si vous avez un linux avec interface graphique, vous lancez le programme, et voila, ça fonctionne. Maintenant on arrête les bêtises et on installe ce logiciel ou il doit se trouver, sur un serveur. Donc sur une machine dépourvue d’interface graphique. Pas de panique, ça va bien se passer. On commence par les pré-requis (qui ne sont indiqués nul part, merci pour les heures perdues à essayer de comprendre d’ou venaient les soucis). Ensuite, il faut savoir que la librairie libmediainfo version 7.44, celle qui est packagée sous debian 5 est bugguée. La encore, c’est pas le genre de chose qu’on peut facilement deviner. Bref, suivez le guide (à adapter bien évidement à votre environnement et en utilisant si possible la dernière version des logiciels).

sudo apt-get install imagemagick mplayer mencoder
wget http://ps3mediaserver.googlecode.com/files/pms-generic-linux-unix-1.40.0.tgz
tar xvzf pms-generic-linux-unix-1.40.0.tgz
apt-cache show libmediainfo0

Si la version de libmediainfo0 est la 7.44, alors mieux vaut qu’elle ne soit pas installée du tout (ps3 media server utilisera ffmpeg à la place, ce sera moins précis mais au moins ça fonctionnera). Si vous utilisez un OS 32 bits, vous trouverez probablement des paquets permettant de mettre une version plus à jour de cette librairie ici. Si vous êtes comme moi en 64 bits, c’est plus compliqué. Pour le moment, on va sagement attendre que quelqu’un se décide à faire le boulot 🙂

Il reste quelques pièges à éviter. Si sous avez activé le forwarding X11 sur votre connexion ssh, alors votre shell, celui qui lancera ps3_media_server, va avoir un display de paramétré. (Variable d’environnement). Cela va poser problème car le programme va croire qu’un écran graphique est disponible, et certains flux ne seront pas décodés correctement. Éditez donc le fichier PMS.sh et ajoutez au début du script la commande : « unset DISPLAY ».

Enfin, il faut aussi adapter la mémoire que java pourra utiliser. Si vous prévoyez de lire des flux en full HD, il va falloir fortement augmenter les valeurs indiquées. Toujours dans « PMS.sh », éditez la dernière ligne pour mettre : « exec « $JAVA » $JAVA_OPTS -Xmx1536M -Xss4096k …… » Cela fixera la mémoire maximum utilisable à 1,5 Go. (Je n’ai plus eu d’erreurs à partir de 1,2 ou 1,3 Go, mais tant qu’a faire…)

Configuration

Maintenant que le programme est prêt à tourner, il ne reste plus qu’a le configurer, le plus important étant de lui indiquer quels sont les répertoires à « partager ».

mkdir -p ~/.config/PMS

Puis, avec votre éditeur de texte préféré (normalement vi 😉 créez le fichier ~/.config/PMS/PMS.conf avec les lignes suivantes, en prenant bien soin d’adapter la liste des répertoires (folders), à votre configuration. Pour le détail des possibilités de ce fichier, allez voir dans la documentation. Une autre technique consiste à lancer une première fois l’application avec un affichage graphique, et d’utiliser le GUI pour faire toute la configuration, avant de récupérer le fichier obtenu. Moins fun, mais il faut l’avouer beaucoup plus « user friendly ». Edit : La documentation ubuntu contient également pas mal d’informations sur le sujet.

thumbnails = true
mencoder_ass = false
folders = /video,/musique
skiploopfilter = false
mencoder_mux_compatible = false
mencoder_nooutofsync = false
usecache = false
thumbnail_seek_pos = 600
audio_thumbnails_method = 1
mencoder_encode = keyint=3:vqscale=2:vqmin=3
prevents_sleep_mode = true
mencoder_disablesubs = false
language = fr
mencoder_audiolangs = fre,jpn,eng
mencoder_subcp = ISO-8859-1
autoloadsrt = true
mencoder_sublangs = fre,eng,jpn
mencoder_subfribidi = false
maxvideobuffer = 300
uuid = 5f5dd1ef-45b8-387c-a803-844dae1cd777

Une fois le fichier de configuration crée et enregistré à sa place, il ne reste plus qu’a lancer le programme en tapant : ./PMS.sh. Surveillez les fichiers de log pour voir comment tout fonctionne. Si vous avez de la chance, vos vidéos seront envoyées à vos clients. Si ça ne fonctionne qu’en partie, vous venez de découvrir le coté « Microsoftien du DLNA » 🙂

EDIT : Les versions se succèdent mais pour moi rien ne vaut la version 1.50. Toutes les versions supérieurs posent des problèmes que n’a pas cette version. Pourquoi ? Je sais pas.

Catégories
  • Geekitude
  • Hack ps3
Article précédent

LVM : Trucs et astuces

Article suivant

En vrac : Le retour

3 commentaires

  1. Pascal 5 octobre 2011Répondre

    Merci de tes explications sur le fonctionnement du DLNA /UPNP.

    Effectivement, c’est de la daube et avec un fonctionnement très aléatoire selon les matériels utilisés mais cela s’amméliore.

    Je fonctionne avec un Synology (et son service UPNP/DLNA sous linux). Ca marche pas trop mal depuis le dernier firmware. Pour preuve, je lis des mêmes des MKV sur ma PS3.

    Il ne faut pas désespérer 🙂

  2. hoper 5 octobre 2011Répondre

    « Pour preuve, je lis des mêmes des MKV sur ma PS3. ».

    Ce qui compte, c’est plus le format d’encodage de la vidéo que le conteneur utilisé. La ps3 ne sait, en résumé, que lire le mpeg2 et le mpeg4, avec une compression en h264. (Et peut être deux ou trois autres, mais disons que ce sont les deux principaux). Donc, si ton mkv contient du h264, ton NAS n’aura qu’a lire le flux vidéo et à l’envoyer à la ps3. Le problème se posera si ton mkv contient un format plus exotique. Dans ce cas, je doute qu’il ai la puissance de calcul nécessaire pour faire de la conversion en temps réel, ou même que le logiciel soit prévu pour essayer !

    C’est le gros avantage de ps3media_server. A condition de disposer de la puissance cpu nécessaire, il est théoriquement possible de lire depuis sa ps3 (ou autre), n’importe quelle vidéo que mplayer (et donc mencoder) saura lire. Autrement, dit, tout. y compris les mov, les flv etc.

  3. Pascal 5 octobre 2011Répondre

    Effectivement, je suis allé un peu vite en besogne en écrivant « Pour preuve, je lis des mêmes des MKV sur ma PS3. »

    Le MKV reste qu’un conteneur.

    Merci 🙂

Laisser un commentaire Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Articles récents

  • Marvel’s Midnight Suns: Le test
  • ChatGPT : Le monde à changé
  • Meilleurs jeux 18+ : Mise à jour 2021
  • Envoyer des mails qui soient acceptés
  • Test des prises connectées DiO

Commentaires récents

  • cjstevens dans Différences entre Maxtra et Maxtra+
  • Les meilleurs jeux 18+ 3/3 Les liens qui vont bien – ATDC dans Meilleurs jeux 18+ : Mise à jour 2021
  • Meilleurs jeux 18+ : Mise à jour 2021 – ATDC dans Meilleurs jeux 18+ : Mise à jour 2020
  • Meilleurs jeux 18+ : Mise à jour 2021 – ATDC dans Les meilleurs jeux 18+ 3/3 Les liens qui vont bien
  • Meilleurs jeux 18+ : Mise à jour 2021 – ATDC dans Les meilleurs jeux 18+ (1/3)

Archives

  • janvier 2023
  • décembre 2022
  • février 2022
  • janvier 2021
  • décembre 2020
  • novembre 2020
  • octobre 2020
  • septembre 2020
  • mars 2020
  • février 2020
  • décembre 2019
  • septembre 2019
  • juillet 2019
  • mai 2019
  • avril 2019
  • février 2019
  • janvier 2019
  • décembre 2018
  • novembre 2018
  • octobre 2018
  • septembre 2018
  • juillet 2018
  • juin 2018
  • avril 2018
  • janvier 2018
  • novembre 2017
  • mai 2017
  • avril 2017
  • mars 2017
  • février 2017
  • janvier 2017
  • octobre 2016
  • mai 2016
  • février 2016
  • octobre 2015
  • septembre 2015
  • août 2015
  • juin 2015
  • mai 2015
  • avril 2015
  • février 2015
  • janvier 2015
  • novembre 2014
  • octobre 2014
  • septembre 2014
  • juillet 2014
  • juin 2014
  • mai 2014
  • avril 2014
  • mars 2014
  • février 2014
  • janvier 2014
  • décembre 2013
  • novembre 2013
  • octobre 2013
  • septembre 2013
  • août 2013
  • juillet 2013
  • juin 2013
  • mai 2013
  • avril 2013
  • mars 2013
  • février 2013
  • janvier 2013
  • décembre 2012
  • novembre 2012
  • octobre 2012
  • septembre 2012
  • août 2012
  • juillet 2012
  • juin 2012
  • mai 2012
  • avril 2012
  • mars 2012
  • février 2012
  • janvier 2012
  • décembre 2011
  • novembre 2011
  • octobre 2011
  • septembre 2011
  • août 2011
  • juillet 2011
  • juin 2011
  • mai 2011
  • avril 2011
  • mars 2011
  • février 2011
  • janvier 2011
  • décembre 2010
  • novembre 2010
  • octobre 2010
  • septembre 2010
  • août 2010
  • juillet 2010
  • juin 2010
  • mai 2010
  • avril 2010
  • mars 2010
  • février 2010
  • janvier 2010
  • décembre 2009
  • novembre 2009
  • octobre 2009
  • septembre 2009
  • août 2009
  • juillet 2009
  • juin 2009
  • mai 2009
  • avril 2009
  • mars 2009

Catégories

  • Autres jeux
  • Delires
  • Divers
  • Geekitude
  • Hack ps3
  • Japon
  • Jeux vidéos
  • Jeux vidéos adultes
  • Non classé
  • Politique et libertés

Méta

  • Connexion
  • Flux des publications
  • Flux des commentaires
  • Site de WordPress-FR

Archives

Articles récents

  • Marvel’s Midnight Suns: Le test
  • ChatGPT : Le monde à changé
  • Meilleurs jeux 18+ : Mise à jour 2021
  • Envoyer des mails qui soient acceptés
  • Test des prises connectées DiO
  • Nouvelle loi gravement liberticide
  • Différences entre Maxtra et Maxtra+
  • Astuces Proxmox

Catégories

Autres jeux (4) Delires (3) Divers (71) Geekitude (172) Hack ps3 (10) Japon (9) Jeux vidéos (26) Jeux vidéos adultes (9) Non classé (5) Politique et libertés (81)

Flus RSS

  •   Les articles

Copyright 2023 © ATDC Tous droits réservés.

Thème Codilight par FameThemes