FreeNAS 8.3.1 et Playstation Media Server

Status
Not open for further replies.

Fred33

Cadet
Joined
Jun 1, 2013
Messages
9
Bonjour,

voici un petit retour d'expérience sur l'installation du serveur de diffusion de contenu multimédia
Playstation Media Server sur FreeNAS 8.3.1.

FreeNAS propose un plugin pour ajouter la fonction de serveur de diffusion de contenu multimédia : miniDLNA.

Seul soucis, par défaut ce logiciel ne permet la transformation à la volée du format vidéo,
ou en langage technique le transcodage.

C'est un peu embêtant quand on dispose de fichiers vidéo de tout type,
par exemple des fichiers mkv.

Donc le logiciel PMS, déjà testé sous Linux, me semblait des plus approprié.

En outre PMS sur FreeNAS, il y a déjà de la doc :

Elle est un peu obsolète mais on y trouve l'essentiel.

Remarque : le transcodage utilise le logiciel mencoder


Petit résumé :
  1. Installez le module Jail : http://sourceforge.net/projects/freenas/files/FreeNAS-8.3.1/RELEASE-p2/x64/plugins/FreeNAS-8.3.1-RELEASE-p2-x64.Plugins_Jail.pbi/download
  2. Installez les packages suivants :
    Code:
    pkg_add -v -r xtrans
    pkg_add -v -r xproto
    pkg_add -v -r xextproto
    pkg_add -v -r javavmwrapper
    pkg_add -v -r ffmpeg
    pkg_add -v -r mencoder
    pkg_add -v -r openjdk7


    oui plus besoin de la version Oracle/Sun de java, PMS fonctionne très bien avec OpenJDK 7.
  3. Le truc à savoir : mencoder en version package a été compilé sur freebsd/freenas sans le support des fontes,
    et PMS tente de les utiliser. Résultat : un message d'erreur sur la playsation du type "données éronnées".
    Ce qui n'est évidemment pas le cas. Le soucis provient de cette histoire de fontes qui ne sont utiles
    que pour le sous titrage.

    Donc 2 solutions,
    • vous êtes sur de ne pas utiliser les sous-titres : désactivez les dans le fichier de conf de PMS (PMS.conf) : mencoder_disablesubs = true
    • vous avez besoin des sous-titres : recompilez mplayer/mencoder depuis les ports en activant le support des fontes. (make avec WITH_FONTCONFIG)
  4. Téléchargez et décompressez l'archive de PMS dans le dossier /var du Jail
  5. Modifiez le fichier PMS.sh : rajoutez la ligne cd /var/pms-1.81.0 juste après la ligne #!/bin/sh en début de fichier
  6. Pour le dernier point, à savoir le démarrage du logiciel au boot de FreeNAS, la version 8.x.x n'offre plus la possibilité de démarrer un script depuis l'interface Web. Il faut donc, sauf erreur de ma part, écrire un petit script à placer dans le dossier /etc/rc.d/. En voici un premier jet, à adapter selon vos besoins.

    Code:
    #!/bin/sh
    #
    #
    #
    name="pms"
    
    start_cmd="${name}_start"
    stop_cmd="${name}_stop"
    pidfile="/var/run/${name}.pid" 
    start_precmd=pms_prestart
    
    pms_prestart()
    {
            cd /var/pms-1.81.0/
            export PATH=/usr/local/bin:$PATH
            return 0
    }
    
    load_rc_config $name
    
    pms_start () 
    {
            if [ ! -f $pidfile ]
            then
                    echo -n "Starting services: Playstation Media Server"
                    /var/pms-1.81.0/PMS.sh &
                    echo $! > $pidfile
                    echo "."
            else
                    echo "It appears Playstation Media Server is already running. NOT starting!"
            fi
    }
    
    pms_stop() {
            if [ ! -f $pidfile ]
            then
                    echo "It appears Playstation Media Server is not running."
            else
            echo -n "Stopping services: Playstation Media Server"
            kill `cat $pidfile`
            rm $pidfile
            echo "."
            fi
    }
    
    run_rc_command "$1"



Voilà en espérant que ça puisse servir à la communauté.
 

delino

Dabbler
Joined
Dec 18, 2012
Messages
19
Bonjour Fred, merci pour ton post, j'ai réussi à installer ps3 media server sur mon freenas 8.3.1. et je peux visionner des films.
Cependant, mes connaissances en scriptage et compilation sont très de base et donc, je n'arrive pas à "recompilez mplayer/mencoder depuis les ports en activant le support des fontes. (make avec WITH_FONTCONFIG)"

J'aimerais bien réussir pour avoir accès aux sous-titre, est-ce que ce serait possible de donner plus de détails sur la procédure?

merci
 

delino

Dabbler
Joined
Dec 18, 2012
Messages
19
Merci pour le lien mais je le connaissais déjà, c'est d'ailleurs la procédure sur ce lien que j'ai suivi pour faire fonctionner PMS sur mon freenas 8.3. Je viens d'écrire à l'auteur en question pour les sous-titre, espérons que je puisse débloquer.
salutations,
 

Fred33

Cadet
Joined
Jun 1, 2013
Messages
9
Bonsoir,

j'ai effectué la mise à jour de mon FreeNAS en 9.1.1.

Voici un petit topo pour avoir PMS avec les sous-titres.

  1. Pré-requis : Créer un jail (J'ai préféré dédier un jail à PMS)
  2. Se connecter au jail (via jexec depuis une console root)
  3. Quelques paquets à installer :
    Code:
    pkg install ffmpeg
    pkg install mediainfo
    pkg install openjdk-7.25.15
    pkg install mplayer-1.1.r20130308
    pkg install mplayer-fonts-0.50
  4. récupérer l'arbre des ports :
    Code:
    portsnap fetch extract
  5. Compiler mencoder :
    1. Code:
      cd /usr/ports/multimedia/mencoder
    2. Code:
      make config
    3. Sélectionner les options conformément à la capture d'écran sur ce post : http://www.ps3mediaserver.org/forum/viewtopic.php?f=3&t=16974
    4. Lancer la compilation :
      Code:
      make
      - attention lors de la compilation différentes boites de dialogues seront proposées : laisser les choix par défaut.
    5. Installer mencoder :
      Code:
      make install
  6. Créer un dossier /opt à la racine du jail :
    Code:
    mkdir /opt
    et copier y l'archive de PMS disponible ici .
  7. Décompresser PMS dans /opt :
    Code:
    cd /opt
    tar xf pms-1.90.1-generic-linux-unix.tar.gz
  8. Edition du fichier de configuration de PMS
    1. Exécuter PMS une première fois :
      Code:
      /opt/pms-1.90.1/PMS.sh
      , en tant que root, cela aura pour effet la création du dossier /root/.config/PMS et du fichier /root/.config/PMS/PMS.conf, c'est ce dernier qui doit être modifié.
    2. Normalement le jail doit avoir accès à un dossier contenant des vidéos, autant configurer PMS pour que ce soit ce dossier qui soit proposé directement plutôt que d'avoir à parcourir toute l'arborescence du jail. Pour cela il faut modifier la variable folders du fichier de configuration /root/.config/PMS/PMS.conf. En ce qui me concerne ça donne : folders = /media/
  9. Pour les sous-titres, mencoder va chercher à utiliser mplayer pour trouver les fontes, j'ai fait quelques essais et ce qui fonctionne pour moi c'est de copier une des fontes du système dans le dossier de paramétrage de mplayer de l'utilisateur root :
    Code:
    cp /usr/local/lib/X11/fonts/dejavu/DejaVuSans.ttf /root/.mplayer/subfont.ttf
  10. Pour démarrer PMS au lancement de FreeNAS, voir mon premier post en modifiant les chemins vers le dossier pms : /var/pms... devient /opt/pms-1.90.1
Voilà, je crois qu'il ne manque rien :)
 

delino

Dabbler
Joined
Dec 18, 2012
Messages
19
Merci pour le post ça me semble très bien par contre, mes connaissances étant assez limitées, je suis bloqué à la 1ere étape...

Je suis reparti de zéro - nouvelle installation 9.1.1 - j'ai tout effacé mes anciens jail et plugins, juste gardé mes volumes data.
J'ai fait une config de base du frenas9.1.1 (création d'une interface IP sans DHCP avec adresse def gateway, setup DNS , auto-volume pour le data existant, nouveau volume "Plugin" avec dataset, activation ssh.

Le problème que j'ai c'est que n'arrive pas à installer aucun paquet de la 1ere étape. Voici l'erreur:
----------------------------
[root@freenas] ~#
[root@freenas] ~#
[root@freenas] ~# jexec 1 tcsh
root@PMS:/ # pkg install ffmpeg
Updating repository catalogue
Repository catalogue is up-to-date, no need to fetch fresh copy
pkg: Package 'ffmpeg' was not found in the repositories
root@PMS:/ #
--------------------------
ça fait quelques heures que je perds à trouver le problème, merci de m'aiguiller.
 

durdur

Patron
Joined
Aug 22, 2012
Messages
284
Bizarre, si ça ne marche pas avec pkg install tu peux essayer avec l'ancien système :
Code:
    pkg_add -r ffmpeg
    pkg_add -r mediainfo
    pkg_add -r openjdk7
    pkg_add -r mplayer
    pkg_add -r mplayer-fonts
 

Fred33

Cadet
Joined
Jun 1, 2013
Messages
9
Bonjour,

j'ai refait quelques tests et je pense avoir une explication.

Par défaut, quand on créé un nouveau Jail c'est un jail "standard" et là effectivement pkg install ne fonctionne pas.

Par contre en choisissant un jail "plugin" ça fonctionne.

Voir capture jointe pour "pluginjail"

L'explication est dans le tableau de la documentation :
http://doc.freenas.org/index.php/Jails

pkgng n'est disponible que dans le jail de type plugin et pas les autres (sauf si on décoche la cas vanilla)

Bon courage.
 

Attachments

  • freenas-jail.png
    freenas-jail.png
    21 KB · Views: 261

delino

Dabbler
Joined
Dec 18, 2012
Messages
19
Effectivement c'était l'erreur: j'utilisais le jail "standard" au lieu du jail "plugin". Si je comprends bien il n'y a donc aucun avantage à utiliser autre chose que le jail "plugin" ??? bref...

Par la suite tout se passe bien (il y a un petite typo à l'étape 4: portsnap au lieu de portsnapt) jusqu'à l'étape 8.

Après la commande:
root@PMS:/usr/ports/multimedia/mencoder/opt # tar xf pms-1.90.1-generic-linux-unix.tar

j'ai cliqué sur l'icone "Add Storage" dans le gui pour créer un lien avec mon répertoire de video situé à l'extérieur du jail PMS (équivalent à mount point dans la version freenas 8.3).

par la suite je n'ai pas bien compris la procédure , est-ce qu'on doit copier/déplacer le répertoire PMS1.90 .1 ailleurs? genre dans /root/ ??

Plus de détails à partir de l'étape 8 serait apprécié!
merci encore :)
 

Fred33

Cadet
Joined
Jun 1, 2013
Messages
9
Ok merci pour l'erreur de typo, j'ai corrigé.

Pour la création du dossier /opt, il y a un petit malentendu, il faut le créer à la racine du jail (je viens de rajouter cette info dans le post précédent).
Enfin ce n'est pas obligatoire, mais c'est là que j'installe les logiciels qui ne font pas partie du système de base.

Donc la commande à tapper est :
Code:
mkdir /opt
avec le / devant opt

Hors d'après ton post tu as créé ce dossier dans /usr/ports/multimedia/mencoder et là c'est clairement pas la place.

Enfin au final on doit avoir : /opt/pms-1.90.1

Je précise mon post précédent à partir du point numéro 8.

Ravi de pouvoir aider.

Bon courage.
 

delino

Dabbler
Joined
Dec 18, 2012
Messages
19
Merci ça avance mon affaire, j'arrive à streamer des films, par contre, ce n'est pas tous les formats video qui sont pris en charge, par exemple j'ai un .mkv (un fichier de 18G) dont l'image apparaît mais pas le son, j'entends seulement des bruits bizarres.

Pour être certain de comprendre: sur le PS3, dans l'onglet video, je peux voir dans le répertoire d'un film, le fichier film en tant que tel ansi qu'un répertoire "transcode" où apparaissent plusieurs versions du film selon des combinaisons différentes de sous-titrage et de langue. J'imagine que c'est à ce moment qu'on choisi la version désirée? en d'autres mots, est-ce qu'il est possible de modifier le sous-titrage ou la langue en plein visionnement sur la PS3 avec les menus de la PS3?

J'ai l'impression qu'il y a qqchose qui cloche avec mon installation puisque la qualité du son n'est pas terrible, son ambiant parfois trop fort, léger offset de la piste voix vs image. Les sous-titres ne fonctionnent toujours pas...

Dans les étapes, après avoir roulé PMS pour une première fois (étape 8.1): /opt/pms-1.90.1/PMS.sh

Je modifie le fichier /root/.config/PMS/PMS.conf (étape 8.2): j'obtiens comme fichier seulement 2 lignes:
uuid = cbfc8254-d428-4378-883f-3e9e5b06299b

folders = /media/

ensuite étape 9: cp /usr/local/lib/X11/fonts/dejavu/DejaVuSans.ttf /root/.mplayer/subfont.ttf

après j'ouvre la ps3 et je vais dans le section video.

J'espère ne pas te décourager...

Je vais probablement tout effacer et recommencer l'installation ce soir si j'ai du temps.

merci encore.
 

Fred33

Cadet
Joined
Jun 1, 2013
Messages
9
Pour le changement du sous-titrage ou de la langue en plein visionnement,
sincèrement je n'ai pas testé.
Je ne suis pas en mesure de pouvoir faire des tests ce soir.

Concernant les pbs de qualité, il doit manquer qqch dans l'install.
Pourrais-tu poster le contenu de ton fichier de debug situé dans le dossier /root/.config/PMS/ ?
 

delino

Dabbler
Joined
Dec 18, 2012
Messages
19
j'ai tout réinstallé à nouveau et j'arrive aux mêmes conclusions que mon dernier post. Voici le contenu de mon fichier /roor/.config/PMS/debug.log
dans ce fichier log, tu verras que j'ai tenté d'ouvrir 3 différents films, par contre pour le 1er, il y a en avait plusieurs versions "transcodés"
merci
 

Attachments

  • debug.txt
    2.4 MB · Views: 282

Fred33

Cadet
Joined
Jun 1, 2013
Messages
9
J'ai analysé le fichier de debug, pour le moment je ne vois rien de particulier.

Pourrais-tu me donner le résultat des commandes suivantes :
Code:
cd /usr/ports/multimedia/mencoder/
make showconfig


C'est pour voir si les options de compilation sont identiques.
 

delino

Dabbler
Joined
Dec 18, 2012
Messages
19
Voilà:

root@pms:/usr/ports/multimedia/mencoder # make showconfig
===> The following configuration options are available for mencoder-1.1.r20130308:
AMR_NB=on: AMR Narrow Band audio support (opencore)
AMR_WB=on: AMR Wide Band audio support (opencore)
BLURAY=off: BluRay support
CDIO=off: CDIO support via libcdio
CDPARANOIA=off: CD ripping support (cdparanoia)
DEBUG=off: Install debug symbols
DIRAC=off: Dirac codec support via libdirac
DV=off: Quasar DV video codec support (libdv)
FAAC=on: FAAC AAC encoder support
FONTCONFIG=on: X11 font configuration support
FRIBIDI=off: Bidirectional text support via GNU FriBidi
GIF=on: GIF image format support
GSM=off: GSM codec support
IPV6=on: IPv6 protocol support
JACK=off: JACK audio server support
LADSPA=off: LADSPA audio plugins support
LIBMNG=off: MNG animated images support via libmng
LIVEMEDIA=off: Multimedia streaming support via liveMedia
LZO=off: Enable external liblzo library
MAD=on: MAD MP3 audio decoder support
NAS=off: Network Audio System support
OCFLAGS=on: Use optimized compiler flags
OPENAL=off: OpenAL support
OPENJPEG=off: Enhanced JPEG graphics support
OTCHAIN=off: Use gcc 4.6+ toolchain on legacy systems
PULSEAUDIO=off: PulseAudio sound server support
REAL=off: Enable realplayer plugin
RTCPU=on: Use runtime CPU detection
RTMP=on: RTMP protocol support via librtmp
SCHROEDINGER=on: Dirac codec support via libschroedinger
SMB=off: SMB protocol support
THEORA=on: Ogg Theora video codec support
TWOLAME=on: TwoLAME MP2 audio encoder support
V4L=off: Video 4 Linux support
VPX=on: VP8 video codec support
WIN32=on: Install win32 binary codecs
X264=on: H.264 video codec support via x264
XVID=on: Xvid MPEG-4 video codec support
===> Use 'make config' to modify these settings
 

delino

Dabbler
Joined
Dec 18, 2012
Messages
19
il y a les messages :
DEBUG 2013-09-12 06:44:50.142 [Thread-7] [matroska,webm @ 0x80602d820] Unknown entry 0xF0

que je trouve bizarre.

Je dois dire que ce même fichier xxx.mkv fonctionnait avec la version freenas 8.3 (sauf pour les sous-titre)
maintenant le son ne fonctionne pas non plus.
 

Fred33

Cadet
Joined
Jun 1, 2013
Messages
9
Pour les options de mencoder ça me parait bien.

Pour le message de DEBUG je ne pense pas que ce soit problématique,
j'ai les même et ça ne pose pas de soucis.

Par contre dans ton fichier de log j'ai détecté des choses qui me paraissent plus suspectes :

sur la lecture du premier fichier :

INFO 2013-09-12 06:47:51.327 [New I/O server worker #1-3] Starting transcode/remux of djdjdjdjdjdjdjdjdjdxxxxxxxxxxxxxx.mkv
DEBUG 2013-09-12 06:47:51.328 [New I/O server worker #1-3] Using standard DLNA codecs with an MPEG-TS (default) container
DEBUG 2013-09-12 06:47:51.332 [New I/O server worker #1-3] Caught exception
java.lang.NullPointerException: null
at net.pms.encoders.VLCVideo.genConfig(VLCVideo.java:174) ~[pms.jar:1.90.1]


Sur la lecture du 2ème fichier
INFO 2013-09-12 06:51:27.511 [New I/O server worker #1-2] Starting transcode/remux of Title 1
DEBUG 2013-09-12 06:51:27.512 [New I/O server worker #1-2] Using standard DLNA codecs with an MPEG-TS (default) container
DEBUG 2013-09-12 06:51:27.512 [New I/O server worker #1-2] Caught exception
java.lang.NullPointerException: null
at net.pms.encoders.VLCVideo.genConfig(VLCVideo.java:174) ~[pms.jar:1.90.1]

Je suis loin d'être un expert mais je dirais que ce n'est pas bon signe.
Je n'ai rien trouvé sur le Net correspondant à ce soucis.

Si tu as un Linux qui traine, essai d'installer PMS dessus et de voir si tes fichiers sont lus.
Et si c'est le cas, il faut comparer les fichiers debug pour trouver ce qui manque sur le freenas.

Surement une option de configuration manquante sur un des outils utilisé par PMS : mencoder, transcode, etc.

Désolé pour l'instant j'ai pas mieux.
 
Status
Not open for further replies.
Top