7.11. Haciendo un MPEG4 ("DivX") de alta calidad al ripear una película en DVD

Ripear un título de DVD en un archivo MPEG4 (DivX) de alta calidad involucra algunas consideraciones. Más abajo encontrará un ejemplo del proceso cuando el objetivo no es conseguir un tamaño determinado para el archivo (sino quizá ajustar el resultado en 2GB). libavcodec será usado para el video, y el audio será copiado como esté sin cambios.

7.11.1. Recortando

Reproduzca el DVD y ejecute el filtro de detección de recorte (-vf cropdetect) en él. Esto le dará un rectángulo de recorte para usar en la codificación. La razón para el recorte es que muchas películas no están en las relaciones de aspecto estándar (16/9 o 4/3), o, por cualquier razón, la imagen no se ajusta bien dentro del marco de imagen. Además querrá recortar las bandas negras durante el ripeo. También mejora la calidad de la imagen porque el filo de las bandas negras consume un montón de bits. Un aspecto común es 2.35, el que se llama cinemascope. La mayoría de las películas de blockbuster tienen esta razón de aspecto.

7.11.2. Nivel de calidad

A continuación debe elegir el nivel de calidad deseado. Cuando no necesite ajustar el tamaño resultante en un CD o en lo que sea, usar una cuantización constante, AKA calidad constante es una buena elección. De este modo cada marco de imagen toma tantos bits como necesite para mantener el nivel de calidad deseado, pero sin necesitar múltiples pasadas en la codificación. Con libavcodec, obtendrá una calidad constante usando -lavcopts vqscale=N. vqscale=3 debe darle un archivo por debajo de los 2GB de tamaño, dependiendo principalmente de la duración de la película y del ruido en el video (a más ruido, más difícil de comprimir será).

7.11.3. Archivos más grandes de 2GB

Si el archivo resultante codificado con calidad constante es más grande de 2GB, deberá crear un índice para poder luego verlos correctamente. Puede

  • reproducir el archivo con -forceidx para crear un índice sobre la marcha o bien

  • usar -saveidx para escribir un índice a un archivo una sola vez y luego -loadidx para usarlo cuando reproduzca el archivo.

Si esto le incomoda, quizá quiera mantener el tamaño por debajo de los 2GB.

Hay tres maneras de evitar esto. Puede intentar codificar de nuevo usando vqscale=4 y ver si tiene el tamaño de archivo y la calidad de imagen aceptables. También peude usar codificación en 2 pasadas. Como va a copiar la pista de audio como está y conoce por eso su tasa de bits, y además sabe la duración de la película, puede calcular la tasa de bits de video requerida para dar a la opción -lavcopts vbitrate=bitrate sin usar codificación en 3 pasadas.

La tercera y posiblemente la mejor opción puede ser rebajar ligeramente la resolución. El rebajado suaviza ligeramente y la pérdida de detalle es visualmente menos dañina que el ver bloques y otros artifactos causados por la compresión MPEG. Escalar a un tamaño menor también reduce de manera efectiva el ruido en la imagen, lo que es aún mejor, ya que el ruido es más dificil de comprimir.

7.11.4. Desentrelazado

Si la película está entrelazada, puede que quiera desentrelazarla como parte del ripeo. Es debatible si debe desentrelazarse en esta etaba. El beneficio es que al desentrelazar mientras convierte a MPEG4 ocasiona una mejor compresión, y luego es más fácil de ver con menos CPU en monitores de ordenador ya que no es necesario el desentrelazado en ese momento.

Desentrelazar durante la etapa de ripeo es una buena idea dependiendo del DVD. Si el DVD está hecho desde una película, y tiene 24 fps, puede desentrelazar durante el ripeo. Si, sin embargo, el original es un video a 50/60 fps, convertirlo en un video desentrelazado a 23.976/25 fps puede perder información. Si decide desentrelazar, puede experimentar con distintos filtros de desentrelazado después. Vea http://www.wieser-web.de/MPlayer/ para ejemplos. Un buen punto de partida es -vf pp=fd.

Si está haciendo las dos cosas, recortando y desentrelazando, desentrelace antes de recortar. Actualmente, no es necesario si el desplazamiento de recorte es vertical y múltiplo de 2 pixels. Sin embargo con algunos otros filtros, como dering, deberá siempre hacer el recorte lo último, es un buen hábito poner el filtro de recortado el último.

7.11.5. Inversión de telecine

Si está ripeando un DVD PAL, con 25 fps, no necesita pensar en los fps. Use directamente 25 fps. Los DVDs NTSC por otro lado están a 29.97 fps (a menudo rondan los 30 fps, pero no tiene por qué). Si la película fue grabada desde TV, no necesita de nuevo tocar los fps. Pero si la película fue grabada desde una película, y por lo tanto a (exactamente) 24 fps, debe ser convertida a 29.97 fps cuando haga el DVD. Esta conversión donde se añaden 12 campos a cada 24 marcos de imagen de la película se llama telecine. Para más información acerca de telecine, vea una búsqueda en Google de "telecine field 23.976".

En caso de que tenga un DVD telecine, puede que quiera hacer inversión del telecine, lo que significa convertir la película a 23.976 fps (29.97*4/5). De otro modo las panorámicas de cámara irán a trompicones y muy mal. Puede usar -ofps 23.976 para ello. Cualquier cosas que esté en películas y necesite telecine inverso, no se mostrará en TV.

7.11.6. Escalado y razón de aspecto

Para mejor calidad, no escale la película durante el ripeo. El escalado a tamaño menor obviamente pierde detalle, y el escalado a mayor tamaño causa artefactos y hace el archivo mayor en tamaño. Los pixels en las películas DVD no son cuadrados, por eso las películas en DVD incluyen información acerca de la razón de aspecto correcta. Es posible almacenar la razón de aspecto en la cabecera del archivo de salida MPEG4. La mayoría de los reproductores de video ignoran esta información pero MPlayer la usará. Si solo va a usar MPlayer para ver el archivo ripeado, no necesitará escalar la película, solo pase -lavcopts autoaspect a MEncoder y las cosas funcionarán bien automágicamente. Si debe escalar la película, tenga cuidado con el tamaño dado especialmente si está recortándola.

7.11.7. Sumando todo esto

Con todo lo mencionado más arriba en mente, se puede usar una órden de codificación como la siguiente

mencoder dvd://1 -aid 128 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vqscale=3:vhq:v4mv:trell:autoaspect \
  -ofps 23.976 -vf crop=720:364:0:56 -o Harry_Potter_2.avi
  

Aquí dvd://1 indica el título de DVD a ripear. La opción -aid 128 indica el uso de la pista 128, y -oac copy para copiarla como está. Puede usar MPlayer para encontrar los valores correctos para las opciones.

Las opciones vhq:v4mv:trell para -lavcopts mejoran la calidad frente a la tasa de bits, pero hacen que la codificacion dure más. Especialmente trell ralentiza la codificación pero incrementa la calidad visiblemente. Si quiere desentrelazar, añada un filtro pp a -vf, por ejemplo -vf pp=fd,crop=720:364:0:56 (en ese orden). Si no necesita invertir el telecine, quite -ofps 23.976.