Cómo descargar subtítulos automáticamente con Subliminal

Me he animado a escribir esta nota tras leer Group Writing Project: Write a ‘How To…’ Post en ProBlogger. Me ha parecido una buena idea y he querido participar.

Como muchos ya sabéis, hace muchos años que no veo las series en la tele, solo lo que echan en el cable cuando como o tengo insomnio. Cada semana saco un hueco para ver las series americanas en mi ordenador, que descargo con TVShows 2 automágicamente. Los usuarios de Linux y Windows pueden hacer algo similar con Miro Player. Pero hoy el cuento no va sobre descargar series, sino sobre descargar subtítulos.

No se a vosotros pero a mi me produce una pereza enorme tener que buscar, descargar y añadir los subtítulos. Tanto es así que con el paso de los años me he ido forzando a no necesitarlos y para la mayoría de las series lo he conseguido. Pero hay dos excepciones: Elementary y The Mentalist. Ambos protagonistas tienen un acento que no acabo de entender al 100%, así que necesito ayudar en formato texto.

Después de un rato buscando por Internet, descubrí Subliminal: una librería escrita en Python precisamente para este menester. Además también tiene un cliente con el que descargar subtítulos desde la terminal. Al estar escrito en python puede ser usado en Linux, Mac y Windows (siempre y cuando tengamos python instalado en nuestra máquina).

¿Cómo descargo e instalo subliminal?

Hay dos opciones: descargar el código e instalarlo en tu máquina con dos comandos, o usar el pip, el gestor de paquetes de python para descargarlo e instalarlo automáticamente. Para poder hacer esto tendríamos que tener instalado pip.

Si optamos por la primera sería tan sencillo como descargar el código de Github (¡ojo, tenemos que asegurarnos de que descargamos la rama master, ya que si descargamos la rama de desarrollo puede no funcionar correctamente!). Después descomprimimos y accedemos al directorio donde se ha descomprimido mediante la terminal de nuestro sistema operativo. Solo nos quedarán dos comandos:

python setup.py build
sudo python setup.py install

Nota: sudo se usa solo en Linux y Mac, no en Windows.

Si todo ha ido bien ya tendremos disponible el comando subliminal en nuestra terminal.

Para instalarlo con pip sería aún mas fácil:

sudo pip install subliminal

Recuerda: sudo solo para Linux y Mac.

¿Cómo uso subliminal para descargar subtítulos?

Al comando subliminal tendremos que incluirle la opción -l para especificar el idioma en que queremos los subtítulos (es para español, en para inglés…) aunque supongo que será mas frecuente encontrar subtítulos en inglés que en otras lenguas.

Para descargar los subtítulos de un episodio sería simplemente acceder por la terminal al directorio donde esté el episodio y teclear:

subliminal -l es The.Mentalist.S01E14.720p.HDTV.x264.mkv

Al cabo de unos segundos veremos  un mensaje parecido a este:

**************************************************
Downloaded 1 subtitle(s) for 1 video(s)
The.Mentalist.S01E14.720p.HDTV.x264.srt from opensubtitles
**************************************************

Pero la magia está realmente en que podemos descargar los subtítulos de todos los episodios que tengamos en un directorio a la vez, por ejemplo:

subliminal -l es *.mkv

Y después de un rato (a mas subtítulos tenga que buscar y descargar mas le costará) aparecerá debajo algo similar a

**************************************************
Downloaded 10 subtitle(s) for 10 video(s)
The.Mentalist.S01E14.720p.HDTV.x264.srt from opensubtitles
The.Mentalist.S01E18.720p.HDTV.x264.srt from opensubtitles
The.Mentalist.S01E23.720p.HDTV.x264.srt from opensubtitles
The.Mentalist.S01E19.720p.HDTV.x264.srt from opensubtitles
The.Mentalist.S01E21.720p.HDTV.x264.srt from opensubtitles
The.Mentalist.S01E22.720p.HDTV.x264.srt from opensubtitles
The.Mentalist.S01E16.720p.HDTV.x264.srt from opensubtitles
The.Mentalist.S01E17.720p.HDTV.x264.srt from opensubtitles
The.Mentalist.S01E20.720p.HDTV.x264.srt from opensubtitles
The.Mentalist.S01E15.720p.HDTV.x264.srt from opensubtitles
**************************************************

Además, como los subtítulos se descargan con el mismo nombre del episodio (solo cambia la extensión por .srt) no tendremos mas que abrirlo en nuestro reproductor de vídeo favorito e incluirá los subtítulos directamente. He probado esto con VLC, MPlayerX y MPlayerOSX Extended.

La cosa no queda aquí, ya que también se puede automatizar este proceso con cron en Linux (y sus alternativas en otros sistemas operativos) para que descargue subtítulos él solo. Muy muy interesante.

 

 

 

Centraliza todo tu trabajo usando Synkron y Dropbox

la fotoHoy en día, quien mas y quien menos trabaja en un mismo proyecto desde varios ordenadores. En mi caso suelen ser webs, prácticas de la universidad… En los que trabajo desde mi portátil y desde mi sobremesa. Trabajar dependiendo del mail o de pendrives es muy improductivo, sobretodo para según qué tareas. Por eso durante mucho tiempo tuve montado un servidor Subversion en el Compaqto, gracias al cual tenía ordenadas y centralizadas todas mis prácticas para no perder info de ninguna.

El problema era que para muchos de mis proyectos y trabajos (los que no eran de picar código), esta solución era como matar moscas a cañonazos, y no me acababa de convencer toda la infraestructura desplegada para lo que finalmente usaba de ella.

Después de mucho tiempo trabajando con esta solución, en clase de Ingeniería de Software, nos enseñaron la herramienta Synkron, que básicamente sincroniza entre directorios mediante una interfaz muy sencilla (aunque no precisamente bonita). Según los desarrolladores:

Synkron is able to synchronise multiple folders at once, analyse folders before sync, restore overwritten or deleted files, plan synchronisations and much more.

En un principio, nuestra profesora nos instó a usar esta potente herramienta usando un pendrive, pero dada mi mala suerte con ellos (los pierdo, dejan de funcionar, explotan…) preferí usarlo con Dropbox. De la siguiente manera:

En mi Dropbox, creo un directorio por cada proyecto, dentro del cual estarán todos los subdirectorios y archivos correspondientes. Aprovechando que los directorios de Dropbox tienen una copia local en cada una de nuestras máquinas enlazadas, sincronizo la carpeta del proyecto de Dropbox con una carpeta local desde la cual trabajaré.

Una vez terminados los cambios en local, sincronizaré mi directorio con Dropbox, para que se suban los cambios, que podré bajar en otro ordenador configurando una sincronización desde dropbox hacia la carpeta local de ése ordenador. Fácil, ¿no?

Esto no sustituye en absoluto a un control de versiones como podría ser Bazaar (que tanto nos gusta a Edu y a mi), sino que nos da una solución para centralizar nuestro trabajo en los casos en los que no necesitemos una gestión tan avanzada de los cambios hechos.

 

Cómo añadir varios dominios bajo una misma IP en un servidor con apache2

Apache2Querer retomar el blog, me hizo tener que darle otros usos a mi servidor privado, el cual, entre otras cosas uso principalmente para probatinas de cosas de la universidad. En un principio, no hubo problema, porque mi dominio ya estaba agregado como default. El “problema” vino, cuando le prometí a Marta que movería su genial blog de Blogger a WordPress, con un dominio para ella (cortesía de 1and1). Símplemente hay que añadir un Virtual Host a nuestra instalación de apache. Para ello debemos hacer lo siguiente

$ sudo vim /etc/apache2/sites-enabled/nombredelhost

Dentro del archivo que acabamos de crear insertaremos lo siguiente:

vimNameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName dominioaañadir.com
ServerAlias www.dominioaañadir.com
DocumentRoot /home/foo
ErrorLog /home/uoc_error_log
TransferLog /home/uoc_access_log
</VirtualHost>

Donde en ServerAdmin tendremos que poner el mail del admintrador del sitio y en DocumentRoot el directorio donde esté alojada la web que queramos mostrar en nuestro dominioaañadir.com. Además, con ServerAlias agregamos como alias www.dominioaañadir.com, ya que sino, al teclear la dirección con www nos dirigiría hacia la página con el dominio por defecto.

El editor que he empleado yo es Vim, pero es posible usar uno mas sencillo (y mucho menos potente) como nano, Simplemente sería poner en la terminal

$ sudo vim nombredelhost

Una vez guardados los cambios simplemente tendremos que añadir el nuevo sitio a nuestra configuración de Apache:

$ sudo a2ensite nombredelhost

y reiniciar apache para que se apliquen los cambios

$ sudo /etc/init.d/apache2 force-reload

Una vez reiniciado Apache, deberíamos tener disponible nuestro nuevo dominio.

 

Conclusiones sobre el día del Software Libre en Zaragoza

Ayer, como ya comenté, se celebró el día del Software Libre en la Plaza del Pilar de Zaragoza. Estuve en la zona Install con un par de compañeros (uno de los cuales era un voluntario que apareció por ahí tan solo con la intención de ayudar) ayudando a la gente a migrar a Linux.

Mucha gente entraba a la carpa únicamente para conseguir los cedés de Ubuntu que repartía una atractiva compañera mientras informaba sobre lo que estábamos haciendo y acerca del nuevo servicio de difusión del ayuntamiento de Zaragoza. No obstante la mayoría se interesaba de verdad en e tema del Software Libre, y tras enterarse por la mañana de lo que era Linux, por la tarde trajeron sus ordenadores (portátiles, pero también sobremesas), para que les enseñáramos cómo instalarlo.

Algo que me sorprendió es la cantidad de personas mayores que no solo pilotaban sobre el tema del Software Libre, sino que nos ayudaron a atender a todas las personas con la instalación o con las dudas con el uso de programas. Por lo general hubo mucho buen rollo; tan solo algunas personas se enfadaron cuando se dieron cuenta de que no solo las atendíamos a ellas, sino a todas las demás. Hay gente para todo.

Fue un día muy entretenido en el que tuve tiempo de aprender cosas nuevas, enseñar cosas a gente que de verdad estaba interesada y en compartir experiencias con diferentes usuarios de Linux.

Hubo un momento muy gracioso en el que mientras hablaba con un asistente sobre lo que me gustaba Linux y por qué creía que era tan importante que todo el mundo supiera lo que es, saqué mi macbook para apuntar un par de cosas. El chico solo pudo pronunciar “No jodas que eres maquero!” XD Tampoco era tan sorprendente, en la mesa de los administradores de sistemas estuvo en todo momento el MacBook Pro de GoLo con la tapa abierta y su flamante Ubuntu funcionando.

Durante toda la jornada hubo interesantes ponencias, pero no pude asistir a ninguna, porque la afluencia de gente en la zona Install fue sorprendente.

Hubo mucha gente que sacó fotos, pero yo ni tuve tiempo para hacer ninguna. Espero encontrar por ahí alguna. Lo mas divertido del día fue la cadena / baile que protagonizó GoLo al empezar a recoger todo el chiringuito.

 

18 de Octubre: Día del Software Libre en Zaragoza

Este sábado en Zaragoza celebramos el día del Software Libre. El evento empezará a las 10h en una carpa enorme en la Plaza del Pilar, y terminará a las 19h.

Durante toda la jornada se llevarán a cabo actividades para todas las edades con el Software Libre como tema central. Habrá una zona Install, donde instalaremos GNU/Linux a todo aquel que quiera probar este sistema y traiga su ordenador. En concreto se instalará Ubuntu 8.04.1, y se regalarán Cedés de esta famosísima distribución.

Además habrá unos cuantos ordenadores con Linux para que todo aquel que tenga interés pueda cacharrear un poco con este sistema y aprenda cosas nuevas.

Para los más jóvenes habrá una zona de juegos bajo plataformas Linux, y, por supuesto hay un área reservada para los Mayores.

Otra cosa importante es que durante todo el día habrá ponencias muy interesantes de gente de la oficina de Software Libre de la Universidad de Zaragoza (OSLUZ), de la Universidad San Jorge y de diferentes empresas y organizaciones.

Por mi parte, estaré en la zona Install instalando Ubuntus sin conocimiento (espero :D). También estará GoLo, así no me sentiré solo :)

Aquí tenéis más información