Transcodage film HD mediatomb

Publié le 17 mars 2011 par Lmns972 @guestblog

Comme vu dans ce billet nous avons mis en place un serveur multimedia nous permettant de regarder nos films ou autres format sur notre PS3.

Malheureusement la PS3 ne permets pas de lire les fichiers en haute définition (mkv) , deux solutions s'offrent à vous :

  1. Acheter un lecteur multimedia compatible
  2. Faire du transcodage .

Evidemment nous allons utiliser la solution deux . Le transcodage comme son nom l'indique va permettre de transcoder la video en un format reconnu par la PS3.

Déjà commençons par activer le transcoding

  1. /*
  2. <transcoding enabled="yes"> #Cette valeur doit être à yes
  3. */

Modifier le fichier config.xml

  1. /*
  2. <mimetype-profile-mappings>
  3. <transcode mimetype="video/x-flv" using="vlcmpeg"/>
  4. <transcode mimetype="application/ogg" using="vlcmpeg"/>
  5. <transcode mimetype="application/ogg" using="oggflac2raw"/>
  6. <transcode mimetype="audio/x-flac" using="oggflac2raw"/>
  7. <transcode mimetype="video/x-matroska" using="video-common"/>
  8. <transcode mimetype="application/ogg" using="video-common"/>
  9. </mimetype-profile-mappings>
  10. */

Il faut également ajouter le profile suivant dans la section "transcoding"

  1. /*
  2. <profile name="video-common" enabled="yes" type="external">
  3. <avi-fourcc-list mode="ignore">
  4. <fourcc>DX50</fourcc>
  5. <fourcc>DM4V</fourcc>
  6. <fourcc>M4S2</fourcc>
  7. </avi-fourcc-list>
  8. <mimetype>video/mpeg</mimetype>
  9. <accept-url>yes</accept-url>
  10. <first-resource>yes</first-resource>
  11. <hide-original-resource>yes</hide-original-resource>
  12. <accept-ogg-theora>yes</accept-ogg-theora>
  13. <agent command="/usr/bin/mediatomb-transcode-video" arguments="%in %out"/>
  14. <buffer size="1048576" chunk-size="26214" fill-size="52428"/>
  15. </profile>
  16. */

On voit que dans le bloc précédent que nous faisons appel à un script

  1. /*
  2. <agent command="/usr/bin/mediatomb-transcode-video" arguments="%in %out"/>
  3. vim /usr/bin/mediatomb-transcode-video
  4. #!/bin/bash
  5. #FFMPEG_PATH="/usr/bin/ffmpeg"
  6. FFMPEG_PATH="/usr/local/bin/ffmpeg"
  7. INPUT="$1"
  8. OUTPUT="$2"
  9. VIDEO_CODEC="mpeg2video"
  10. VIDEO_BITRATE="4096k"
  11. VIDEO_FRAMERATE="25"
  12. AUDIO_CODEC="copy"
  13. FORMAT="mpegts"
  14. exec "${FFMPEG_PATH}" -i "${INPUT}" -vcodec ${VIDEO_CODEC} -b ${VIDEO_BITRATE} -r ${VIDEO_FRAMERATE} -acodec ${AUDIO_CODEC} -f ${FORMAT} - > "${OUTPUT}"
  15. */

Donner les droits d'éxécutions au script

  1. /*
  2. chmod +x /usr/bin/mediatomb-transcode-video
  3. */

Le script fais appel à ffmpeg . Il nous faudra donc l'installer .
Eviter d'utiliser à la version packagée, j'obtiens pas mal d'erreurs et la video se mets en pause dès le début .
Nous allons donc récupérer la dernière version stable de ffmpeg ici

  1. /*
  2. wget -L http://www.ffmpeg.org/releases/ffmpeg-0.6.1.tar.gz
  3. tar xzf ffmpeg-0.6.1.tar.gz
  4. cd ffmpeg-0.6.1/
  5. ./configure
  6. make
  7. make install
  8. */

Voila c'est tout bon un petit restart de mediatomb . Eh à vous les joies du MKV .
Inconvénient :

  • Demande beaucoup beaucoup de ressources CPU

Les sources de l'article :
http://soowei.com/2008/11/27/streaming-mkv-in-mediatomb-to-ps3/

http://blog.sorenmunk.dk/2008/09/ps3-media-center-finally-working-with.html