miércoles, 6 de junio de 2012

RaspberryPi como DLNA SERVER y TRANSCODIFICADOR

otro superpoder para mi RaspberryPi

Buenos días/tardes/noches, muchos de los que nos interesamos en RaspberryPi nada más ver las especificaciones originales, nos llamó la atención de que pudiese reproducir vídeo a 1080p. Hoy os voy a explicar como me lo he montado para que mi RaspberryPi ofrezca video por DLNA. Al lio ...

¿por qué no usaré el HDMI?


Llevo aproximádamente un año usando un Atom DualCore con ION2 como mediacenter, conectado por HDMI a la TV. He probado con MythTV, con XBMC, con una Debian y VLC, con Ubuntu y Mplayer, XBMCBUNTU, MythBuntu, Centos y XBMC, Centos y VLC, Openelec ... pero además he probado tuneando finamente las configuraciones, cambiando el reproductor interno a uno externo, compilando drivers en estado beta y hasta alfa; y la verdad es que en la mayoría de los casos funciona. Peeeeero, no siempre va fino fino, hay veces que un video de alto bitrate se engollipa, hay veces que los subtítulos no muestran correctamente los carácteres especiales, y lo peor de todo es que se trataba de un sistema con refrigeración activa, por lo que hacia ruido, poco pero perceptible. Es por eso que voy a usar DLNA, además hay que tener en cuenta, que así tendré el RaspberryPi en otra habitación, junto al router ADSL, del que además saco la alimentación por USB.

Eligiendo el servicio de DLNA

El objetivo es reproducir los vídeos que tengo en el NAS, en la tele. Usando el propio menú de la tele, mediante su mando a distancia o bien controlándolo todo de los móviles con Android con la app BubbleUPnP, más o menos esto:

He probado varios, la verdad es que no demasiados ... dos de hecho y el que mejor resultado da, el que es más completo, el mejor es MINIDLNA. Podeis bajar las fuentes y compilar (no lo recomiendo) o bajar el paquete Debian para ARM:
cd /usr/src/
wget http://dev.shyd.de/dockstar/minidlna-1.0.24-1-arm.deb
dpkg -i minidlna-1.0.24-1-arm.deb
apt-get -f install
instalara entre otros, las dependencias incumplidas del minidlna, y lo instala al haberse quedado pendiente, que majos estos de Debian.
Ahora editamos el archivo de configuración, el mio tiene el siguiente aspecto:
vim /etc/minidlna.conf
port=8200
media_dir=V,/mnt/pelis
media_dir=V,/mnt/series
media_dir=V,/mnt/porver
media_dir=A,/mnt/mp3
friendly_name=DLNA RSPPI
db_dir=/tmp
log_dir=/var/log
album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg
inotify=yes
enable_tivo=no
strict_dlna=no
notify_interval=900
serial=12345678
model_number=1
Hay que indicar en media_dir donde tenemos los vídeos, música y fotos. Arrancamos el servicio:
/etc/init.d/minidlna start
Y hacemos que el servicio se arranque con el sistema:
update-rc.d minidlna defaults
Antes de probar, asegúrate de que minidlna ha terminado de indexar los videos, para ello ejecuta el comando top y espera a que el proceso minidlna baje al 1% ó menos. En mi caso, tengo muchas series y pelis en HD, en el NAS (que no es el más rápido) y tardó sobre una hora, solo hay que esperar la primera vez, conforme añadas archivos se iran idexando.
Vamos a probarlo, dejamos un top ejecutandose en el RaspberryPi y vamos a la tele:

  • source ...
  • UPNP > DLNA RSPPI
  • carpetas ...
  • series ...

Voy a probar directamente un capítulo con subtítulos en mi televisor Samsung (es complicadísimo que funcionen los subtítulos en Samsung):
PERFECTO!! Los subtítulos salen perfectos, hasta las tildes y demás caracteres. Ahora voy a probar una peli a 1080p con bitrate alto:
IMPRESIONANTE!! creo que jamás he visto tanta calidad de imagen en mi televisor. Va supersuave, sin cortes, retrasos ni nada. Es 100% lo que buscaba.
Dejo el video en marcha mientras vuelvo al Raspberry y mi sorpresa es que el micro del cacharrín está al ... 7% INMEJORABLE, es sin duda lo que buscaba, 100% recomendable, éxito.

90 comentarios:

  1. Hola, e seguido todos los pasos, el servidor se monta bien, pero no hay manera de que las carpetas sean reconocidas por el servidor, ni siquiera las indexa. no se que hacer

    ResponderEliminar
    Respuestas
    1. y el nombre y la ruta de las carpetas es correcto, por que si lo pones mal te tira un error al iniciar minidlna. e provado a quitar la V de video, pero nada. tengo la distribucion de debian, no se me ocurre donde esta el error.

      Eliminar
    2. (soy Juanmol) a veces la verdad es que le cuesta actualizar. Lo que mas le cuesta es cuando se trata de una carpeta montada por smbfs. La primera vez tarda mucho, depende de la cantidad de archivos, prueba poner solo una carpeta local y un video cortito. Tambien puedes probar con la opcion -R para refrescar. Ya me cuentas como te a ido.

      Eliminar
    3. monte la unidad usb (2 Tb) con "sudo mount -t ntfs-3g -o uid=pi,gid=pi /dev/sda1 /mnt/mybook/"
      y en archivo de config de minidlna las carpetas esta asi "media_dir=/mnt/mybook/Alejandro" (probé con el ,V y sin el)

      el tema es que cuando lo hago y pongo el comando "TOP" el minidlna no esta usando memoria ni CPU.

      donde te refieres que ponga la opcion -R ?

      Eliminar
    4. a ver a ver ... primero asegurate que el minidlna esta parado del todo, haz un ps -e y un kill a cada proceso que te salga, despues lanzalo con:
      minidlna -f /etc/minidlna.conf
      y el top tiene que cantarte si esta haciendo algo. El -R es simplemente:
      minidlna -R
      suerte!!

      Eliminar
    5. yeah! eres un crack mil gracias, solo faltaba eso. Funciona al 100% si puedes añadelo al tutorial, asi los noob como yo en esto les sera + facil.

      solo llevo con linux 3 dias, todo es nuevo para mi, menos masl que gente como tu nos abre los ojos!

      Gracias de nuevo.

      P.D: te seguiré molestando en otra parte de tu blog seguramente para preguntarte dudas :D

      Eliminar
    6. Funciona perfecto eres un crack

      Gracias

      Eliminar
  2. tengo un problema a la hora de instalar hay una dependencia que no me la puede instalar:

    pi@raspberrypi /usr/src $ sudo dpkg -i minidlna-1.0.24-1-arm.deb
    (Leyendo la base de datos ... 62682 ficheros o directorios instalados actualment e.)
    Preparando para reemplazar minidlna 1.0.24-1 (usando minidlna-1.0.24-1-arm.deb) ...
    Desempaquetando el reemplazo de minidlna ...
    dpkg: problemas de dependencias impiden la configuración de minidlna:
    minidlna depende de libjpeg62; sin embargo:
    El paquete `libjpeg62' no está instalado.
    minidlna depende de sqlite3; sin embargo:
    El paquete `sqlite3' no está instalado.
    minidlna depende de libavformat52; sin embargo:
    El paquete `libavformat52' no está instalado.
    dpkg: error al procesar minidlna (--install):
    problemas de dependencias - se deja sin configurar
    Se encontraron errores al procesar:
    minidlna


    resulta que


    pi@raspberrypi /usr/src $ sudo apt-get install libavformat52
    Leyendo lista de paquetes... Hecho
    Creando árbol de dependencias
    Leyendo la información de estado... Hecho
    El paquete libavformat52 no está disponible, pero algún otro paquete hace refe rencia
    a él. Esto puede significar que el paquete falta, está obsoleto o sólo se
    encuentra disponible desde alguna otra fuente

    E: El paquete «libavformat52» no tiene un candidato para la instalación



    y ahora no se muy bien como conseguir ese paquete o que deberia hacer.

    ResponderEliminar
  3. Hola, soy Juanmol no puedo hacer login ahora. La libreria que buscas es libavformat53, la han actualizado. Prueba y me comentas a ver que tal.

    ResponderEliminar
  4. BUENAS,...

    Excelente idea pero disculpadme, soy nuevo en esto,... como se pone la dirección del disco ... media_dir=V,/mnt/pelis /dev/sda1 ???

    Gracias por vuestra respuesta...

    ResponderEliminar
    Respuestas
    1. Hola, no pones la dirección del disco, pones un directorio. En mi caso es /mnt/pelis que es donde tengo montada la partición correspondiente del nas :)

      Eliminar
    2. y como se hace "eso"?....

      yo lo tengo en /media/250gbusb/ y quiero que pille todo lo que hay ahi dentro...

      para primero,... ver lo que tarda en indexar.
      segundo ... ver como va con la tv que tiene dlna
      tercer... si todo va ok le enchufo el disco de 2tb...

      cuando tenga eso claro ya comenzare a separar series, niños, mio,...



      Eliminar
    3. pues tu linea seria algo asi como:
      media_dir=V,/media/250gusb/

      el tiempo de indexación es muy relativo, si lo lanzas al principio y tiene que buscar muchos archivos, tarda bastante. En mi caso son unos 600 archivos y tarda 25 minutos. Una vez que indexa, se actualiza por inodos y son pocos segundos por cada archivo nuevo.

      Eliminar
  5. Mi duda es:

    ¿la reproducción de subtitulos depende de la configuración del minidlna o del propio reproductor?.

    Si los subtitulos van dentro del propio MKV no hay problema, pero si los intento reproduccir desde un SRT externo, no hay manera....

    Un saludo y gracias!

    ResponderEliminar
    Respuestas
    1. Hola, minidlna coge los subtitulo SRT que tienen el mismo nombre del archivo que reproduce. También coge los subtítulos SRT dentro de un contenedor MKV, aunque no tengan el mismo nombre del archivo que reproduce.
      Mi TV tiene la limitación, de que, en caso de tener varios SRT (varios idiomas) no me permite elegir cual usar, pero es limitación de mi TV. Para minimizar este "defecto" tengo publicado este post http://rsppi.blogspot.com.es/2012/07/modificar-mkv-desde-el-raspberrypi.html para solucionarlo.
      Tambien lo que puede pasarte, es que minidlna no haya indexado el SRT. Ejecuta un minidlna -R (fuerza un reindexado completo).

      Eliminar
  6. Hola Juanmol,
    Me ha interesadoo mucho tu tutorial y pretendo adquirir un Raspberry pi para poder utilizar un disco usb de 1 tera en una smart tv usando DLNA.
    Tengo dudas a la hora se comprar la tarjeta Sd puesto que he visto que no todas son compatibles.
    Me recomendarias alguna marca o clase que pueda ir bien para este proyecto.
    Gracias,
    Edu

    ResponderEliminar
  7. Se puede usar el de cliente DLNA la Raspberry con XMBC y el servidor con los archivos en otro PC?
    Es decir , tener la Raspberry abajo en el salón por ejemplo conectada a la TV y el server DLNA compartiendo pelis en PC. Llegar a la raspberry al XMBC y tener la lista de peliculas con caratulas y demás accesibles mediante DLNA?
    Es posible?

    ResponderEliminar
    Respuestas
    1. claro, pero ten en cuenta que XBMC ya tiene cliente y server DLNA, no le vayas a poner ademas el minidlna.

      Eliminar
  8. Hola, muy bueno el blog.
    Estaba configurando minidlna, y consigo que me reproducza sin problemas los videos. Pero los subtítulos no los coge, vi que arriba comentabas de hacer un reindexado completo, pero sigue sin funcionar. Los subtitulos tienen exactamente el mismo nombre que el fichero salvo la extensión, los ficheros de video son en mp4. Sabrías decirme donde estoy fallando?
    Muchas gracias por anticipado.

    ResponderEliminar
  9. Buenas,

    Sigo teniendo este mensaje: Starting minidlna: minidlna/usr/sbin/minidlna: error while loading shared libreries; libjpeg.so.62: cannot open shared object file: no such file or directory... "en rojo" failed.

    ¿he instalado mal el minidlna? si es cierto que me ha dado un error durante la instalación... pero he seguido los pasos

    ¿alguien me ayuda?

    ResponderEliminar
    Respuestas
    1. ummm haz un
      dpkg -l | grep libjpeg
      a mi me salen dos resultados (instalados):
      libjpeg8:armhf
      libjpeg8-dev:armhf

      Eliminar
    2. sale ii libjpeg8:armhf 8d-l armhf

      independent jpeg group's jpeg runtime library

      y ya esta.

      Es correcto?

      Eliminar
    3. instálale el otro, a ver si hay suerte:
      apt-get install libjpeg8-dev

      y nos cuentas

      Eliminar
    4. Hecho,... y siguen los problemas...

      despues de tardar un buen rato da:
      minidlna : depens: libjpeg62 but it si not going to be installed
      depens: sqlite 3 """""""""""""""""
      depens: libavformat52 but is not installable
      e: ument dependencies. try apt-get -f install with no packages (or specify a solution

      ahora esta haciendo un apt-get -f install...

      Eliminar
    5. vale vale creo que se cual es el problema, el paquete a instalar es libavformat53 y despues el resto, prueba y nos cuentas.

      Eliminar
    6. Disculpame,...

      no he hecho lo que me comentas,... he bajado la nueva imagen de raspbian y después he actualizado el repositorio.

      y mira tu por donde,... esta el minidlna.... y efectivamente apt-get install minidlna y solo se instala sin probmelas y se pone en marcha.... antes de acabar la instalación... la tv ya ha reconocido el servidor dlna,...

      He editado el fichero para que pueda "pillar" los archivos y teoricamente esta haciendo algo,...

      ya os comento como va.

      Eliminar
    7. Bueno,...
      todo cambiado pero sigo sin poder ver pelis...
      he tenido que subir el número de ficheros permitidos de 8196 a 999999.
      Pero despues me dice que no tiene permisos

      que complicado es...

      Eliminar
    8. que el minidlna ya venga en los repositorios oficiales es una buenísima noticia, va a ser lo siguiente que pruebe.
      Para la primera configuración con archivos de vídeo, te recomiendo que le configures un directorio con 3 ó 4 archivos, no más. Compruebas que esos funcionan por DLNA y entonces le pones el directorio con todos los archivos, más que nada porque en la primera indexación se lleva un siglo.
      Y no es complicado, es entretenido ;)

      Eliminar
    9. no consigo que comience,... el disco es un ntfs con 250gb... (es una prueba para probar el potencial) hay que hacer algo como dar permisos, segun he visto en foros es fstab (¿es posible?)

      creo que lo solucionaria...

      ya me dices

      Eliminar
  10. Hola otra vez,...

    he instalado el modulo ntfs-3g y ya he podido cambiar los permisos.

    Ahora me comenta que no "encuentra" el directorio.

    El disco tiene que ser ext4? obligatoriamente?

    ResponderEliminar
    Respuestas
    1. no encuentra el directorio a montar o donde montar? si es lo 2º, créalo con:
      mkdir -p /mnt/eldirectorioquetuquieras/
      por ejemplo

      Eliminar
    2. se me olvidaba, puede ser ext4 ext3 fat ntfs raiserf ... el que quieras.

      Eliminar
  11. POR FIN!!!!

    No sabia que se tiene que montar la unidad a traves de la linea de comandos, ya que la unidad ya estaba automontada en el explorador de archivos, o sea cuando enchufas el pen/hdd.

    Después no refrescaba las peliculas. despues la tv no las reconocia, no se que he tocado (creo que minidlna -R) y se pueden ver como si estubiera enchufado el hdd usb. La tv reproduce por hdd.

    y ahora el "apreton" 3 reproducciones a la vez de una peli de 9gbs en TV, FUNCIONANDO SIN PROBLEMAS.

    Ha tardado en "pillar" 250gbs en pelis, series,... algo así como uno o 2 minutos.

    Solo me queda una coseja... la tv no pilla los diferentes audios, lo comento porque a los niños le enchufo las pelis en ingles. En el pc sin problemas y en el movil también sin problemas (increible poder escojer el idioma en el movil)

    Aprovecho para consultar también,... ¿transcodificador? que significa. ¿que puede adaptar la peli al reproductor? si es así, no funciona. En android la reproduce al tamaño de la peli o sea 1080p y claro hace lo que puede. He intentado reproducir en hardware pero no encuentro un reproductor que pueda reproducir los mkv sin problemas. He probado el MX reproductor, moboplayer, showtime MKV y todos lo reproducen por software y la verdad se encalla bastante. Se que si se pudiera a) reducir en transcoder podría sin problemas o b) por hard es igual lo grande que fuera que tira como un demonio. El teléfono es un sony xperia u, no es un alta gama pero si "mu apañao". La verdad es que se ven una cantidad de detalles en el que impresiona.

    Asi pues, sólo me queda el tema de los audios de la Samsung y como transcodificar a diferentes resoluciones como 720p o 854x480 del movil.

    Juan Mol, agradezco tu paciencia con un "negado" como yo. Felices fiestas.

    ResponderEliminar
    Respuestas
    1. hola (ponte un nombre la proxima vez), me alegra ver que ya te va funcionando. La primera vez no comentaste que usas entorno grafico conun explorador de archivos que automonta las unidades, no es una buena practica montar dos veces el mismo recurso en dos destinos distintos. Desactiva el automontado o indicale al minidlna que use ese directorio.
      Lamento comunicarte que la eleccion de audios y/o subtitulos en las teles samsung (como la mia) no es posible, ni con minidlna ni con nada que no sea lo que aporta el fabricante, que no aporta nada. Escribí un post que trata de reorganizar los audios dentro del mkv, miratelo (estoy desde el movil sorry) a ver si puedes aprovecharlo.
      Cuando hablamos del transcodificador, hablamos del dispositivo que extrae y "descomprime" las pistas de audio y video para que sean entendidas por otro dispositivo. Mi tele y seguro que la tuya tambien, traen un transcodificador, pero es una real kk, por eso usamos la gpu del raspberrypi junto con el minidlna para hacer esta funcion. Asi la tele la dejamos como dispositivo reproductor sin transcodificacion.
      Por otra parte, si tu movil es android puedes instalarle vlc para hacer alguna prueba mas.

      Eliminar
  12. Hola, buenos días

    intentare poner un login... como Xicugros

    Disculpame,... pensaba que si veia la unidad en un "sitio" estaría en tambien en la linea de comandos. y creia que si era así porque no me dejaba montarla , decia que el recurso se estaba usando. Entendía que podría acceder.

    Intentare reoganizar los mkvs,.. pero tengo un monton.

    Por lo que he visto, tanto en el pc como en phone, no transcodifica, "simplemente" pasa a streamer un mkv porque envia una cantidad de información impresionante. No adaptana nada.

    He probado el VLC y funciona peor que Mx reproductor, relamente este es el que mejor se ha comportado y mantiene la sincronización. cosa que el resto no.

    Una pregunta si descomprime/transcodifica, creo que podría tener más opciones al respecto y la única que tiene es "ayudar" o dar soporte dlna.

    Espero equivocarme.

    YA me dices

    ResponderEliminar
  13. Buenas, gracias por el tutorial. He conseguido instalarlo sin problemas pero yo sigo sin verlo mediante el top, he matado el proceso y lo lanzo pero sigo sin verlo.
    En el ipad consigo conectarme y a la hora de poner una peli se queda cargando mucho tiempo y se queda ahi.
    ¿Alguna idea que puede ser?

    Saludos y muchas gracias.
    Estoy aprendiendo mucho en este blog

    ResponderEliminar
    Respuestas
    1. Hola Iker, vi tu comentario en el vídeo de Youtube. Prueba primero matar el minidlna con kill -9. Cuando estés seguro de que no este corriendo (ps aux | grep minidlna) lanzalo con:
      /usr/bin/minidlna -f /etc/minidlna.conf -P /run/minidlna/minidlna.pid -R
      pero antes configúralo para que mire en un directorio que solo tenga un par de MKV, para que tarde mucho menos.
      Y si sigue sin ir, lo siento por el comentario irracista, pero a ver si puedes probar con algo que no sea un idispositivo ;)

      Eliminar
    2. Gracias por tu ayuda Juan, he intentado hacer todo pero nada.
      Primero lo he matado, lo he lanzado y he comprobado con top como baja al 1% pero desde el ipad sigo sin poder visualizarlo bien. No tengo otro dispositivo con DLNA asique no puedo probarlo. Se te ocurre alguna otra idea en la que poder reproducir? Con VLC Streamer consigo ver perfectamente los de mi equipo pero me interesa instalar en la raspberry pi, en el foro lo explican como instalarlo en linux pero no he conseguido hacerlo funcionar.

      Gracias por todo :)

      Eliminar
  14. Hola Juanmol,

    Ya he podido averiguar porque no se e bien los vídeos ha través del dlna... porque el dispositivo que reproduce no soporta el códec del vídeo. si prueba sun fichero que tenga h264como códec de vídeo, podrás verlo sin problemas y común frame rate de miedo con consumo de recursos y batería mínimo.

    Lastima que latv no lsoporteelidiomasino sino hubiera sido una gran solución.


    ResponderEliminar
    Respuestas
    1. si estas usando minidlna, es éste el que hace la transcodificación, por lo que la tele no tiene porque tener el codec original. Tengo pendiente hacer pruebas con otros servidores, pero no tengo tiempo de na!

      Eliminar
  15. Buenos dias Juan Mol.

    Antes que nada darte la enhorabuena por este pedazo blog/tutorial de Raspberry.

    Una consulta, He instalado el minidlna y reproduzco películas con subtitulo sin ningún problema, con lo cual me esta funcionando, pero me gustaría ir un poco más allá.

    Sabes si existe alguna forma, de configurar los botones de avance/retroceso del mando de
    mi tv para que funcione con el minidlna.

    Gracias.

    ResponderEliminar
    Respuestas
    1. Hola, lamento comunicarte que si no te funciona, no te funciona. No hay una configuración específica, a mi tv Samsung le pasa lo mismo. Lo que si he podido hacer para mediosolucionar esto, es usar un controlador DLNA en Android, el BlubbleUPnP (gratis en Google Play) y desde ahí si puedo ir hacia delante o hacia atrás.
      El fallo es del fabricante de la tv, pasa lo mismo cuando intentas cambiar la pista de audio y/o subtítulos dentro de un unico MKV.

      Eliminar
  16. Buenas!!

    Esta noche probaré el BlubbleUPnP a ver que tal.

    ResponderEliminar
  17. [....] Starting minidlna: minidlna/usr/sbin/minidlna: error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or directory
    failed!

    he hecho apt-get -f install otra vez pero nada

    ResponderEliminar
    Respuestas
    1. apt-cache search libjpeg
      (...)
      libjpeg8 - Independent JPEG Group's JPEG runtime library
      (...)

      apt-get install libjpeg8
      facil ;)

      Eliminar
    2. root@raspberrypi:/home/pi# apt-get install libjpeg8
      Reading package lists... Done
      Building dependency tree
      Reading state information... Done
      libjpeg8 is already the newest version.
      You might want to run 'apt-get -f install' to correct these:
      The following packages have unmet dependencies:
      minidlna : Depends: libjpeg62 but it is not going to be installed
      Depends: libvorbisfile3 but it is not going to be installed
      Depends: sqlite3 but it is not going to be installed
      Depends: libavformat52 but it is not installable
      E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

      Eliminar
    3. asegurate de tener /etc/apt/sources.list mas o menos con este aspecto:
      deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
      deb-src http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
      deb http://ftp.debian.org/debian wheezy main contrib non-free
      deb-src http://ftp.debian.org/debian wheezy main contrib non-free

      haz un "apt-get update" y resuelve a mano la dependencia:
      apt-get install libavformat53

      Eliminar
    4. igual


      root@raspberrypi:/usr/src# apt-get -f install
      Reading package lists... Done
      Building dependency tree
      Reading state information... Done
      Correcting dependencies... Done
      The following extra packages will be installed:
      minidlna
      The following packages will be upgraded:
      minidlna
      1 upgraded, 0 newly installed, 0 to remove and 121 not upgraded.
      1 not fully installed or removed.
      Need to get 0 B/143 kB of archives.
      After this operation, 330 kB of additional disk space will be used.
      Do you want to continue [Y/n]? y
      dpkg: error processing minidlna (--configure):
      no package named `minidlna' is installed, cannot configure
      Errors were encountered while processing:
      minidlna
      E: Sub-process /usr/bin/dpkg returned an error code (1)
      root@raspberrypi:/usr/src#

      root@raspberrypi:/home/pi# /etc/init.d/minidlna start
      [....] Starting minidlna: minidlna/usr/sbin/minidlna: error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or directory
      failed!
      root@raspberrypi:/home/pi#


      Eliminar
    5. hasta que no solucione esto no puedo instalar nada, no me deja

      Eliminar
    6. HAcé esto:

      apt-get remove minidlna
      apt-get -f install
      apt-get install libavformat53

      Eliminar
  18. Hola

    Antes de nada felicitarte por este articulo, y por esta web.

    He encontrado super interesante este articulo y creo que es lo adecuado para dos problemas que tengo:
    - Mi reproductor BluRay Sony S570 no encuentra el servidor DLNA integrado de XBMC, y, según las especificaciones, no reproduce MKV desde DLNA.

    Si cogiera la RPI que tengo con Raspbmc, desactivara el DLNA/UPNP de XBMC y instalara MiniDLNA, podría hacer que mi reproductor reconociera el servidor DLNA.
    Por otro lado, si MiniDLNA hiciera transcodificacion, solucionaría el problema de que mi reproductor no reproduce ficheros MKV.

    Esto es así? He mirado la web oficial de miniDLNA, y he visto que miniDLNA no hace transcodificación y no veo en el fichero de configuración nada que indique que la haga.

    Me puedes ayudar con estas dudas?

    Muchas gracias.

    Toni

    ResponderEliminar
    Respuestas
    1. ¿? ¿no hace transcodificacion? si no lo hiciera, no lo estaría usando ¿estas seguro? Yo creo que con minidlna o con xbmc tendrias de sobra.

      Eliminar
    2. Hola Juan

      ya ves las horas que son y estoy liado. Parece que si que hace transcode, por lo que me va perfecto, pero tengo un problema.
      Cuando el cliente (reproductor bluray Sony S570) lista los videos, pierde la conexion con el servidor y da un error. En el log solo aparece esto: [2013/01/30 01:16:16] upnphttp.c:1054: warn: HTTP Connection closed unexpectedly

      El minidlna es el que lleva raspbian por defecto en su repositorio y se instala sin ningun problema.
      Sabes que puede ser?
      Gracias
      Toni

      Eliminar
    3. tiene pinta de ser el bluray, si quieres estar seguro vas a tener que probar con otro cliente dlna en otro dispositivo. VLC y XBMC son clientes DLNA multiplataforma, seguro que tienes un pc/tablet/movil donde poder instalarlo y probar.

      Eliminar
    4. Siguiendo con las pruebas he visto que no depende del numero de videos sino, parece ser que algun video de los existentes hace que falle.
      Te has encontrado alguna vez con eso?
      Toni

      Eliminar
    5. Me contesto a mi mismo.
      Por fin funciona!!! He encontrado el problema: El juego de caracteres.
      Cuando hay algun acento, el reproductor Sony da error. El problema es que en el Linux, al hacer un ls, los nombres de los ficheros no aparecen bien, por ejemplo: "Dani Martin - Peque?o"
      He probado varios juegos de caracteres en locales, pero nada. No soluciono este tema.
      Se te ocurre alguna manera de renombrar los ficheros automaticamente eliminando ese caracter? No es un interrogante, sino un simbolo que no puede mostrar, pero no se ver cual es :-(
      Muchas gracias por ayudarme.
      Un saludo

      Eliminar
    6. ummmm antes de borrar caracteres especiales, prueba:
      apt-get install locales
      dpkg-reconfigure locales

      deberias tener es-utf8 o algo parecido, mira a ver

      Eliminar
    7. Asi es como lo tengo, pero tambien prové es-iso1859-1 y es-iso1859-15euro
      Y nada de nada.
      :-(

      Por cierto, los subtitulos no salen y algun que otro MKV tampoco funciona. Creo que esto ya son limitaciones del reproductor de BluRay.

      Toni

      Eliminar
    8. lo de las locales siempre es una lata, puede depender hasta del programa con el que copiaste el archivo o te lo descargaste. Solo podemos probar.

      En mi caso, mi tv es el cliente DLNA, no me ha fallado en ningun MKV, pero eso si, solo admite subtitulos en srt con el mismo nombre de archivo que el MKV. Tampoco me permite cambiar la pista de audio ni subtitulos, si el MKV contiene varias.

      Supongo que los clientes más modernos, irán siendo más compatibles y algo mas standard.

      Eliminar
    9. Bueno,

      a medida que voy provando, mi gozo se hunde mas en el pozo :-(
      Lo de los SRT, con mi BluRay no van pero con algunos clientes si que funcionan.
      Los MKV, con ningun cliente me los arrastra bien. Se ven alentecidos, y eso que la CPU de la raspberry no se satura en ningun momento.
      Cambiar la pista de audio del MKV, con el BluRay funciona.
      Avanzar funciona con todos los clientes.

      Lo tengo todo con red por cable, sin wifi, y el disco donde estan las peliculas es un ext4 por usb.

      Toni

      Eliminar
  19. Buenas noches, tengo el siguiente problema cuando hago apt-get upgrade

    Errors were encountered while processing:
    minidlna
    E: Sub-process /usr/bin/dpkg returned an error code (1)

    ¿Podrias ayudarme ??
    Gracias.

    ResponderEliminar
    Respuestas
    1. prueba desinstalando primero el minidlna, eso pasa cuando se instala un paquete a mano y despues aparece en el repositorio. Instalalo despues con un apt-get install minidlna

      Eliminar
  20. Hola,

    Me ha surgido un problemilla con esto del minidlna... Lo he instalado y he conseguido que funcione correctamente. El problema es que a los pocos minutos mis dispositivos dejan de detectar la raspberry como dispositivo dlna, y en los logs no veo nada raro, y el proceso minidlna sigue corriendo en el sistema.
    Reiniciando el servicio vuelve a funcionar otra vez durante un rato. ¿Sabes cuál puede ser el problema?

    Muchas gracias!

    ResponderEliminar
    Respuestas
    1. no sabria decirte ¿as bajado el paquete debian o as usado los repositorios?

      Eliminar
    2. Pues bajé el paquete debian pero me daba errores así que finalmente lo desinstalé e instalé usando los repos.
      Por lo que he visto parece que va y viene, y en las trazas estoy recibiendo estos errores:
      [2013/02/13 21:05:33] upnphttp.c:1054: warn: HTTP Connection closed unexpectedly
      [2013/02/13 22:47:32] upnpsoap.c:1739: warn: Returning UPnPError 402: Invalid Args

      Eliminar
    3. ummm prueba poner solo un directorio con un par de vídeos que no contengan carácteres especiales como espacios corchetes paréntesis ... algo así como:
      /media/pelis/peli1.mkv
      /media/pelis/peli2.mkv
      a ver si hay suerte y es alguna cosa de esas.

      Eliminar
  21. Hola soy un reciente usuario de Raspberry con escasos conocimientos de linux, he instalado el minidlna y añadido directorios que tengo en un pen conectado a la Raspberry y me funciona perfectamente, mi pregunta es como puedo añadir directorios que tengo en red por ejemplo en mi pc tengo una carpeta llamada llamada cine me gustaria añadirla al minidlna.
    Cuando estoy en modo grafico en la barra de direcciones de file manager este recurso me aparece como smb://omega/Ext/Cine

    Gracias
    Jose Antonio

    ResponderEliminar
    Respuestas
    1. mu fasi, para que se monte automáticamente cuando arranca tu raspberry, en el archivo /etc/fstab añades la linea:
      //omega/Ext/Cine /mnt/pelis cifs username=usuario,password=clave 0 0

      te lo montaría en /mnt/pelis que tiene que existir previamente, con los permisos del usuario 'usuario' con clave 'clave' ... guiño guiño.

      Eliminar
  22. Hola, tengo una duda.

    ¿Cómo podría programar que cada 30 minutos se recargue el índice?
    He probado poniendo una entrada en el crontab pero no he sido capaz de hacerlo funcionar bien. ¿Alguna sugerencia?

    Gracias,

    Álvaro.

    ResponderEliminar
    Respuestas
    1. para que lo pille el crontab tendrias que tener una linea mas o menos así:
      */30 * * * * minidlna -R
      he notado que minidlna no es el mejor del mundo, tiene sus fallos. Es posible que alguna que otra vez, al hacer el -R no rehace al 100% el indice. Si estas desesperado porque no funciona, pélate la bbdd y que la rehaga. Esta en la ruta que indicas en minidlna.conf, que por defecto es:
      /var/lib/minidlna
      borralo sin piedad y ejecuta el -R despues ;)

      Eliminar
    2. Mal Juanmol, mal:
      */30 * * * * root minidlna -R

      Eliminar
    3. Gracias! Probaré ahora a ver si así funciona. me fallaba que en vez de root yo ponía sudo. ¿Y esta entrada al crontab se hace desde root o desde el usuario pi?

      Eliminar
    4. con sudo no va a funcionar. Para ejecutarlo como root:
      */30 * * * * root minidlna -R
      para ejecutarlo como pi:
      */30 * * * * pi minidlna -R

      tiene que ejecutarse con el mismo usuario que lanza minidlna, asegurate de eso.

      Eliminar
  23. Juan, minidlna NUNCA ha transcodificado. Transcodificar no está entre sus características.

    ResponderEliminar
    Respuestas
    1. ahm, lo mismo transcodificar no es la palabra más adecuada, como seria entonces el término que indica que un servidor dlna es capaz de transmitir la información adecuadamente para que un reproductor dlna reproduzca sin fallos un archivo multimedia para el que de por si no esta preparado para reproducir por un defecto de codecs/formatos?

      Eliminar
  24. Hola Juan Mol, he instalado el minidlna en mi raspberry y ya le he configurado las rutas de los archivos, pero no me aparece en ningún dispositivo de la red, ni en el tv, ni en el pc con vlc, he mirado por todas partes pero no tengo ni idea de que pueda ser, también probé instalándolo en mi pc normal y ahí si aparece :S... pongo el ultimo registro del log. "less /var/log/minidlna.log"


    [2013/03/25 21:44:14] minidlna.c:898: warn: Starting MiniDLNA version 1.0.24 [SQLite 3.7.13].
    [2013/03/25 21:44:14] minidlna.c:1006: warn: HTTP listening on port 8200
    [2013/03/25 21:44:14] inotify.c:195: warn: WARNING: Inotify max_user_watches [8192] is low or close to the number of used watches [68] and I do not have permission to increase this limit. Please do so manually by writing a higher value into /proc/sys/fs/inotify/max_user_watches.

    Saludos

    ResponderEliminar
    Respuestas
    1. no conocia ese error, parece que esta tratando de monitorizar demasiados archivos. Prueba primero con un directorio con un par de videos, si te funciona, prueba con los directorios que tienes ahora pero en la configuración minidlna.conf pon el inotify=no. Si esto tambien hace que funcione, ya sabemos que el limite te lo está dando el inode, que tendrias que aumentarlo, aumentado el valor del fichero /proc/sys/fs/inotify/max_user_watches .
      Si no funciona nada de nada, cuéntanos las pruebas que has hecho a ver que se nos ocurre.

      Eliminar
  25. Hola!! Muchas gracias por todo. Yo ya usaba "minidlna" con mi portatil para reproducir peliculas en el televisor. Mi duda es, donde almacenas todas las peliculas en la Raspberry, ya que yo tengo una tarjeta SD de no mucha capacidad. ¿Le has conectado un disco duro externo? ¿De qué tipo, USB con o sin alimentación externa? Otra cosa, en el tutorial no comentas nada del móvil, para que realmente lo usas. Qué hace concretamente la aplicación BubbleUPnP. Gracias de antemano por la posible respuesta.

    ResponderEliminar
    Respuestas
    1. uso un nas para almacenar las peliculas y series. Monto los directorios por smb, muy fácil.
      El BubbleUPnP lo uso como mando a distancia. Desde el movil elijo la peli que reproducirá la tele.

      Eliminar
  26. Hola, buen tutorial.
    Lo he seguido "casi" al pie de la letra, ya que lo he instalado en la distribución Arch (la mejor para un NAS). Había probado otro (serviio) pero requiere java y ffmpeg, por lo que consume bastantes recursos de la raspberry.
    Me quedo con este.
    Gracias!!

    ResponderEliminar
  27. Bueno todo esto ya lo habia hecho antes de ver esta web.
    No te sorprenda un 7% de recursos cuando lo unico que hace la raspberry es compartir archivos en red, el trabajo lo esta haciendo tu tv.

    ResponderEliminar
  28. Buena tardes,

    Tengo instalado miniDLNA en mi raspberry + disco duro. La dirección IP es 192.168.1.69.
    Si en el explorador pongo 192.168.1.69:8200 puedo ver que a indexado todos los ficheros que quería.
    En el router he abierto los puertos 8200 TCP y 1900 UDP para la ip 192.168.1.69.
    Mi smartTV Samsung no es capaz de encontrar el miniDLNA en la misma red. En mi móvil e instalado MediaHouse, el cual tampoco encuentra el miniDLNA en la red.
    ¿Alguna ayuda? Me estoy volviendo loco!!!

    Un saludo,
    Ángel

    ResponderEliminar
    Respuestas
    1. "En el router he abierto los puertos 8200 TCP y 1900 UDP para la ip 192.168.1.69" O_O ¡¡¡QUITA ESO!!! no necesitas tocar el ruter nada de nada (para estos menesteres) Estas haciendo tu red vulnerable a ataques desde internet.

      Eliminar
  29. Hola a ver si me podeis ayudar con esto por favor...
    1. ya tengo montado el minidlna, me lo detecta la tv, movil etc
    2. cree 4 carpetas en /media/elements/video, fotos, musica, descargas
    3. tengo un disco duro de 1tb conectado por usb a la raspberry.
    4. mi duda, tengo que montar el disco duro y dentro de este crear las carpetas otra vez y guardar los contenidos ahi??? o con tener los archivos en el disco duro me lo "reconoce" en las carpetas para el dlna???

    a ver si me podeis ayudar, un saludo.

    ResponderEliminar
    Respuestas
    1. tienes varias soluciones, como no comentas como tienes montado el disco duro, lo normal suele ser montarlo en:
      /media/externo/
      y ahí (en el disco duro) te creas los directorios:
      /media/externo/video/
      /media/externo/fotos/
      /media/externo/musica/
      /media/externo/descargas/
      y son esos directorios los que metes en la configuracion del minidlna.

      Eliminar
    2. Hola de nuevo, gracias por la explicación, ahora he conectado un pendrive en fat32 de 32gb, para hacerlo mas rapido, se llama "pen32", dentro de este tengo la carpeta "downloads" ya que ahi descargaba las pelis con el movil(android), ya he logrado ver las peliculas y me funciona bien, ahora mis dudas:

      No hay alguna forma de poner que todo lo que se conecte por usb me lo agregue al dlna?? y que me escanee todas las carpetas del disco duro?, porque si no he entendido mal, cada linea de configuracion /media/externo.... seria para cada disco duro, no?.

      Eliminar
  30. Hola,

    He seguido los pasos del tutorial pero no consigo que arranque el servicio durante el arranque de la RPI. He probado incluso modificando los parámetros de la llamada a update-rc.d según esto:
    sudo update-rc.d minidna defaults 99 01

    ¿Alguna idea al respecto?

    Muchas gracias

    ResponderEliminar
  31. llego algo tarde al mundo de la raspberry pi. me hubiera gustado encontrar este tema antes. tengo una duda, como puedo hacer el proceso inverso es decir ver el contenido de otros equipos (tlf, fotos, laptop, pc) en mi raspberry para reproducir estos contenidos en un tv conectado a la raspberry .

    ResponderEliminar
    Respuestas
    1. Instala kodi en el Rasp, solo necesitas eso.

      Eliminar
  32. buenas...
    como se anaden las caratulas al miniDLNA

    ResponderEliminar