12.11.2008

Archivos Matroska o MKV en Linux (1ra parte: Introduciendo subtítulos)

El formato MKV o Matroska es tipo de archivo de código abierto muy utilizado en el mundo audiovisual dadas sus grandes prestaciones en muchos sentidos sobre otros formatos. Para entender mejor de que es trata, de la página oficial:

Esto (matroska) no es un formato de compresión de vídeo, tampoco puede
ser usado para comprimir música o imágenes como MP3 o JPEG,
puesto que no es un codec (forma corta para (en)coder – decoder)
Es más como la envoltura alrededor de determinadas cadenas de video,
audio y subtítulos, permitiendo al usuario almacenar una película
completa en un solo fichero que sea fácilmente manejable, y asegurar
que el audio y el video puedan ser reproducidos en los reproductores multimedia
de los PCs o unidades individuales de tu habitación, en perfecta
sincronía y con toda la comodidad que se puede esperar de un formato
contenedor moderno, como:

  • extensibilidad para uso futuro (Es decir, puede ser mejorado)
  • menús (Como los que tienen los DVDs)
  • Selección de capítulos
  • Cadenas de subtítulos seleccionables
  • Cadenas de audio seleccionables
  • Búsqueda(seeking) rápida en el archivo
  • Alta recuperabilidad en los errores
  • Reproducible por internet (ambos HTTP y RTP)
En esta ocasión nos concentraremos en la reproducción y manipulación de este formato.

Bueno, así que has encontrado esa película antigua de terror que tanto buscabas, pero para sorpresa tuya la extensión del archivo es .mkv y no tienes idea de que hacer con el. Pero no hay de que preocuparse, seguramente tu flamante linux YA tiene soporte para este formato; y si no lo tiene todavía solo basta una pequeña instalación de algún reproductor que lo tenga.

Principalmente existen cuatro reproductor en linux que traen soporte para matroska. El primero es MPlayer, un reproductor que viene por defecto en muchas distros del sistema del pingüino. El siguiente más que un reproductor es el framework multimedia Gstreamer, luego tenemos al conocido VideoLan Client (VLC) y por último tenemos a Xine otro liviano y eficiente reproductor.

La forma de instalación de cada uno dependerá del tipo de distribución que usemos, si se trata de una basada en Debian bastará un sudo apt-get install programa-deseado. Esto es todo lo que necesitamos para reproducir nuestros mkv y es muy poco probable encontrarnos con codecs de audio o video que no sean aceptados por los programas arriba mencionados.

Pero una vez que felices y contentos nos disponemos a pasar un rato de sustos y gritos nos enteramos de que nuestra película no tiene subtítulos en nuestro idioma! Por suerte luego de una buena búsqueda por internet encontramos el archivo de los subtítulos que queremos. ¿Y ahora?

Lo que tenemos que hacer por supuesto es meter estos subtítulos en el contenedor mkv de nuestra película, para ello necesitamos de un paquete llamado MKVToolnix que son un conjunto de herramientas de código abierto y multiplataforma (Windows, Linux y otros Unixes)

Empezamos instalando estos paquetes:
sudo apt-get install mkvtoolnix mkvtoolnix-gui

El segundo es opcional pero ayuda tener una interfaz gráfica de vez en cuando ;) Aqui indicaremos todo por la línea de comandos para entender el funcionamiento del formato, una vez que sepamos esto manejar la GUI nos será mucho más sencillo.

Ahora que ya tenemos instalado mkvtoolnix podemos seguir con lo nuestro. Una de las herramientas que viene dentro de mkvtoolnix es mkvmerge, esta herramienta nos permite meter en nuestro contenedor mkv tanto archivos de audio como de video y subtítulos, con soporte para una gran variedad de formatos. Como siempre, es recomendable leer el manual para cualquier duda (man mkvmerge desde la línea de comandos)

Regresando a lo nuestro, tenemos nuestro archivo de subtítulos, actualmente mkvmerge soporta los formatos Subtitle Ripper (SRT), Substation Alpha (SSA) / Advanced Substation Alpha scripts (ASS) y VobSub. Generalmente nos encontraremos con estos formatos en la web.

Ahora estamos listos para meter nuestros subs en el contenedor, para ello tenemos que tener en la misma ubicación el archivo original y el archivo de subtítulos. Suponiendo que nuestra película se llama Terror.mkv y que los subs se llaman terror_es.srt entonces:

En la línea de comandos nos dirigimos a la ubicación de estos archivos:

$cd /ubicacion/de/archivos/

Ahora solo tenemos que ejecutar el siguiente comando:

archivos$mkvmerge -o Terror_con_subs.mkv Terror.mkv terror_es.srt

Veremos algunos detalles en la salida y un indicador de progreso, una vez que haya terminado tendremos un archivos llamado Terror_con_subs.mkv en la misma ubicación. Lo ejecutamos con nuestro reproductor preferido y listo!

Cabe mencionar que algunas veces y según el reproductor, los subtítulos no están activados por defecto, en Mplayer por ejemplo bastará un click derecho y en subtitles seleccionamos nuestro subtítulo.

Eso es todo por esta ocasión, existen más detalles que se irán mostrando en las siguientes partes. Por ahora lo importante es que puedas disfrutar de la película con subs en nuestro idioma :D

Si tienen alguna duda, comentario o sugerencia no duden (valga la redundancia) en preguntar.

Saludos y hasta la próxima!
Escrito con el Navegador Flock