Cómo simplifiqué el acceso a mi colección de videos y música

Domingo, 17 de marzo de 2013 Dejar un comentario Ir a comentarios

Actualización: Agregué un artículo con algunas aclaraciones,  describiendo la lógica tras los componentes seleccionados y una comparación de costos con otras alternativas “más fáciles”


Hace unas semanas logré algo que me permitió ordenar todo el contenido de audio y video que he recolectado por años.  Como pasa en muchos hogares, la cantidad de contenido y dispositivos para almacenar y reproducir este contendio hace que todo se vuelva un caos.

El problema es que a la larga los videos y música comienzan a quedar repartidos por todos lados, y cuando quieres verlos te tienes que acordar en qué disco o computador se encuentra, copiarlo al computador o disco en donde lo quieres reproducir etc.  Un efecto colateral que se produce es que ya no sabes qué es lo que tienes, hay contenido que se va perdiendo entre tanta cosa y fácilmente alguna joyita pude quedar sepultada para siempre.

Por otra parte, no soy de los que les gusta ver videos en el computador.  Si tienes un televisor con una buena pantalla, y un buen sistema de sonido, es lo ideal para apreciar en toda su majestad un buen concierto o una buena película.  El computador para mí, queda relegado sólo a los “videos/cortos casuales”.  Entonces el criterio era bien simple: Necesitaba algo que pusiera a mi disposición todo el material audiovisual en mis (2) televisores.

Los reproductores

Uno de los televisores disponibles es un Samsung “no smart” que tiene una entrada de USB para conectar un disco duro o pendrive.  El otro televisor es un LG “smart” que tiene eso, además de conexión a internet y lo más importante en este caso: Soporte DLNA.  Qué significa? El soporte DLNA permite que un dispositivo pueda reproducir el contenido almacenado en otra parte, en terminos simples esto quiere decir que un televisor con soporte DLNA podrá reproducir contenido (audio/video) que se encuentre almacenado en otro dispositivo a través de la red (WiFi o Ethernet).

Para el televisor sin soporte DLNA tenía una carta bajo la manga:  Por mis desarrollos para Android/GoogleTV tenía a mi disposición un AndroidTV y un GoogleTV, cualquiera de los dos conectable al Samsung “no smart”.  Finalmente deje el GoogleTV conectado al Samsung “no smart” para darle soporte DLNA.

El servidor de contenido

Para almacenar y publicar el contenido contaba con un MiniPC Zotac, pero lo que no me gustaba es que de vez en cuando enciende su ventilador para disipar el calor. No es molesto de día, pero de noche se nota bastante. Por otra parte, encontraba que este computador estaba sobredimensionado para usarlo como un simple servidor, por ejemplo su chip de video nvidia estaría totalmente infrautilizado.

Conversando con mi amigo René Viancos (Renix) de Retronia.cl, quien había hecho algo similar, me recomendó un equipo ultra-económico y de bajo consumo: Se trata del NS-K330.  Es un mini computador basado en ARM que está diseñado para actuar como servidor de archivos compartidos via Samba, FTP, HTTP, servidor de impresión y un cliente BitTorrent integrado, para que las descargas no dependan de un computador encendido.  Lo mejor de todo: Se puede actualizar el firmware a SnakeOS, un Linux para ARM con soporte de DLNA en donde incluso puedes crear un chroot con Debian y tener acceso a toneladas de software.  Para simplificar la lectura, de aquí en adelante a este servidor le llamaremos NAS (Network Attached Storage)

Manos a la obra

Como pueden sospechar, el firmware original del NAS duró los pocos minutos que me tarde en comprobar que el hardware venía bien de fabrica.  Al actualizar el firmware sólo tuve que agregar MiniDLNA a lo que SnakeOS incluye por omisión.

El NAS viene sin disco, sólo puertos USB para conectar el disco que uno quiera.  Incialmente le puse uno de 500GB con NTFS, que posteriormente dejé como EXT3 por problemas que comentaré más adelante.  En este disco SnakeOS creó la partición /opt en donde instala el software adicional empaquetado como archivos opk.  Además, y dada mi dependencia con Midnight Commander (mc) para manipular archivos, instalé un chroot con debian en el mismo disco.

Por el lado de los televisores, el LG ya incluye soporte de DLNA por lo que el dispositivo aparece como si fuera una entrada adicional.  Al seleccionarlo se puede navegar por las carpetas y reproducir cualquier archivo ahí publicado.  En el caso del Samsung, éste fue conectado al GoogleTV y después de explorar varias aplicaciones me quedé con MediaHouse.

Problemas y su solución

En general todo el aparataje funciona bastante bien y obtuve lo que andaba buscando: Desde cualquiera de los dos televisores tengo acceso a toda la música y videos desde una única fuente.  Desde los computadores, tengo acceso al NAS via Samba (archivos compartidos de Windows) y ssh en caso de que requiera entrar a picar.

Me tope con 3 problemas que afortundamente pude solucionar.  Esta sección puede ahorrar muchos dolores de cabeza a quienes estén en la misma tarea.  Los problemas fueron:

  • Lentitud y mal soporte de NTFS en otros sistemas operativos
  • Problemas de acceso a las carpetas compartidas
  • Y lo peor: Problemas de soporte de formatos de video en los televisores.

Vamos a ver…

Sistema de archivos (NTFS vs EXT)

Lo primero que tuve que hacer fue copiar los archivos que tenía en mis computadores al disco del NAS.  Para no dar vueltas innecesarias por la red, formateé la unidad con NTFS en donde había “promesa” de ser soportado en los sistemas operativos que ocupo, que son Mac OSX y Linux.  Con Linux todo perfecto, acceso de escritura rápido y seguro como es habitual, pero en Mac OSX es un DESASTRE.  Tuve que instalar aplicaciones adicionales y peor aún, el disco comenzó a quedar más corrupto que Julio Pereira, y eso ya es mucho decir.  Por suerte los primeros archivos estaban respaldados asi que no perdí nada.

Ya que no podía confiar en OSX para escribir en ese disco, decidí conectarlo directamente al NAS y copiar los archivos via red.  Lo que comencé a percibir es que la escritura en NTFS en un equipo de poca potencia como el NAS es increíblemente lenta.  Finalmente me fui a la segura y dejé el disco con ext3, con eso el rendimiento se aceleró bastante aunque sin llegar a ser espectacular.  Dependiendo del volumen de lo que necesito copiar, lo copio via red al NAS o bien conecto el disco a un Linux y copio directamente con ese computador. Intentar EXT en OSX? No, gracias.

Acceso a archivos compartidos

Para acceder a los archivos compartidos se puede usar ssh/scp o bien el protocolo de compartición de archivos de Windows (SMB/Samba).  Ambos funcionaron impecable en Linux, gracias al soporte simplificado de ambos protocolos en Nautilus/GNOME. Copiar los archivos es algo tan simple como arrastrarlos de allá para acá como si fueran locales.

Por otro lado, el tan cacareado fácil de usar Mac OSX, dió algunos problemas.  Se resistía a conectarse al NAS dando un mensaje de error de que el servidor no está disponible. Cuento corto: Max OSX no soporta versiones antiguas del protocolo, por lo que el procedimiento que debo aplicar cada vez que inicio OSX es:

  1. Tratar de acceder a los archivos para que me tire el error
  2. En una consola, ejecutar el comando: sudo sysctl -w net.smb.fs.kern_deprecatePreXPServers=0



Formato de video / codecs

El principal problema que tuve con los formatos de video y sus codecs es que no todos están soportados en mis reproductores (LG y GoogleTV), por lo que tuve que buscar algo que funcionara bien en ambos.  Por otra parte, en algunos casos al adelantar el video éstos se quedaban pegados o en el caso de LG, arrojaba un error de que no podía reproducir el contenido.

Finalmente la combinación perfecta fue: Contenedor MKV, Video H.264, Audio AAC codificado por ffmpeg, Constant bitrate.  Para codificar los videos, después de probar varias aplicaciones me quedé con Handbrake.

Con esa combinación logré : Soporte de múltiples streams de Audio en un sólo archivo (ejemplo 2.0 y 5.1), incrustación de subtítulos en el mismo archivo, bajo bitrate y por lo tanto archivos pequeños.  La selección del codec de audio se debío a que el codec por omisión en OSX (CoreAudio) se desincronizaba en algunos videos.

Otras alternativas

Por supuesto que este artículo es mi caso particular, que soluciona los problemas que se presentan con mis equipos disponibles.  Como dicen por ahí your mileage may vary.

Como dato final, si es que quieren lograr algo similar, tienen múltiples alternativas, lo importante es que cuenten con soporte DLNA de alguna forma, ya sea integrado en el televisor o a través de alguna “cajita” adicional.  He visto que ya algunas tiendas venden equipos “AndroidTV” como el de Geniatech, la consola Playstation3 también soporta DLNA, etc.  También es opción usar XBMC ya sea conectado al televisor con un mini computador (como el Rapsberry Pi), o en un computador común y corriente.

 







  1. Domingo, 17 de marzo de 2013 a las 20:58 | #1

    Lo q yo hice fue una mezcla un poco más sencilla salvo por la red de mi casa…
    En un principio tenía un disco multimedia, un Iomega Director… funcionaba bien pero no TAN bien… (muchos codecs fuera y un pésimo soporte de parte de Iomega)
    y se me juntó lo mismo que tu.. 2 televisores, claro que en mi caso uno de ellos era uno a tubo (Sony Wega.. con entrada por video componente para un “HD”), lo cual sumado a una casa de 2 pisos, representaba cierto desafío.
    Me fui por un par de cajas sencillas, la Western Digital Live TV HD (no las HUB, estas son las antiguas sin disco). Una en cada piso conectada a cada TV.. y el disco Iomega de 1 TB como lugar de almacenaje… hasta ahí todo bien…
    Para la red, tengo un sistema Apple, con un Extreme como base en el Piso 2 y 2 Express en el piso 1.
    El Extreme está en mi escritorio (piso 2) y para llegar a la sala común donde está la TV, el deco HD (q tiene IP), la PS3, la WII y el WD Live TV HD con el disco Iomega, opté por pasar los datos a través de un Switch hacia a un sistema PLC que llega al Extreme (así no hay lag al jugar con la PS3 o Wii y los datos desde mi computador pasan más rápido por ethernet que por Wi-Fi).

    Para llevar la señal de datos al Piso 1 donde está el otro deco (con IP) y el otro WD Live TV HD pensé en usar otro PLC (tengo de los one to many, unos Zyxel a U$48 en Amazon) pero están en circuitos eléctricos distintos, por lo que no llegaba la señal… ahí fue cuando vi el Airport Express, lo puse a expandir la red del Extreme y a su vez le saco un cable ethernet que va a otro switch y que se conecta al deco y al WD… de esa manera el WD del piso 1 ve los contenidos de los discos del piso 2 y asunto arreglado.
    El otro Express lo conecto a mi equipo de música del living y ahí uso Airplay y mando sonido desde mi computador (lo controlo desde mi teléfono) además de expandir la red del Extreme

    Es importante recalcar que el tema ancho de banda es muy importante cuando pasas gran volumen de datos por la red, el tema de Wi-Fi es una elegante solución pero no siempre funciona: o limita el ancho de banda o bien si hay QoS, puede haber una muy mala QoE… (fijense bien en el tema de los canales y la interferencia)

    Dos datos sabrosos, las cajitas WD compradas en Chile permiten ver Netflix (además de leer muchos formatos y codecs), tema que uso harto (sobre todo mis hijas) y que los deco (son los HD de DirecTV, estos que graban) se pueden controlar desde tu celular, lo cual es genial cuando mis hijas no quieren bajar a comer… al minuto de que te dicen q no, se escucha un “papá.. la tele se apagó”… justo cuando metes tu celular de vuelta al bolsillo :D

  2. Lunes, 18 de marzo de 2013 a las 10:28 | #2

    No lo encontré tan simple, pero me encantó la parte final!

  3. carlos torres
    Viernes, 15 de noviembre de 2013 a las 11:10 | #3

    hola, gran descripcion!!
    sabes de algun aparato que tenga una entrada HDMI y sea servidor DLNA en la red WIFI?
    la idea es por ejemplo cuando quiero trasmitir de un deco HD a un televisor que no es donde está conectado el deco sin tener que mover tooodo el equipo.

    Saludos

    Carlos

  4. Martes, 3 de diciembre de 2013 a las 09:45 | #4

    Lo más cercano que conozco así es el Google TV, pero nunca lo he probado como server DLNA

  5. Domingo, 16 de marzo de 2014 a las 14:05 | #5

    Curioso tema de acceso desde OSX al NAS, por mi parte fue una de mis preocupaciones iniciales y por eso conseguí un NAS Synology con su DSM 4.3, que soporta nativamente a OSX con su “Servicio de Archivos Mac”… y simplemente se comparten los archivos entre plataformas OSX y Linux, y con eso me sobra ya que no uso ni de broma Samba…

    Para mi la experiencia en el uso de OSX y los port, han sido muy grata y sin problemas, de hecho tengo muchas de las aplicaciones que uso en Linux, las uso en OSX… desde los editores hasta libreoffice, los compiladores gcc que uso para AVR y ARM.. en fin nada que replicar, me ha funcionado perfectamente el Mac-Mini con OSX 10.9.2.

    Algunos apuntes sobre OSX en http://www.electrolinux.cl/doku.php/informatica/mac/mac-unix

  1. Lunes, 18 de marzo de 2013 a las 20:18 | #1
Debes estar registrado para dejar un comentario.