El códec Theora ha mejorado gracias a Monty y al impulso económico de RedHat. La versión 1.1 vió la luz en septiembre de 2009 (1.1.1 en octubre) y aún no disponemos en GNU/Linux de una aplicación gráfica que permita hacerlo a golpes de ratón. La aplicación Thoggen no se ha actualizado por lo que no se puede sacar provecho de las novedades en el "encoder".
Por suerte, aún tenemos la consola de mandatos, y en esta sí disponemos de una aplicación con la que comprimir con la nueva versión de Theora, es ffmpeg2theora.
Que programas son necesarioslibdvdcss - para acceder al DVD.
mencoder - para volcar la pelicula al disco duro
ffmpeg2theora - para realizar la conversión al formato OGV
Estos programas se pueden obtener fácilmente mediante el empaquetado de la distribución utilizada.
Paso 1: Obtener información de la películaEn un DVD vienen varias pistas: la película, trailers, contenidos extras, cortinillas, etc. Normalmente la película está en la pista 1, aunque puede variar según el título. Para ver la información ejecutamos el siguiente comando
mplayer --identify dvd://
Obtendremos una serie de datos de los cuales hay que quedarse con dos, el primero la longitud de cada capítulo:
***
ID_DVD_TITLE_1_LENGTH=6710.240
ID_DVD_TITLE_2_LENGTH=12.800
ID_DVD_TITLE_3_LENGTH=401.240
ID_DVD_TITLE_4_LENGTH=47.800
ID_DVD_TITLE_5_LENGTH=47.800
ID_DVD_TITLE_6_LENGTH=49.400
.
.
.
***
6710 segundos, 100 minutos aproximadamente, la película está en el título 1
El siguiente dato es saber que idiomas contiene el disco, descartando los que no nos interese ahorraremos espacio:
***
audio stream: 0 format: ac3 (5.1) language: en aid: 128.
ID_AUDIO_ID=128
ID_AID_128_LANG=en
audio stream: 1 format: ac3 (5.1) language: es aid: 129.
ID_AUDIO_ID=129
ID_AID_129_LANG=es
audio stream: 2 format: ac3 (stereo) language: en aid: 130.
ID_AUDIO_ID=130
ID_AID_130_LANG=en
***
En este caso nos interesa el idioma español, y su código (AUDIO_ID o AID) es el 129.
Paso 2: Volcar la película al disco duroCopiaremos la película al disco duro de nuestro equipo sin que pierda calidad. Ejecutamos:
mencoder -oac copy -ovc copy -of mpeg -mpegopts format=dvd:tsaf -aid 129 -o fichero.mpg
dvd://1
Como se puede comprobar hemos indicado que el idioma a utilizar es el 129 (en este caso, el español) y el título a copiar es el 1
Una vez finalizado el proceso tenemos una copia exacta de la película en formato MPEG, ocupando 5 Gb de espacio.
Paso 3: Convertir a formato OGVEn una conversión de vídeo hay tres datos a tener en cuenta: cuanto espacio ocupará la película ripeada, la calidad del vídeo y la calidad del audio. Las 3 están ligadas entre sí: a mayor calidad, mejor resultado pero también un archivo final más grande.
Como ejemplo tomamos los valores que suelo utilizar en mis ripeos. Suelo dar 1 Gb de espacio a cada película, y el audio en estéreo "real" (en Vorbis esto es a partir de los 192 Kb/s). Con estos dos datos y la duración de la película podemos obtener el ratio del vídeo:
tamaño / segundos * 8
1024 / 6710 * 8 = 1,220 kb/s
A esos 1220 Kb/s restamos los 192 del audio, teniendo un bitrate de video de 1028 kb/s.
Ya tenemos todos los datos que necesitamos, ejecutamos ffmpeg2theora
ffmpeg2theora -V 1028 -A 192 --speedlevel 0 --pp ca --title Pelicula fichero.mpg -o fichero.ogv
Speedlevel indica que encodee a menor velocidad a costa de conseguir mejor calidad. PP activa los filtros post-proceso, se pueden elegir individualmente o un conjunto predefinido de ellos (ejecutar ffmpeg2theora --pp help para verlos todos).
A partir de aquí se pueden añadir o quitar cosas,a gusto del consumidor... audio 5.1, quitar bandas negras, etc. Si alguien quiere aportar mejoras, correcciones u otras opciones es bienvenido.
Con la orden arriba citada en 4 horas (el tiempo depende de la CPU utilizada, en este caso un Pentium 4) tenemos una película en formato OGV que funcionará en cualquier sistema GNU/Linux sin necesidad de instalar/utilizar códecs privativos.