Mediatomb 0.12.0 nuevas e interesantes funcionalidades

Desde hace bastante tiempo que utilizo el mediatomb como servidor multimedia y estoy encantado con el.
Hasta esta mañana usaba la versión 0.11.0 ejecutándose como demonio y usando mysql con un Ubuntu 8.10 y estaba pensando en la manera de poder relacionar las caratulas de los vídeos, con el vídeo en si, porque si la lista es larga es un poco lioso solo tener el titulo del vídeo, siempre es preferible ver una captura de pantalla.
Y buscando, buscando he encontrado el nuevo Mediatomb

Se trata de compilar la nueva versión 0.12.0 disponible solo desde el subversion de mediatomb + el ffmegthumbnailer para de esta forma tener "thumbnails" al vuelo en el directorio de los vídeos
Ademas con la nueva versión tenemos otras e interesantes mejoras:

* Mejorada la transcodificación al vuelo, podemos ver VOB, MKV, etc.
* Construcción de soporte de "thumbnails" (pantallazos) (usando ffmpegthumbnailer),
* Trailers de peliculas de Apple (podemos visualizar directamente los trailer de la web de Apple, Nos aparece el menu "Online Sevices" donde se van actualizando los trailers subidos mediante un fichero RSS feed en formato xml desde la web de apple)
* Videos de YouTube (ver directamente videos de Youtube)

Aquí os dejo los enlaces.

Instalar y compilar el mediatomb 0.12.0 y soporte ffmegthumbnailer
http://juliensimon.blogspot.com/2008/12/howto-compiling-mediatomb.html

Configurar el fichero config.xml del mediatomb para ver los "thumbnails" al vuelo en vuestra PS3 y tambien para hacer "transcoding" al vuelo de ficheros que no reproduzca nativamente la PS3 (OGG,FLAC, FLV, Quicktime, etc..). Tambien añadiremos los trailers de Apple y los videos de YouTube
http://juliensimon.blogspot.com/2008/12/mediatomb-012-on-ps3-video-thumbnails.html

Con esta nueva versión, le han dado unas funcionalidades excelentes al Mediatomb que a mi parecer lo hacen un excelente servidor UPnP MediaServer.
Esperemos que la suban pronto a los repositorios de ubuntu-debian

P.D.:
Si ya estas usando el mediatomb 0.11.0, no hace falta que lo desintales.
después de compilarlo, el nuevo ejecutable (0.12.0) estará en /usr/local/bin/mediatomb y el 0.11.0 en /usr/bin/mediatomb
Incluso puedes usar el mismo demonio si le haces referencia a este otro ejecutable (variable DAEMON)
Si alguien quiere ver mi fichero "config.xml", no tiene mas que pedirmelo.
Buenísimo post. Ahora mismo estoy instándolo en mi PS3 (para que sirva a mi otra PS3 : ) )
Gracias por el aporte.
Si a la hora de configurar-lo, necesitas mi fichero config.xml para contrastar la configuracion,
no dudes en pedirmelo y te lo paso.
jerec escribió:Si a la hora de configurar-lo, necesitas mi fichero config.xml para contrastar la configuracion,
no dudes en pedirmelo y te lo paso.

Ya lo he configurado. Ahora intento hacer transcoding de divx a mpeg2, para ver mis avis viejos, pero no doy con ello. por cierto, te va lo de los trailers de Apple? Ami me da error de red
Ummm, raro. A mi si que me va.
Comprueba que tengas instalado el libavcodec-unstripped-51
De todas formas, lo mejor es arrancar el mediatomb en una consola para ver si arranca sin quejarse
despues en otra consola:
tail -f /var/log/mediatomb.log
y vas viendo que errores te lanza.

Mi config.xml
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://mediatomb.cc/config/1" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://mediatomb.cc/config/1 http://mediatomb.cc/config/1.xsd"
        version="1">
  <server>
    <protocolInfo extend="yes"/>
    <ui enabled="yes">
      <accounts enabled="yes" session-timeout="30"/>
      <account user="NombreUsuario" password="PasswordUsuario"/>
    </ui>
    <port>49152</port>
    <ip>IpDeLaMaquinaConElMediatomb</ip>
    <name>NonbreDelMediaTomb</name>
    <manufacturerURL>http://mediatomb.cc/</manufacturerURL>
    <modelName>MediaTomb</modelName>
    <modelNumber>0.11.0-1</modelNumber>
    <serialNumber>1</serialNumber>
    <presentationURL append-to="ip">80/index.html</presentationURL>
    <udn>uuid:06a769ec-945e-444d-90a1-a582ce09b689</udn>
    <home>/var/lib/mediatomb</home>
    <webroot>/usr/share/mediatomb/web</webroot>
    <servedir>/var/lib/mediatomb/share</servedir>
    <alive>180</alive>
    <retries-on-timeout>0</retries-on-timeout> 
    <storage>
      <mysql enabled="yes">
        <host>localhost</host>
        <port>3306</port>
        <username>UsuarioDelMySql</username>
        <password>PasswordDelMySql</password>
        <database>NombreDatabeseMySql</database>
      </mysql>
    </storage>
    <extended-runtime-options>
      <ffmpegthumbnailer enabled="yes">
        <thumbnail-size>128</thumbnail-size>
        <seek-percentage>5</seek-percentage>
        <filmstrip-overlay>no</filmstrip-overlay>
        <workaround-bugs>no</workaround-bugs>
      </ffmpegthumbnailer>
    </extended-runtime-options>
  </server>
  <import hidden-files="no">
    <online-content fetch-buffer-size="262144" fetch-buffer-fill-size="0">
      <AppleTrailers enabled="yes" refresh="43200" update-at-start="yes" resolution="640"/>
      <YouTube enabled="yes" refresh="28800" update-at-start="yes"  purge-after="604800" racy-content="exclude">
        <favorites user="NombreUsuarioYoutube"/>
        <playlists user="NombreUsuarioYoutube"/>
        <uploads user="NombreUsuarioYoutube"/>
        <standardfeed feed="top_rated" region-id="es" time-range="this_week"/>
        <standardfeed feed="most_viewed" region-id="es" time-range="today"/>
        <standardfeed feed="most_recent" region-id="es" time-range="this_week"/>
        <standardfeed feed="most_discussed" region-id="es" time-range="this_week"/>
        <standardfeed feed="most_linked" region-id="es" time-range="this_week"/>
        <standardfeed feed="most_responded" region-id="es" time-range="this_week"/>
        <standardfeed feed="recently_featured" region-id="es" time-range="this_week"/>
      </YouTube>
    </online-content>
    <filesystem-charset>ISO-8859-1</filesystem-charset>
    <metadata-charset>ISO-8859-1</metadata-charset>
    <scripting script-charset="UTF-8">
      <common-script>/usr/share/mediatomb/js/common.js
      </common-script><playlist-script>/usr/share/mediatomb/js/playlists.js</playlist-script>
      <virtual-layout type="builtin">
        <import-script>/usr/share/mediatomb/js/import.js</import-script>
      </virtual-layout>
    </scripting>
    <mappings> 
      <extension-mimetype ignore-unknown="no">
        <map from="avi" to="video/x-divx"/>   
        <map from="mpg" to="video/mpeg"/>     
        <map from="m2v" to="video/mpeg"/>     
        <map from="mp3" to="audio/mpeg"/> 
        <map from="ogg" to="application/ogg"/>
        <map from="asf" to="video/x-ms-asf"/>
        <map from="asx" to="video/x-ms-asf"/>
        <map from="wma" to="audio/x-ms-wma"/>
        <map from="wax" to="audio/x-ms-wax"/>
        <map from="wmv" to="video/x-ms-wmv"/>
        <map from="wvx" to="video/x-ms-wvx"/>
        <map from="wm" to="video/x-ms-wm"/>   
        <map from="wmx" to="video/x-ms-wmx"/>
        <map from="m3u" to="audio/x-mpegurl"/>
        <map from="pls" to="audio/x-scpls"/> 
        <map from="gif" to="image/gif"/>
        <map from="jpg" to="image/jpeg"/>
        <map from="png" to="image/png"/>
        <map from="mkv" to="video/x-matroska"/>
        <map from="mts" to="video/mpeg"/>
        <map from="ts" to="video/mpeg"/>
        <map from="m2ts" to="video/mpeg"/>
        <map from="mov" to="video/x-quicktime"/>
        <map from="vob" to="video/mpeg"/>
        <map from="m4v" to="video/mp4"/>
      </extension-mimetype>
      <mimetype-upnpclass>
        <map from="audio/*" to="object.item.audioItem.musicTrack"/>
        <map from="application/ogg" to="object.item.audioItem.musicTrack"/>
        <map from="video/*" to="object.item.videoItem"/>
        <map from="image/*" to="object.item.imageItem"/>
      </mimetype-upnpclass>
      <mimetype-contenttype>
        <treat mimetype="audio/mpeg" as="mp3"/>
        <treat mimetype="application/ogg" as="ogg"/>
        <treat mimetype="audio/x-flac" as="flac"/> 
        <treat mimetype="image/jpeg" as="jpg"/>     
        <treat mimetype="audio/x-mpegurl" as="playlist"/>
        <treat mimetype="audio/x-scpls" as="playlist"/> 
        <treat mimetype="video/x-msvideo" as="avi"/>     
        <treat mimetype="video/quicktime" as="mov"/>     
        <treat mimetype="video/x-quicktime" as="mov"/>
      </mimetype-contenttype>
    </mappings>
  </import>
  <transcoding enabled="yes">
    <mimetype-profile-mappings>
      <transcode mimetype="application/ogg"   using="audio-generic"/>
      <transcode mimetype="audio/x-flac"      using="audio-generic"/>
      <transcode mimetype="video/x-ms-asf"    using="video-generic"/>
      <transcode mimetype="video/x-flv"       using="video-generic"/>
      <transcode mimetype="video/x-matroska"  using="video-generic"/>
      <transcode mimetype="video/x-quicktime" using="video-generic"/>
      <transcode mimetype="video/quicktime"   using="video-generic"/>
    </mimetype-profile-mappings>
    <profiles>
      <profile name="audio-generic" enabled="yes" type="external" >
        <mimetype>audio/L16</mimetype>
        <first-resource>yes</first-resource>
        <accept-url>yes</accept-url>
        <sample-frequency>44100</sample-frequency>
        <audio-channels>2</audio-channels>
        <hide-original-resource>yes</hide-original-resource>
        <agent command="ffmpeg" arguments="-ac 2 -ar 44100 -y -i %in -f s16be %out"/>
        <buffer size="1048576" chunk-size="4096" fill-size="1024"/>
      </profile>
      <profile name="video-generic" enabled="yes" type="external">
        <mimetype>video/mpeg</mimetype>
        <accept-url>yes</accept-url>   
        <first-resource>yes</first-resource>
        <accept-ogg-theora>yes</accept-ogg-theora>
        <agent command="vlc" arguments="-I dummy %in --sout #transcode{venc=ffmpeg,vcodec=mp2v,vb=2048,fps=25,
                                                                aenc=ffmpeg,acodec=mpga,ab=192,samplerate=44100,
                                                                channels=2,threads=2}:standard{access=file,mux=ps,dst=%out}
                                                                vlc:quit"/>
        <buffer size="10000000" chunk-size="16000" fill-size="100000"/>
      </profile>
    </profiles>
  </transcoding>
</config>


Corrige los NombreUsuario, passwods, IP de la maquina, Nombre de la base de datos (yo lo tengo con MySql)
Ver videos puedo verlos, y me funciona lo del preview por thumbail, lo que no me va muy bien es el transcoding. Añado a la seccion de transcoding: <transcode mimetype="video/x-divx" using="video-generic"/> y como si nada. Bueno, miento, dejan de verse todos los avis, en vez de hacer transcoding de todos ellos a mpeg2, como indica el script. Aparte, me sale la lista de los trailers de apple, pero da error al intentar verlos.

P.D: Mi ps3 60gb del 16 de 4 acaba de morir, asi que no podré hacer mas pruebas :/
5 respuestas