Hace mucho tiempo que buscaba una solución para llevar el audio desde mi servidor Linux hasta el Salon. Pasar cables no me apetecía, un PC tiene un arranque demasiado lento y los Media Clients que hay son demasiado caros para lo que ofrecen y necesito. El año pasado, aprovechando la migración forzosa a TDT y que se me quemó el televisor CRT, decidí buscar un modelo nuevo que llevara DLNA.
Aunque había varias opciones, creo que el Sony BRAVIA fue una buena elección, por una calidad de imagen excelente (he visto LGs deplorables) y un precio ajustado (800€) para las características que incorporaba. El modelo es el V5500, HD1080, con DLNA, interface ethernet. Seguro que hay alternativas mejores o con un interface mas aprovechable, pero para el uso que le voy a dar, me parece perfecto.
El siguiente paso era conectar la tele al ordenador. La primera alternativa era utilizar un punto de acceso Wifi. Pero la velocidad limitada a 58Mbs, mas la pérdida de señal al atravesar muros, mas la latencia, y el precio de un AP me llevaron a la segunda opción: PLC. Encontré una buena oferta de 2 adaptadores D-link a 85 Mbs por unos 30€ que van de cine.
El Software
Pero ¿que es el DLNA? Pues un tremendo despropósito. DLNA no es un protocolo, es una asociación de fabricantes, que se juntaron para definir los estándares de interconexión de dispositivos para el intercambio de medios. Partieron del estándar uPnP -que no es un partido político- y le añadieron alguna cosilla como ¡DRM!, los mecanismos de autenticado y unas especificaciones mínimas para los formatos soportados. Mas adelante contaremos cosas sobre uPnP y sus problemas.
Y ahora, después de haber probado varios programas para Linux, el primer servidor DLNA que funcionó perfectamente con mi BRAVIA: miniDLNA. Es un programa sencillo, bien hecho, ocupa poco, con pocas dependencias... Únicamente un binario y un fichero de configuración llamado minidlna.conf localizado en el directorio /etc.
Configuraremos los directorios que queremos tener acceso desde nuestro Media Player DLNA (la tele) indicando para cada directorio el tipo de archivo:
media_dir=A,/home/jmaggard/Musicdonde lógicamente A significa audio, V video y P photos. Además reduciremos el intervalo de notificación para que al televisor no le cueste 3 veranos encontrar a nuestro servidor. Con 20 segundos está bien.
media_dir=V,/home/jmaggard/Videos
media_dir=P,/home/jmaggard/Pictures
notify_interval=20El resto de parámetros dependerán de nuestra configuración, como por ejemplo el puerto http (por si ya lo tenemos ocupado en nuestro servidor) o el interface de red por el que transmita ( el de la red wifi, una segunda puerta ethernet, ...)
Si tenemos un cortafuegos en el servidor o entre el servidor y el televisor, tenemos que asegurarnos de tener abierto el puerto 1900 UDP que utiliza el protocolo SSDP de descubrimiento de dispositivos uPnP. También habrá que permitir el puerto http que hemos configurado, en este caso por defecto es 8200. El protocolo no especifica un puerto fijo e incluso varía para cada arranque del Media Server, siendo el mensaje de SSDP el que notifica la dirección y puerto del servidor.
Formatos
Ahora viene la parte divertida. DLNA solo especifica el soporte de unos formatos mínimo, así que cada fabricante puede implementar los que le dé la gana. Sony de momento solo implementa los mas básicos, aunque esto no es mucho problema porque con el batiburrillo de contenedores, codecs y multiplexores que hay, sería muy dificil contemplarlos todos. Para salvar este problema, en la especificación DLNA añadieron un modo "Renderer" a los Media Players, que consiste en que en el Servidor se recodifican los archivos al vuelo y se envían al reproductor en un formato soportado. MiniDLNA no soporta de momento la recodificación, así que hay que convertir previamente los archivos.
Los archivos que admite el BRAVIA V5500 son: las fotos en JPEG, los archivos de audio en MP3 y LPCM, y los vídeos en MPEG_PS. Este último, es un formato contenedor para multiplexión de streams de video, audio, subtitulos, etc, con una base de tiempos común. Dentro de ese contenedor, he probado video en mpeg2, y audio en MP1, MP2, MP3 y AC3.
El contenedor MPEG_PS es el utilizado en la estructura de los DVDs, pero por algún motivo, los VOB copiados directamente no funcionan, puede que por el DRM o por algún stream extra no soportado. Quizás sean los DVD que he utilizado. Así que para una reproducción correcta hay que hacer una conversión previa. Funciona a las mil maravillas la conversión que realiza vlc y ffmpeg. Mencoder sin embargo, aunque genera archivos MPEG_PS válidos, el televisor no es capaz de reproducirlos
Próximamente mostraré un programa que sí permite recodificación al vuelo, lo que nos permite reproducir prácticamente cualquier tipo de archivo, e incluso reproducir TV por internet o videos de Youtube.
ACTUALIZACION
Según la web de soporte de Sony (antes no existía esta información ), los formatos de video compatibles con el televisor son los siguientes:
| MPEG2_PS_SD MPEG2 |
| MPEG2_TS_EU SD MPEG2 |
| MPEG2_TS_EU-T SD MPEG2 |
| MPEG2_TS_EU-ISO SD MPEG2 |
| MPEG2_PS HD MPEG2 |
| MPEG2_TS_EU HD MPEG2 |
| MPEG2_TS_EU-T HD MPEG2 |
| MPEG2 TS_EU-ISO HD MPEG2 |
| MPEG2_TS_EU SD H.264 |
| MPEG2_TS_EU-T SD H.264 |
| MPEG2_TS_EU-ISO SD H.264 |
| MPEG2_TS_EU HD H.264 |
| MPEG2_TS_EU-T HD H.264 |
| MPEG2_TS_EU-ISO HD H.264 |
Tendré que probar todas estas combinaciones.
Enlaces
