Mi Media Center está casi terminado. Del hardware no voy a hablar mucho hasta que de hecho termine de armarlo; le falta el gabinete, pero gracias a Enrique creo que pronto podré completar eso, aunque me parece que tendré que esperar a regresar de Europa. Necesito hacerle modificaciones a un gabinete que me pasó, y necesito a alguien que sepa trabajar con metal para eso. Ciertamente yo no podría hacerlo.
Hoy voy a hablar del software, porque básicamente he terminado enamorándome de él; hablo por supuesto del Elisa Open Media Center.
Menú principal de Elisa
(Aguas con las ligas; son PNGs con una resolución de 1920×1080… FullHD, por supuesto).
Los screenshots no le hacen justicia a ciertos aspectos del programa; particularmente las animaciones, que están bastante simpáticas (el menú principal gira, por ejemplo).
Todo el programa está escrito en Python, aunque por supuesto las bibliotecas chonchas están escritas en C o C++, y Elisa utiliza los bindings en Python. En particular las más importantes serían GStreamer, que se encarga de todo lo relacionado con multimedia; y Pigment, que es la base sobre la que armaron toda la interfaz gráfica. Esas dos bibliotecas están en C y C++, pero Elisa utiliza los bindings en Python, que al parecer están muy bien hechos.
De Pigment no puedo hablar mucho, porque es un proyecto que existe únicamente (hasta el momento) para Elisa y yo nunca lo he usado; pero con GStreamer sí tengo algo de experiencia. GNOME lo utiliza también para todo lo relacionado con multimedia, y aunque a mí al inicio me parecía demasiado complejo, creo que ha terminado siendo un proyecto muy exitoso.
Casi no hay archivos de audio o video que no pueda reproducir con las bibliotecas de GStreamer, y además es altamente modular, lo que ha permitido separar y desarrollar independientemente un montón de codecs y filtros y un montón de cosas más para el proyecto. Utilizando otras bibliotecas open source, en la mayoría de los casos.
Eso es lo que da la base para Elisa; que puede reproducir casi cualquier cosa. Una excepción ahorita son películas Blu Ray (que no es algo exclusivo de Elisa; no hay reproductores para Linux todavía) y, hasta cierto punto, DVDs. De hecho los DVDs pueden verse, sólo fallan algunas cosas (hablaré de eso más adelante).
Como GStreamer es el que se encarga de tomar un archivo de audio y video y de hecho hacer que se vea y/u oiga en la computadora, lo que realmente nos debe interesar de Elisa es cómo presenta dichos archivos al usuario. En otras palabras, la interfaz gráfica.
Elisa está pensado como Media Center; por lo tanto se da por hecho que el periférico con el que el usuario se comunicará será un control remoto. En general Elisa presenta todo utilizando listas, y presentando una miniatura del objeto seleccionado en ese momento; aquí está cómo se ve mi directorio de series de televisión:
Menú de series
En este caso muestro también una modificación que le hice al programa; Elisa en este momento todos los directorios los muestra igual, pero yo le hice una mejora para que muestre una imagen. Hablaré más de las cosas que le he hecho al media center más adelante.
Dentro ya de un directorio específico, el mismo modelo se sigue; una lista con los archivos (de video en este caso) que hay, y una miniatura a la derecha. Para archivos de video, Elisa genera una miniatura automáticamente.
Miniaturas de videos
El reproductor es sencillo, pero en general funciona. No es tan rápido (pero ni de lejos) como MPlayer, pero sí es más inteligente para mantener la sincronización de archivos estúpidamente grandes (como los avances FullHD de Apple). Casi cualquier video que veo ahora, lo hago usando Elisa.
Reproductor de videos
Para ver música se sigue el mismo modelo de listas; pero se puede cambiar a flujo de miniaturas (parecido al del iPod) o cuadrícula de miniaturas. También se puede hacer el cambio en videos, pero me gusta más en música porque como lo que se ve son las portadas de los CDs, se ve bastante chido:
Vista en Flujo
Vista en Cuadrícula
El reproductor de música no me gusta tanto. Digo; funciona sin ningún problema, pero me gustaría que pudiera verse más que el efecto “gloom” (que además tiene como mil años). Mis MP3s están esquizofrénicamente bien etiquetados con ID3v2.4.0; me gustaría mejor que al reproducir pudiera ver la portada del disco, y toda la información que tiene la canción, no sólo el título, artista y álbum.
Reproductor de música
La parte de imágenes no la muestro porque es básicamente igual, y además no he movido mis fotos de F-Spot a Elisa. Y no sé qué tan deseoso esté de hacer eso; F-Spot tiene un montón de cosas que no veo cómo Elisa pudiera emular. Hay forma de hacer que los datos que F-Spot tiene sean leídos por Elisa, pero no me he metido mucho en eso. Y, la verdad, no estoy viendo fotos cada quince minutos.
Además de todo esto Elisa tiene un montón de monerías; la que más me ha gustado hasta el momento es que tiene un plugin de YouTube:
Plugin de YouTube
Por omisión incluye los videos mejor calificados, los más vistos y los más recientes; pero uno puede hacer búsquedas también, aunque hay que usar un teclado virtual porque hay que recordar que Elisa asume que uno lo controla con un control remoto.
Videos más recientes de YouTube
También se incluye reproducción de DVD; pero la verdad no he tenido mucha suerte con eso, y mi PS3 es capaz de reproducir DVD además de Blu Ray. Sin embargo funciona hasta cierto punto; sólo los menúes son a veces medio volubles, y entonces no se puede elegir idioma o subtítulos de vez en cuando.
Opción de DVD
Reproducir DVD
Menú de reproducción de DVDs
DVD reproduciéndose
El soporte inicial está ahí; espero que dentro de no mucho tiempo se puedan reproducir DVDs y (esperemos) discos Blu Ray sin muchos problemas.
Pero lo que realmente me gusta de Elisa no es todo esto que he mostrado; es que es Open Source. Y está escrito en Python. Es facilísimo de modificar… después de que uno se rompe la cabeza tratando de entender la filosofía REST (que yo sigo diciendo es una evolución natural de utilizar continuaciones, pero bueno).
Una vez entendido que todo es asíncrono en Elisa y que los threads son escondidos al programador, modificar el programa es sencillo. Además del pequeño cambio que hice para que los directorios tuvieran una miniatura asignada, también modifiqué el programa para que utilizara portadas de CDs locales en lugar de pedirlas a Amazon y guardar un cache con un nombre ilegible, y otras pequeñas cosas. Nada más tenga más tiempo espero poder meterle más mano, porque mi media center como lo he planeado lo va a necesitar.
A pesar de que es relativamente verde el proyecto, yo ya lo uso para ver casi todo tipo de videos y para escuchar música. Con unos cuantos toques más (y que termine de alguna manera de modificar mi gabinete), tendré mi Media Center justo como lo quiero.
Imprimir entrada