Existe una nueva versión de este documento, mejorada y mas segura. Sigue este enlace
Voy a explicar como acceder desde una SmartTV a los videos, fotos y audios de nuestro ordenador o a un disco duro externo conectado a nuestro PC
Como sistema operativo voy a utilizar Debian 12 y como servidor DLNA voy a utilizar ReadyMedia en su versión actual 1.3.3.
1-. Instalación.
Para instalar el servidor DLNA ReadyMedia en Debian tecleamos lo siguiente en la terminal:
sudo apt install minidlna
2-. Configuración
La configuración de este servidor multimedia se encuentra almacenada dentro del fichero “minidlna.conf”
Accedemos a la configuración con el siguiente comando:
sudo nano /etc/minidlna.conf
Añade un nombre al servidor.
Busca la línea friendly_name y elige el nombre de tu interés. Yo llamaré a mi servidor Apolo
friendly_name=Apolo
Configuración Disco Duro tanto interno como externo (usb).
Si nuestros archivos están en otro disco, diferente del sistema operativo, tendrás que montarlos al inicio siguiendo esta guía Montar particiones al inicio en Debian 12
Añade los directorios a compartir.
Busca las lineas que dicen ......
# set this to the directory you want scanned.
# * if you want multiple directories, you can have multiple media_dir= lines
# * if you want to restrict a media_dir to specific content types, you
# can prepend the types, followed by a comma, to the directory:
# + "A" for audio (eg. media_dir=A,/home/jmaggard/Music)
# + "V" for video (eg. media_dir=V,/home/jmaggard/Videos)
# + "P" for images (eg. media_dir=P,/home/jmaggard/Pictures)
# + "PV" for pictures and video (eg. media_dir=PV,/home/jmaggard/digital_camera)
Justamente debajo escribe las rutas a los archivos a compartir. En mi caso voy compartir los audios y vídeos de la carpeta Descargas y los Audios, Vídeos y Fotos de los discos llamados Delos y Delfos.
# set this to the directory you want scanned.
# * if you want multiple directories, you can have multiple media_dir= lines
# * if you want to restrict a media_dir to specific content types, you
# can prepend the types, followed by a comma, to the directory:
# + "A" for audio (eg. media_dir=A,/home/jmaggard/Music)
# + "V" for video (eg. media_dir=V,/home/jmaggard/Videos)
# + "P" for images (eg. media_dir=P,/home/jmaggard/Pictures)
# + "PV" for pictures and video (eg. media_dir=PV,/home/jmaggard/digital_camera)
media_dir=AV,/home/lenovo/Descargas
media_dir=APV,/mnt/Delos/
media_dir=APV,/mnt/Delfos/
Según la letra que elijamos (A,V,P) podemos configurar rutas diferentes para:
A audios
V vídeos
P pictures o fotos
Por ejemplo:
#Compartir audios de la carpeta Musica
media_dir=A,/home/tu_usuario/Música
#Compartir los videos de la carpeta Videos
media_dir=V,/home/tu_usuario/Vídeos
#Compartir las imágenes de la carpeta imagenes
media_dir=P,/home/tu_usuario/Imágenes
Si queremos compartir toda la música, fotos y vídeos de un directorio Home (no recomendado por temas de seguridad) lo haríamos de la siguiente forma:
media_dir=APV,/home/chapuboot
Auto-actualizar el contenido.
Si queremos que cada vez que hayamos añadido nuevo contenido a cualquiera de los directorios anteriormente indicados sea detectado por el servidor de forma automática, deberemos de agregar o descomentar la siguiente directiva:
inotify=yes
Configurar el intervalo de notificación SSDP, en segundos
notify_interval=60
Descomentamos la línea que dice donde almacenar la base de datos de DLNA:
db_dir=/var/cache/minidlna
Hacemos lo mismo con el directorio de logs
o registros, por si hay algún tipo de error:
log_dir=/var/log/minidlna
Una vez terminada la configuración reiniciamos el servidor con:
sudo systemctl restart minidlna
3-. Funcionamiento.
Para saber si nuestro servidor está funcionando bien, tecleamos en nuestro navegador lo siguiente:
Nos ofrece información sobre el número de audios, videos e imágenes compartidas, así como los dispositivos que hay conectados a nuestro servidor.
Tan solo queda ir a nuestra Smartv y buscar los archivos que hay disponibles en la red
Resolucion de problemas.
Si la pagina no carga, es que nos habremos equivocado al introducir algún dato y nos tocará revisar la configuración de nuevo.
Permisos de home
Es probable que si no carga la información de tus directorios, sea porque tu /home no tenga los permisos necesarios. Debemos comprobar que el grupo y otros tengan permisos de lectura y ejecución
Situándonos en la carpeta /home
cd /home
Listamos los archivos y los permisos con:
ls -l
En la imagen anterior vemos que solo el propietario tiene permisos de lectura, escritura y ejecución y de este modo nuestro servidor no tendrá acceso a la multimedia de Home
Para solucionar esto damos permisos al grupo y otros de lectura y ejecución con un:
sudo chmod go+rx lenovo
y ahora tras un ls -l vemos que el grupo y otros tienen acceso a la lectura y ejecución de /home
Lectura del registro de log
Si disponemos de un log es conveniente leerlo para ver si todo está correcto.
cat minidlna.log
minidlna.c:1126: warn: Starting MiniDLNA version 1.3.0.
minidlna.c:1186: warn: HTTP listening on port 8200
playlist.c:135: warn: Parsing playlists...
playlist.c:269: warn: Finished parsing playlists.
monitor.c:222: warn: WARNING: Inotify max_user_watches [63500] is low or close to the number of used watches [13] 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.
Si te aparece la advertencia «WARNING: Inotify max_user_watches [63500]» puedes arreglalo de la forma siguiente:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
Ahora vuelve a hacer un cat
y observa si se ha arreglado el problema.
cat minidlna.log
minidlna.c:1126: warn: Starting MiniDLNA version 1.3.0.
minidlna.c:1186: warn: HTTP listening on port 8200
playlist.c:135: warn: Parsing playlists...
playlist.c:269: warn: Finished parsing playlists.
Ahora ya no tenemos ninguna advertencia y parece funcionar todo correcto.
Iniciar, Detener, Restaurar servicio
#Estado del servidor
sudo systemctl status minidlna
#Iniciar el servidor
sudo systemctl start minidlna
#Parar el servidor
sudo systemctl stop minidlna
#Deshabilitar el servidor
sudo systemctl disable minidlna
#Habilitar el servidor
sudo systemctl enable minidlna
@forzar el reescaneo
sudo systemctl force-reload minidlna
Puertos de conexión
Los puertos que usa minidlna son: UDP port 1900 & TCP port 8200.
Manual básico. Gracias por la guía.
Tengo este servicio con Debian-server en un viejo Dell (4 núcleos y 8Gb-RAM) compacto algo tuneado con M2 para sistema por PCIe de placa, un HDD de 8Tb para pelis y otro SDD para el audio + tarjeta red al otro PCIe. Además un cliente torrent. Es impresionante el rendimiento.
Aún no se cómo seleccionar pistas de audio y subt en algunos clientes (como los de WebOs), pero, por ejemplo, desde un VLC-android se puede y va de lujo.