En la parte I vimos cómo introducir subtítulos. Ahora, partiendo de un contenedor mkv que ya contiene una pista de subtítulos en otro idioma, vamos a ver como extraerla, iniciar su traducción y luego introducir esta nueva pista de subtítulos en nuestro archivo MKV.
Para realizar esta tarea debemos tener instalado un reprodutor como MPlayer y las herramientas mkvtoolnix. Esto se puede lograr con:
Esto nos indica que los subs están la pista 4, también nos es util saber la codificación de texto que en este caso es UTF8 y que es el que el programa maneja por defecto. Ahora bien, sabiendo el número de la pista, ejecutamos lo siguiente para extraerlos.
Actualmente el proyecto mkvtoolnix cuenta con soporte para SRT, SSA/ASS y Kate desde Ogg.
En este caso se ha usado el Advanced Substation Alpha con lo que hemos obtenido el archivo en_subs.ass
Si lo que queremos es traducir estos subtítulos, disponemos de un muy buen programa de código abierto (por supuesto :D) llamado Subtitle Editor.
Como probablemente lo estemos imaginando, basta el siguiente comando para tenerlo a nuestra disposición:
$ sudo aptitude install subtitleeditor
Subtitle Editor es un programa bastante completo y en constante actividad. De momento mostraré en pocos pasos cómo tener listo el programa para empezar a traducir, el resto se lo dejo a ustedes xD
Abrimos el subtitle editor y tendremos una pantalla como la de más abajo, nos vamos al menu Video y abrimos el video mkv.
Ahora en el menu Archivo seleccionamos abrir y le damos a nuestro archivo de subtítulo recién extraído:
El siguiente paso es seleccionar la vista que más se acomode a nuestra tarea que por ahora es la de traducir ;) para ello en el menu Ver elegimos Traducción.
Una vez que tengamos nuestra traducción lista, mediante el menu Archivo y Guardar Traducción, la guardamos como un nuevo archivo .ass.
Cabe señalar que es importante que la codificación de caracteres sea UFT-8, con el salto de línea para Unix no he tenido problemas hasta ahora entre Subtitle Editor y Subtitle Workshop no se con los demás programas :(
Lo que nos queda por hacer ahora es meter la traducción en el contenedor como una nueva pista, para ello vamos a hacer uso de otra de las herramientas que vienen con mkvtoolnix llamada mkvmerge.
Ahora tendríamos un nuevo contenedor llamado con_es_subs.mkv el cual tiene, además de todas las pistas que tenga el contenedor fuente, nuestro flamante archivo de ass.
Lo siguiente que recomendaría, ya que no es obligatorio, es especificar el idioma de la pista que introdujimos y si lo deseamos, ponerla como predeterminada y de paso decirle la codificación de caracteres. Para ello ejecutamos la siguiente línea, donde el número 3 significa el ID de la pista que queremos configurar (un mkvmerge -i archivo.mkv nos indica esto muy claramente):
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:
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.
El cualquier momento de toda actividad relacionada con el mundo audiovisual o multimedia, nos cruzaremos con la necesidad de subtitular y/o traducir algún vídeo o producto audiovisual en general. Pues bien, para las personas que vivimos en un mundo libre tenemos un excelente programa a disposición: Gnome Subtitles.
Aunque es un programa que actualmente no dispone de todas las características que los diferentes formatos de subtítulos permiten para su personalización, hace muy bien su trabajo, su uso es muy intuitivo; y está en constante desarrollo aumentando cada vez más formatos soportados así como diferentes características.
Su instalación dependerá de la distribución usada, en la página del programa disponemos de los binarios para diferentes distros. En mi caso uso Debian, por lo que su instalación se puede realizar mediante apt-get, aptitude o Synaptic; lo mismo ocurre para cualquier sabor de Ubuntu. Es decir, bastará con un aptitude install gnome-subtitles. Para más información entrar aquí.
Si bien podemos realizar todo el trabajo (aparte de escribir :D) mediante el uso del ratón, resulta mucho más eficiente usar los atajos de teclado que el programa brinda. Por esto, iré indicando estos atajos en vez de indicar sus botones.
Para mostrar un poco su funcionalidad, vamos a crear algunas líneas de subtítulos. Lo primero que hacemos al abrir el programa será crear un nuevo archivo mediante Archivo - Nuevo (CTRL+N), automáticamente el programa crea un primer subtítulo con el tiempo de duración predeterminado. Ahora, abrimos el video que queramos subtitular mediante el menú Video - Abrir.
Presionamos CTRL+P para empezar la reproducción así como para pausarla. Cuando hayamos localizado el momento donde va el primer subtítulo, lo ajustamos lo más preciso posible con el uso de los atajos CTRL+K para retroceder un cuadro; y CTRL+L para adelantar un cuadro. Una vez encontrado el lugar exacto presionamos CTRL+E para establecer el inicio del subtítulo, ahora localizamos el final del mismo y presionamos CTRL+E. Damos click en el área de texto situada en la parte inferior de la ventana del programa, donde a un lado podemos ajustar los tiempos si se lo requiere.
Una vez que tengamos todo listo presionamos CTRL+P para continuar la reproducción y realizamos nuevamente los pasos anteriores hasta tener todas las líneas de subtítulos que necesitemos.
GIMP (GNU Image Manipulation Program) es un potente programa para la composición de imagen, retocado fotográfico, así como para el dibujo y creación de imagen en general. Es completamente gratuito y multiplataforma (Windows, Linux, Mac). Puede ser descargado desde aquí. Es recomendado visitar su página principal (ingles) donde se encuentra la documentación completa; así como también el proyecto GIMP-es donde se pueden encontrar guías, tutoriales así como un foro bastante activo.
Ahora bien, GIMP tiene la capacidad de crear gifs animados mediante el uso de capas, donde cada una de ellas representa un cuadro de la animación. Así por ejemplo, tenemos un documento que consta de un fondo al que hemos aplicado una sencilla gradiente donde irán apareciendo una serie de imágenes y un texto:
Para nuestro ejemplo ya tenemos preparadas las imágenes que irán en cada cuadro, por lo que para empezar la animación, lo que hacemos es pegar cada una de ellas. Primero abrimos la imagen deseada con el GIMP, vamos a Editar, Copiar (CTRL+C); ahora vamos a nuestra animación y la pegamos mediante Editar, Pegar (CTRL+V).
La imagen se creará como una selección flotante, para terminar de crear la capa damos click derecho en la capa y seleccionamos Capa nueva, esto pegará la selección en un capa, preservando sus dimensiones originales. Aquí podemos mover, escalar, aplicar algún efecto, o cualquier cosa que queramos. Cuando hayamos terminado, proseguimos a pegar la imagen siguiente y las demás en general:
Los cuadros son animados de abajo hacia arriba, por lo que debemos ordenar adecuadamente las capas. Lo siguiente que hacemos es añadir un texto mediante el menú Herramientas - Texto, lo escrito se creará automáticamente como una capa de texto.
Una vez que tengamos listas todas las capas, podemos previsualizar la animación con el filtro de animación en Filtros - Animación - Reproducción.. los diferentes porcentajes que podemos seleccionar parte de 100ms para el 100%, al menos que se especifique lo contrario (parte 2).
Cuando estemos satisfechos con nuestra animación, la grabamos primero como un proyecto de GIMP (extensión .xcf) para futuras modificaciones; y luego mediante Archivo - Guardar una copia... seleccionamos .gif como extensión. Aquí nos saldrá un primer diálogo donde debemos especificar que queremos guardar como animación
y un segundo diálogo que nos permite ajustar el tiempo global de los cuadros en milisegundos.
Terminamos de guardar el archivo y está listo para ser reproducido mediante cualquier programa que soporte gifs animados.
Buscaba una manera realmente sencilla e intuitiva de hacer buenas presentaciones de imágenes pero con la posibilidad de "complicar" las cosas si es necesario :) Así encontré Slideshow Creator, un programa que no es más que una gui o frontend dedvd-slideshow. Es rápido, liviano y muy fácil de usar, aunque todavía faltan pulir algunas cosas y claro reparar algunos bugs, pero de todas maneras promete bastante y espero que algún día este en los repositorios.
Después de instalarlo se lo puede ejecutar desde un terminal conslcreator.
Pero sucede que al poco tiempo de usarlo me resultó más sensato primero aprender dvd-slideshow ysus acompañantes, para luego usar cualquier gui conociendo qué es lo que hace.
Para instalar dvd-slideshow se puede revisar la documentación (en ingles). O como en mi caso, en una distribución Debian/Ubuntu es cuestión de tener los repositorioscorrectos (multiverse en mi caso) activados y luego usar Synaptic o apt he ir instalando primero las dependencias y por último el paquete dvd-slideshow.
Si nos indica que falta alguna dependencia, la instalamos hasta que el paquete quede configurado por completo. Al terminar la instalación podemos ejecutar dvd-slideshowdesde una terminal y obtenemos los detalles de su uso. En este punto recomiendo primero volcar una copia de esta ayuda a cualquier archivo de texto y luego leerla :) Para obtener esta salida en un archivo directamente desde la consola hacemos:
Un problema que tuve y que buscando la solución me dí cuenta que no era el único, fue que ffmpeg que es usado por dvd-slideshow para la conversión de los archivos, daba un error ya sea que estemos o no usando audio. Para solucionar este problema hay que hacer un par de cambios a la configuración de dvd-slideshow. Lo primero y recomendable es descargar la última versión desde aquí ya que al momento de escribir esto la versión de los repositorios es una anterior. Una vez descargado lo instalamos ejecutando desde la consola:
$dpkg -i /ubicación/del/paquete/archivo.deb
Ahora desde debemos modificar el archivo dvd-slideshow que se encuentra en /usr/bin/:
$gedit /usr/bin/dvd-slideshow
Vamos a las líneas 3989, 3997 y 4004 y en cada una de ellas añadimos al final de los números una k, para que quede así: 224k, 128k y 192k, en vez de 224, 128 y 192. Guardamos los cambios y salimos de gedit. Con esto ya no tendríamos problemas. Gracias roquis!! (hilo del foro)
Así que mejor empecemos. Crearemos una presentación un tanto simple de imágenes únicamente con transiciones y un archivo de sonido como fondo, luego iremos complicando las cosas :) Un paso previo que nos recomiendan en Slideshow Creator y que me parece muy acertado es crear una carpeta para nuestras presentaciones (maindir de ahora en adelante) y dentro crear dos carpetas más, una para las imágenes (imgs en adelante) y la otra para la salida del video (vob en adelante).
Lista de imágenes
En la carpeta de imágenes colocamos... bueno las imágenes que vayamos a usar xD. He descargado algunos fondos de pantalla de DevianArt, los archivos que usemos pueden tener las extensiones .jpg o .png (.jpg .jpeg .JPG .png .PNG) y su tamaño y resolución puede ser cualquiera.
Una vez que tengamos listas las imágenes en la carpeta, usaremos un comando que viene con dvd-slideshow llamado dir2slideshow.
Su sintaxis es la siguiente:
dir2slideshow [-o <Directorio de destino>] [-t <Segundo por imagen>] [-c <Segundos de la transición>] -n <Nombre del slideshow> [-s Texto de subtítulo] [-notitle] <Directorio de imágenes>
Opciones:
[-o <Directorio de destino>]Directorio donde se generará el archivo. Si no es especificado se usará el directorio actual.
[-t <Segundo por imagen>] Número de segundos que se mostrará cada imagen en la película. Por defecto es 5 si no se especifica nada.
[-c <Segundos de la transición>]Número de segundos que dura cada transición (crossfade) entre imágenes.
[-n <Nombre del slideshow>]El nombre de la presentación. Este nombre es usado como el título por defecto de la primera imagen y será el nombre del archivo generado.
[-s Texto_de_subtítulo] Añade el subtítulo "Texto_de_subtítulo" a cada slide. Se puede usar "-s filename" para mostrar el nombre de archivo como subtítulo. También se puede usar "-s path" para mostrar la ubicación y el nombre de archivo como subtítulo.
[-notitle] No crea ninguna diapositiva de título.
[-p] Usa formato de video PAL en vez de NTSC.
<Directorio de imágenes> La ubicación de la carpeta de imágenes que queremos usar.
Ahora nos dirigimos al directorio ~/Desktop/maindir/ y veremos que se ha creado el archivo Mi_presentación.txt que en mi caso en particular quedó de la manera mostrada abajo, pero básicamente lo que varía serían las rutas de los ficheros y los tiempos.
Ya estamos listos para generar la presentación, podemos editar a mano el archivo .txt para ajustarlo a nuestras preferencias, pero por ahora lo dejaremos tal cual está. Como deseamos sonido de fondo podemos colocar en la carpeta maindir (donde tenemos al archivo .txt) el fichero que deseemos (.ogg .mp3 .wav), de otra manera lo podemos especificar con su ruta completa al crear la presentación.
Para generar la presentación usamos el comando dvd-slideshow.
Su sintaxis es la siguiente:
dvd-slideshow [-n <nombre de la presentación>] [-o <directorio de salida>] [-b <imagen jpg de fondo>] [-a <archivo de audio 1> -a <archivo de audio 2> -a <archivo de audio N>] [-p] [-L] [-H] [-mp2] [-r] [-smp] [-border <tamaño del borde>] [-theme <nombre del tema>] [-f] <archivo de texto>
Opciones:
[-n <nombre de la presentación>] El nombre que tendrá el archivo creado. Se tomará el nombre del archivo de entrada (.txt) si no es especificado ninguno.
[-o <directorio de salida>] Ubicación donde los archivos .vob y dvdauthor .xml serán creados. Si no se especifica ninguno se usará el directorio actual.
[-b <imagen jpg de fondo>] Imagen que será usada como fondo de la presentación. Todas las imágenes se mostrarán sobre esta imagen. Si no se especifica, se usa negro como fondo de las imágenes y una gradiente azul para la diapositiva de título.
[-a <Archivos de Audio>] Archivo de audio reproducido durante la presentación. Automáticamente se realiza un "fadeout" al final de la presentación. Si se usan varios archivos de audio se reproducen uno tras otro. Existe una manera más avanzada y más flexible mediante opciones en el archivo de texto que veremos m{as adelante.
[-p] Usa formato de video PAL en vez de NTSC.
[-L] Realiza el render en calidad baja recomendable para debugging. Configura la resolución a 1/2 de la resolución total y disminuye la calidad de los efectos. Esto debería aumentar la velocidad del proceso de codificación en al menos un factor de 4.
[-f <archivo de texto> ]Archivo de entrada
De esta manera tendríamos algo como lo siguiente:
$dvd-slideshow -o ~/Desktop/maindir/vob/ -n 'Mi Presentación Video' -p -a 'The Echo Game.mp3' -f ~/Desktop/maindir/Mi_Presentación.txt
Dependiendo de la configuración que usemos y de la cantidad de archivos, esto puede llevar algo de tiempo.
Al terminar, en el directorio de salida vob/ tendremos los archivos Mi_presentación.vob y Mi_presentación.xml y el log. Podemos reproducir el video con nuestro reproductor favorito (mplayer, vlc, etc) y comprobar que todo está perfecto.
De aquí en adelante podemos hacer lo que queramos con el video (editarlo, post-producirlo, grabarlo..) mediante programas como dvd-menu, que es parte de dvd-slideshow y sirve para generar dvd menús; u otros como cindelerra, dvdauthor, ffmpeg, etc.
El resultado que obtuve fue el siguiente:
Y eso es todo por ahora!! Espero que les haya servido.