Ya empezamos con las abreviaciones estas tan odiosas que usamos los informáticos, pues DLNA es una cosa que poco a poco van teniendo cada vez mas televisores y proyectores y uno de los primeros dispositivos que lo usó fue el chromecast de google, quien tenga alguno sabrá la maravilla que es éste servicio.
En pocas palabras sirve para mandar contenidos multimedia entre dispositivos, por ejemplo vídeos y audios.
La forma que hasta el momento he usado es el uso de una extensión de chrome para streamear al chromecast, me permite reproducir pestañas del navegador en el televisor, pero también youtube y netflix si detectan que hay un dispositivo dlna me da la opción de mandar el contenido al chromecast. Con el móvil android mas de lo mismo.
En resumen que puedo ver y escuchar lo que tengo en el portátil y en el móvil en el televisor y mi móvil pasa a ser otro mando de mi televisor. Vamos que chromecast es uno de los culpables porque mi tonto televisor tenga mucha guerra y una nueva vida :) -lo de usar el televisor para ver la TDT es agua pasada!-
Hace unos meses me percaté que dlna no era una cosa exclusiva de chromecast, sino que estaba cada vez mas en televisores e incluso proyectores. Así que me olí algún tipo de estandarización y efectivamente, dlna son las siglas de digital living network alliance, algo muy similar a lo que usan ya nuestras impresoras con el upnp. Empecé a buscar y en los repositorios testing de debian vi una cosa que se llamaba rygel, pero la cosa aún estaba muy verde.
Éstos días de semana santa aproveché que debian 9 ya está congelada y está en la fase final para su liberación dentro de poco para probar entre otras cosas como está el tema del dlna.
En resumen, si quieres streamear imagen usa el plugin de chromecast y no te lies mas, si quieres reproducir audio desde el sistema operativo ahí vamos :)
Tras instalar muchas cosas en éste viejo portátil, el resumen es:
# apt-get install pulseaudio-dlna
He probado de mandar contenidor desde vlc, totem y rhythmbox y la cosa de momento aún está cruda :( almenos he sacado una cosa interesante con rhythmbox, que hay un conector para escuchar directamente música de soundcloud y jamendo! :) busca en los repositorios grilo y rhythmbox-plugins.
Totem… pues como su nombre indica totem… trozo de piedra monolítico hehe
VLC… debian 9 viene con la versión nightly, ergo la 2.2.5, aquí buscando la nightly de vlc, he descubierto otra cosa, snapcraft.io, un instalador universal de paquetes de linux (apt-get install snapd && snap find vlc && snap install vlc). Pero aunque parece que en windows si funciona, con GNU/Linux parece que aún no :(
Pues varias intentonas, la única opción que he encontrado de streamear sólo audio desde el sistema operativo es con pulseaudio-dlna.
Ejecutas el programa pulseaudio-dlna desde consola y en dispositivos de audio te aparece el dispositivo que está sirviendo dlna en la red:
# pulseaudio-dlna 04-19 03:55:56 pulseaudio_dlna.__main__ INFO Running as root. Starting daemon ... [...] 04-19 03:56:04 pulseaudio_dlna.pulseaudio INFO Added the device "Nusepas-chromecast (Chromecast)". 04-19 03:57:51 pulseaudio_dlna.daemon INFO Checking pulseaudio processes ... 04-19 03:58:19 pulseaudio_dlna.daemon INFO Checking pulseaudio processes ... 04-19 03:58:38 pulseaudio_dlna.pulseaudio INFO on_new_playback_stream "/org/pulseaudio/core1/playback_stream16" 04-19 03:58:39 pulseaudio_dlna.pulseaudio INFO _async_handle_sink_update /org/pulseaudio/core1/sink3 04-19 03:58:39 pulseaudio_dlna.pulseaudio INFO Instructing the device "Nusepas-chromecast (Chromecast)" to play ... 04-19 03:58:43 pulseaudio_dlna.streamserver INFO URL settings: /dHlwZT0iaW1hZ2UiLG5hbWU9ImRlZmF1bHQucG5nIg%3D%3D/ (type="image",name="default.png") 04-19 03:58:43 pulseaudio_dlna.streamserver INFO URL settings: /dWRuPSJ1dWlkOjZjOTk5NmE3MWM2ZDdkY2QzNDZmNTY2MjdhZDlmZDJkIix0eXBlPSJicmlkZ2Ui/stream.mp3 (udn="uuid:6c9996a71c6d7dcd346f56627ad9fd2d",type="bridge") 04-19 03:58:43 pulseaudio_dlna.streamserver INFO Registered stream "/dWRuPSJ1dWlkOjZjOTk5NmE3MWM2ZDdkY2QzNDZmNTY2MjdhZDlmZDJkIix0eXBlPSJicmlkZ2Ui/stream.mp3" (0x7f82fb764490) ... 04-19 03:58:43 pulseaudio_dlna.streamserver INFO Starting processes "parec --format=s16le -d nusepaschromecast_chromecast.monitor | lame -b 192 -r -" 04-19 03:58:44 pulseaudio_dlna.streamserver INFO Processes of /dWRuPSJ1dWlkOjZjOTk5NmE3MWM2ZDdkY2QzNDZmNTY2MjdhZDlmZDJkIix0eXBlPSJicmlkZ2Ui/stream.mp3 initialized ... 04-19 03:58:50 pulseaudio_dlna.pulseaudio INFO The device "Nusepas-chromecast (Chromecast)" is playing. 04-19 03:58:50 pulseaudio_dlna.pulseaudio INFO _async_handle_sink_update /org/pulseaudio/core1/sink3 finished! 04-19 03:59:18 pulseaudio_dlna.pulseaudio INFO on_playback_stream_removed "/org/pulseaudio/core1/playback_stream16" 04-19 03:59:19 pulseaudio_dlna.pulseaudio INFO _async_handle_sink_update /org/pulseaudio/core1/sink3 04-19 03:59:19 pulseaudio_dlna.pulseaudio INFO Instructing the device "Nusepas-chromecast (Chromecast)" to stop ... 04-19 03:59:20 pulseaudio_dlna.pulseaudio INFO The device "Nusepas-chromecast (Chromecast)" was stopped. 04-19 03:59:20 pulseaudio_dlna.pulseaudio INFO _async_handle_sink_update /org/pulseaudio/core1/sink3 finished! Ha fallat write(): La canonada s’ha trencat 04-19 03:59:20 pulseaudio_dlna.streamserver INFO Unregistered stream "/dWRuPSJ1dWlkOjZjOTk5NmE3MWM2ZDdkY2QzNDZmNTY2MjdhZDlmZDJkIix0eXBlPSJicmlkZ2Ui/stream.mp3" (0x7f82fb764490) ... 04-19 03:59:22 pulseaudio_dlna.streamserver INFO No more stream from device "Nusepas-chromecast".
En ésta instalación sólo tengo un vídeo descargado y no tengo música en local, con el rhythmbox estoy reproduciendo desde jamendo y al escoger la salida de audio por el dlna (chromecast), no me hace ni caso, pero con VLC y totem si. A lo mejor tienes que liberar el flujo de audio y volverlo a abrir (vamos, cerrar y volver a abrir el programa).
Pues hasta aquí mis investigaciones en modo mandar lo del portátil al dispositivo dlna que sea. Por supuesto Linux puede convertirse en un servidor dlna, para ello tendrás que instalar el paquete minidlna o rygel-preferences. Pero esto da para otro post otro día que ya se me ha hecho tarde de nuevo :P