Programas a usar

Explicaremos el uso de dos de los programas más conocidos:

A ripear con Mencoder

Si quire que le diga la verdad es la manera mas simple que he encontrado para hacer backups de mis DVDs y la que tiene el consumo de recursos más bajo.

Como con otros "ripeadores" hay dos maneras (mejor dicho dos métodos) de hacer esto:

  • Una es usar el siguiente script, aunque más abajo se explica que parametros tiene el mencoder

  • Y otro es el método de las tres pasadas que de igual manera se explica más abajo

Directamente a avi

Algo importante sobre el comando; los modificadores de una opción se separan con ":" (dos puntos).

Ejemplo: -lavcopts vcodec=mpeg4:vbritate

El script es el este:


#!/bin/sh
if [ $1 != 1 ] && [ $2 != 1 ]; then
echo "Uso : $0 <tiempo en seg de la
	  pelicula> <volumen de 1 a 10> <codigo de
	    pais>"
# El codigo del pais: es, us, en... etc.
echo
exit 1
fi
# Maximo tamanho 700MB lo que son 716800 kbytes por lo que por
	# si acaso ponemos menos
MAXSIZE=700000    # El britate que da este script es
	# mejor bajarlo 10 o 20 si subimos mucho el volumen
SEGUNDOS=$1
MINUTOS=$(($SEGUNDOS/60))
# RATE del audio es 128 bits/s o 16 kbytes/s
AUDIOSIZE=$((16*$SEGUNDOS))
LIBRE=$(($MAXSIZE - $AUDIOSIZE))
RATE=$((($LIBRE*8)/$SEGUNDOS))
echo "Calculando rate para película de duración $MINUTOS minutos...."
echo "Rate estimdo: $RATE"
FINALSIZE=$((($RATE+$SEGUNDOS)/8 + $AUDIOSIZE))
echo "Tamaño estimado: $FINALSIZE"
echo "El comando sería"
echo "mencoder -alang $3 -dvd 1 -ovc lavc -lavcopts
	    vcodec=mpeg4:vhq:vbitrate=$RATE -vop scale -zoom -xy 640
	    -oac mp3lame -lameopts vol=$2 br=128 -o file.avi"

Bueno, ahora toca explicar qué ha pasado.

El script nos calcula el britate y nos da un comando "orientativo". La parte del cálculo del britate es más bien asunto matemático, por lo que se escapa de este COMO :-)

Entonces lo que yo voy a explicar es el comando final y sus parámetros, lo primero es la llamada al programa:

  • -dvd 1 --> Con esto le decimos dónde queremos empezar a ripear y el dispositivo (es posible que la película no empiece en 1, habrá que probar).

  • -ovc lavc --> Con esta opción indicamos el códec que vamos a usar para codificar, en este caso concreto indicamos que use la librería libavcodec.

  • -lavcopts vcodec=mpeg4:vhq:vbritate=$RATE --> Esto pertenece a la opción explicada arriba. Con esta línea le indicamos que use compresión mpeg4 y un britate; además activamos el high quality mode con vhq. Esta opción es muy importante ya que el tamaño final del DVD ripeado depende del britate que le pongamos. Cuanto más alto sea este valor, mayor calidad tendrá el vídeo del archivo que obtendremos, pero mayor será el archivo.

  • -vop scale -zoom -xy 640 --> Así escalamos la imagen que tendrá como predeterminada el vídeo al reproducirse.

  • -oac --> Tiene el mismo significado que -ovc , pero este es con respecto al sonido. En el script encodea-dvd se utiliza la opción de codificar en mp3, usando lame con mp3lame. Sencillo, no? :-)

  • -lameopts -->Le pasamos una serie de opciones a lame como el britate. Ej. br=128 y el volumen ej. vol=9

  • -o --> Por último le decimos el nombre del archivo de salida. Si no ponemos nada, por defecto es test.avi. Cuidado si ripeáis dos películas en poco tiempo, no hagáis como cierta persona (yo) que no cambié el archivo de sitio y cuando fuí a por la segunda me pisó la anterior y al c*r**o 5 horas de ripeo.

Este es el comando que nos da el script de paranouei (al final pondré una relación de páginas donde conseguir información sobre el tema). Ahora lo podemos completar.

  • Si se diera el caso de que la película es en 16:9 podemos indicarselo a mencoder (ya que puede que no lo detecte y la imagen salga muy alargada), -aspect 16:9 , lo ponemos justo detrás de mencoder.

  • Y si no nos gustan los bordes y queremos que toda la pantalla sea imagen (sin borde negro) ponemos croptdetect en -vop. Miramos el terminal y cuando esté reproduciendose la película (y dependiendo de la resolución) copiamos el valor de cropt que será algo como crop=x:x:x:x

  • Pensemos por un momento que ponemos a ripear una película, y no miramos como va, es decir, que estamos con el ordenador 4 o 5 horas en marcha, y después termina.... estamos muy contentos por que ya lo ha hecho.... miramos que ocupa lo que queremos y cuando la ponemos, voilà!; está en CHECO ;-). Pues antes de nada ponemos -alang xx siendo xx el código de dos letras del idioma. En nuestro caso -alang es . Podemos poner el código seguido de otro separado por una coma, y en el caso que no estuviera disponible uno, usaría el otro.

Sugerencia

Mientras estemos codificando podemos ver el resultado y mirar si lo que va saliendo nos gusta. Si no es así, ya sabes, a cambiar las opciones al gusto de cada uno.

Método de las tres pasadas

La diferencia entre los dos métodos es que el primero pasa directamente a avi y el que se explica a continuación ripea el contenido del DVD al disco duro con la consiguiente necesidad de espacio (10GB +-, más vale que zobre que no que farte, yo andalú ze nota :-)) en el disco.

  1. Primera pasada: El sonido

    usuario@maquina:/ $ mencoder -dvd 1 -ovc frameno -o
    frameno.avi -oac mp3lame -mp3lameopts abr:br=128
                                            

    Lo que estamos haciendo es poner el sonido por una parte en el archivo frameno.avi

  2. Segunda pasada: El video

    usuario@maquina:/ $ mencoder -dvd 1 -nosound -aoc copy -o
    	      /dev/null -ovc lavc -lavcopts vcodec=mpeg4:vbritate=$RATE
    	     :vhq:vpass=1:vqmin=1:vqmax=31 -vop scale -zoom -xy 640
    	      -npp lb
                                            

    Este comando tiene algo más que explicar.

    El modificador vpass=1 es el que nos permitirá usar el método que estamos explicando. Las opciones de vq* sirven para controlar la calidad de la imagen, como nos recomienda paranouei vqmin=1 y vqmax=31 estará bien. La parte final del comando, -npp lb es una forma de indicarle al códec la forma óptima de compresión y codificación.

  3. Tercera pasada: Unimos audio y vídeo

    mencoder -dvd 1 -oac copy -o file.avi -ovc lavc -lavcopts vcodec=mpeg4:vbritate=$RATE:vhq:vpass=2:vqmin=1:vqmax=31 -vop scale -zoom -xy 640 -npp lb

Usando transcode

Transcode es otro gran programa que nos ofrece el software libre. Aquí sólo se hablará de como usarlo para ripear de pal DVD --> divx, aunque tiene muchas otras posibilidades.

Bueno manos a la obra, benitoooooooooo, perdonad alguna gili* que haya en el texto pero es que llevo todo el día estudiando.

Montamos el DVD (/dvd o /mnt/dvd, aunque para no liarse podemos decir que montamos el CD y lo hacemos como si de un CD normal se tratase):

usuario@maquina:$ mount /dvd
usuario@maquina:$ 
                        

Ahora ya podemos iniciar el proceso de ripeado y codificación

  1. vobcopy --> Para ripear la película al disco duro ejecutamos el siguiente comando.

    usuario@maquina:/ $ vobcopy -i /dvd -m -o /tmp
    	                        

    La opción -i indica dónde está el DVD a ripear.

    La opción -m es para decirle que copie el contenido al disco duro (para lo que necesitaremos el espacio que antes comentaba) así copiaremos también los *.ifo, de esta manera también podremos visionar el contenido como si lo hicieramos desde el dvd.

    -o /dir como es obvio, para indicar el directorio donde queremos poner los archivos. Si no ponemos nada los pondrá en el directorio actual.

    También podemos ripear un capítulo concreto con -n y el número del capítulo.

  2. Ahora ya usamos el transcode y escribimos lo siguiente; así sacaremos el vídeo.

    usuario@maquina:/ $ transcode -i /tmp -w 4357,250,100 -a 1 -b
    	  128,0,0 -s 3.311 -V -f 25 -B 12,10,8 -R 1 -x vob,null -o
    	  /dev/null -y xvidcvs,null
                                    
    • -i /tmp Donde están los vob's ripeados??

    • -w 4000,250,100 son los parámetros de calidad de la imagen, es decir: britate, intervalo entre key frame, .

    • -a 1 selecciona la pista de audio 1

    • -b 128,0,0 son parámetros de audio. Nos interesa el primero que pone el britate del audio en 128.

    • -s le pasa parámetros a lame (recordemos que es el codificador de mp3) para acotar el audio.

    • -V indica que la escala de colores será YUV y no RGB, puesto que algunos filtros solo trabajan con YUV. Si no ponemos nada lo convertirá a RGB que es el predeterminado.

    • -f pone el índice de frames por segundo, en este caso lo pone a un nivel parecido al de la televisión.

    • -R 1 Si recordamos el método de las pasadas, esto indica que es la primera pasada.

    • -B 12,10,8 esto escala la imagen alto de 12 a 8 y el ancho de 10 a 8

    • -x vob,null le decimos que los archivos de vídeo son vob y que ignore el audio, recordemos el método de las tres pasadas explicado para mencoder.

    • -o /dev/null descartamos el archivo de salida

    • -y xvidcvs,null el vídeo de salida debe ser divx.

  3. Y de esta manera el audio

    	  usuario@maquina:/ $
              transcode -i /tmp -w 4357,250,100 -a 1 -b
    	  128,0,0 -s 3.311 -V -f 25 -B 12,10,8 -R 2 -x vob -o
    	  /directorio/en/el/que/lo/quieras/poner/movie.avi -y
    	  xvidcvs
                                    

    Este comando tiene poco que explicar, sólo que lo que antes descartabamos ahora lo acogemos.