VirtualDub con XviD

MANUAL SOBRE VIRTUALDUB Y SU USO CON EL XVID POR ©DIEGOFG

Introducción:

Este es uno de mis métodos favoritos (junto con Mpeg2Avi) para extraer el Vídeo en formato MPEG-4 con el nuevo XviD.
Quizás pueda parecer "algo laborioso" pero os aseguro que una vez "controlado" es un método bastante rápido y que, además aprovecha la rapidez "mejorada" del codec XviD. De echo, con éste método, he llegado a conseguir hasta 15 fps (con una media de 12 fps), que, dado para mi quipo actual (PIII - 700 Mhz y 384 RAM) es más que suficiente :)
 

Software a utilizar:

Codec XviD: Software esencial para realizar la extracción de los ficheros VOBs a formato XviD.
DVD2AVI 1.8x: Software que nos permitirá crear un fichero con extensión "D2V", inicialmente llamdo "proyecto". También, nos servirá para extraer el Audio de nuestros ficheros VOBs, cuya calidad está fuera de toda duda.
VFAPI Reader Codec: Este software nos permitirá crear el "frameserver" para que el VirtualDub pueda acceder al formato original del DVD, en nuestro caso los ficheros VOBs copiados previamente al HD. El fichero creado por éste software (con extensión "AVI") nos permitirá hacer el "cropping" y el "resize" a nuestro vídeo con el VirtualDub (dado que el filtro de éste software para realizar éste paso es muy preciso y exacto).
AviSynth MMX y Mpeg2Dec: Estos software son los "motores" principales para crear nuestro vídeo XviD. Uno realizará las funciones de "frameserver" y el otro, el que hará de "intérprete" entre el VirtualDub y el AviSynth.
VirtualDub 1.4.10: Estupendo software con el cual podremos seleccionar las características en nuestro vídeo XviD, opciones del propio codec, además de incluir filtros alternativos y así cómo la inclusión de Sub-Títulos estáticos.
 

Paso 1:

Ejecutaremos el DVD2AVI, pulsaremos sobre la opción "File" luego sobre "Open" y seleccionaremos los ficheros VOBs a utilizar.
Una vez tengamos cargados los ficheros VOBs, iremos a la opción "Video" y deberemos de marcar las mismas opciones que aparecen a continuación:

Con la primera de ellas, le diremos que utilice operaciones (sentencias) de "32 bits" para las rutinas "MMX" y "SSE".
Con la segunda, forzaremos el uso del formato "YUV 4:2:2" para que el software AviSynth "trabaje" directamente con el formato original de los DVDs.
 

Paso 2 (opcional):

A continuación, podremos obtener el Audio en formato WAV con una calidad excepcional, seleccionando la opción "Audio" y en "Track Number" el lugar de la pista que queramos extraer (la pista de Audio la podremos oir (p.e.) con Ac3Dec ó saber cual es, con el software que hemos utilizado para copiar el DVD al HD, cómo p.e.: SmartRipper, DVDDecrypter, etc...).
Luego, deberemos de seleccionar en la opción "Audio" las siguientes opciones tal y cómo se muestran a continuación:

Seleccionando éstas opciones (las más recomendales), lo que estaremos diciendo al DVD2AVI es, que nos genere un fichero de sonido con extensión WAV, que seleccione el propio DVD2AVI el formato en Kbps. de nuestro WAV, que a su vez, decodifique el sonido Dolby Digital, que NO nos convierta nuestro fichero WAV a la frecuencia de 44.1 KHz. (sólo si se usan Tarjetas de Sonido "algo" antiguas) y para terminar, que nos "normalize" nuestro fichero WAV (es decir, que ajuste la amplitud dinámica de cada onda recibida por el Sonido Dolby Digital).

Una vez tengamos nuestro fichero de Audio en formato WAV, tendremos que comprimirlo con un software tipo MP3 Compressor, Lame MP3 Encoder, o con el propio VirtualDub, entre otros.
 

Paso 3:

Una vez tengamos seleccionados los parámetros correctos en el DVD2AVI estaremos en disposición de salvar nuestro "proyecto". Para ello, pulsaremos sobre la opción "File" y luego sobre la opción "Save Project"; le daremos un nombre a nuestro "proyecto" con extensión "D2V", cómo p.e.: DVD2AVI.D2V. Y de manera inmediata, el DVD2AVI comenzará a crear un fichero de nombre "DVD2AVI.D2V" (en éste ejemplo) y otro fichero con extensión WAV el cual es el que podremos utilizar más adelante (una vez lo hayamos comprimido) en la unión de nuestro vídeo en formato XviD (ésta operación como es de suponer tardará algunos minutos).
 

Paso 4: (Usando el frameserver VFAPI)

Este paso es muy sencillo, pero obligatorio si queremos utilizar el VirtualDub para realizar el "resize" y el "cropping" (resolución y eliminación de las famosas bandas negras) sobre nuestro vídeo en formato XviD para aprovechar al máximo la compresión del mismo. Para ello, ejecutaremos el programa VFAPI Reader Codec, pulsaremos sobre la opción "Add Job" y le daremos el fichero con extensión "D2V" que hayamos creado anteriormente (en nuestro caso, de nombre DVD2AVI.D2V). Una vez está seleccionado, pulsaremos sobre la opción "Abrir" para pulsar a continuación sobre "OK" y luego sobre la opción "Convert". Quedando de la siguiente manera:

 

Una vez realizados los pasos anteriores, podremos pulsar sobre la opción "Exit"; tenien-do creado de ésta manera un fichero con extensión "AVI" que nos hará de "frameserver" (es decir, de enlace de frames) entre el VirtualDub y los ficheros VOBs (copiados ante-riormente en nuestro HD).
 

Paso 5:

Nuestro siguiente paso, es el de hacer el "famoso" resize y cropping (resolución y eliminación de las bandas negras) sobre nuestro fichero de vídeo en formato XviD.
Para ello, abriremos el VirtualDub, pulsaremos sobre la opción "Open Video File" y "abriremos" el fichero con extensión "AVI" que hayamos creado anteriormente con el software VFAPI Reader Codec.

Una vez realizada la operación anterior, nos centraremos únicamente en la opción "Video" del menú principal. A continuación, pulsaremos sobre la opción "Filters" luego sobre la opción "Add" apareciéndonos la lista de filtros que tenemos en el VirtualDub instalados. Seleccionaremos el filtro que nos aparece con el nombre de "resize" y pulsaremos sobre la pestaña de "OK". Apareciéndonos "algo" parecido a ésto:

Una vez hayamos pulsado sobre el "OK" deberemos de seleccionar la resolución que queremos utilizar en nuestro vídeo XviD. Para ello, en el campo "New width" pulsaremos la horizontalidad (resolución) y en "New height" la verticalidad (resolución). Con respecto a la opción "Filter mode" aunque aquí aparezca seleccionada cómo "Precise bilinear" no es necesario éste campo dado que éste filtro le utilizaremos mediante el empleo de AviSynth.

Nota: Cómo todos sabemos las resolución es siempre algo delicado. Personalmente, utilizo 640x272 para 2:35 y 640x344 para 1:85 (aunque también podremos utilizar para un 4:3 una resolución del tipo 640x480). Aclarando siempre, que éste tipo de resoluciones las utilizo cuando la película no supera los 120 minutos; dado que en el caso de que así sea y deseemos dejarla en un sólo CD, suelo utilizar resoluciones del tipo: 560*xxx ó 592*256 (recomendada: 560*240), reduciendo ésto el tamaño de nuestro vídeo en formato XviD un 20% ó 30% menos de espacio (recordemos, ésto sólo para 1 CD y si el DVD supera los 120 minutos de duración).
Aunque actualmente y debido a las características de éste nuevo codec; la verdad es que suelo (opinión personal, claro está) emplear (casi siempre), una resolución del tipo 640*xxx tanto para 1 CD cómo para 2 CDs ó más (dada la "flexibilidad" de éste estupendo codec).

Una vez, realizada ésta acalaración, seguiremos con nuestro proceso realizar el "resize" y el "cropping" lo más exacto posible. De manera, que pulsaremos sobre la pestaña de "OK" en la ventana que tiene por nombre "Filter: resize" para volver otra vez a la ventana de nombre "Filters". Pues bien, una vez realizado éste proceso, deberemos de pulsar sobre la opción que tiene por nombre "Cropping...".

A continuación, nos aparecerá una ventana cómo la que se muestra a continuación sobre la que tendremos que hacer el "recorte" para eliminar las "bandas negras". De tal manera que nos moveremos con la barra de abajo que existe en esa ventana para localizar una escena donde exista la sufienciente claridad cómo para realizar ésta operación correctamente:


 

Una vez, eliminemos las "bandas negras" y ántes de pulsar sobre la opción de "OK" nos apuntaremos los valores de la "X1" (un 4 en éste caso) y el valor de la "Y1" (un 72 en éste caso). Una vez tengamos apuntados éstos valores, podremos pulsar sobre la pestaña de "OK" para volver a la pantalla anterior.
En la cual, nos tendremos que apuntar (también) los valores con los que dejamos la imagen del vídeo en su "horizontalidad" y en su "verticalidad". Estos dos últimos valores los encontraremos en la pantalla que tiene por nombre "Filters" una vez realizado el "Cropping..."; de tal manera, que siguiendo nuestro ejemplo anterior, nuestros valores de "horizontalidad" y verticalidad" serían "716x431" (respectivamente):

De tal manera que siguiendo las instrucciones anteriores nos interesarían los siguientes valores:
- Resolución utilizada: 640x272 (en nuestro caso, porque la película es 2:35 y menos de 120 minutos de duración, aunque la duración de la película utilizando el XviD es "trivial" para la resolución a emplear, al menos para mí... xD. Dado que cómo ya he comentado antes, suelo usar siempre 640*xxx para 1, 2, ó más CDs.).
- Valores del Cropping: X1=4, Y1=72, Horizontalidad=716, Verticalidad=431).
- Filtro a utilizar: Precise Bilinear (en éste caso que nuestro vídeo lo dejaremos en 1 CD. Para 2 CDs podríamos utilizar "Precise Bicubic").

Con éstos valores, estaremos en disposición de utilizar el AviSynth para la creación de nuestro vídeo en formato XviD.

IMPORTANTE: Cómo todos sabemos, el paso del "resize" y "cropping" puede realizarse con otros programas cómo p.e. el Gordian Knot. Yo personalmente, utilizo éste último si tengo problemas a la hora de "encontrar" un Aspect Ratio, adecuado. Por lo demás, ésto es cómo todo, es decir, contra gustos no hay nada escrito :)
 

Paso 6: (Usando de frameserver el Avisynth y el Mpeg2Dec)

Nuestro siguiente paso, será utilizar el AviSynth y el Mpeg2Dec (ambos son dos ficheros DLLs).
En el caso de que no tengamos "instalado" ninguno de ellos, deberemos de hacer lo siguiente:

6.1.- Descomprimiremos los ficheros de nombre: "AVISYNTH.DLL" e "INSTALL.REG" en el siguiente directorio, dependiendo del Sistema Operativo que se utilice:

Para, Windows 9x ó ME: C:\WINDOWS\SYSTEM.
Para, Windows NT ó 2000: C:\WINNT\SYSTEM.
Para, Windows XP: C:\WINDOWS\SYSTEM32.

6.2.- Una vez hayamos copiado los dos ficheros mencionados, deberemos de hacer doble click sobre el fichero "INSTALL.REG".
6.3.- La operación anterior, nos habrá registrado el fichero "AVISYNTH.DLL"; si por cualquier motivo queremos eliminar la "cadena" que se ha añadido al registro de Windows, ejecutaremos el fichero contrario al "INSTALL.REG", es decir, ejecutaremos "UNINSTALL.REG" (evidentemente ésta operación no la ejecutaremos).
6.4.- El fichero de nombre "MPEG2DEC.DLL" es suficiente con crearlo en un directorio cualquiera.
6.5.- Para terminar ésta operación es necesario re-iniciar nuestro PC para que los cambios sean efectivos.

Una vez tenemos nuestro PC en disposición de utilizar el AviSynth, lo utilizaremos de la siguiente manera. Crearemos un fichero de texto "plano" (p.e. con el Wordpad del Windows), con el nombre que queramos pero con extensión "AVS" (p.e.: MpegDec.AVS).
De tal manera que en ése fichero de texto deberemos de "poner" las siguientes sentencias:

- Ruta de donde se encuentra el fichero Mpeg2Dec.
- Ruta de donde se encuentra el fichero creado con DVD2AVI con extensión "D2V".
- Cropping a utilizar sobre nuestro vídeo en formato XviD.
- Resolución elegida y Filtro a utilizar para nuestro vídeo final.

Es decir, que éstas instrucciones se traducirían de una manera escrita en nuestro fichero de texto de la siguiente manera:

LoadPlugin("C:\UTIL\MPEG2DEC\MPEG2DEC.DLL")
Mpeg2source("C:\UTIL\DIEGO\DVD\Dracula2001\DVD2AVI.D2V")
SeparateFileds  Indicar éste valor si nuestro vídeo (DVD) está entrelazado.
SelectOdd  Indicar éste valor si nuestro vídeo (DVD) está entrelazado.
Crop(4,72,716,431)
BilinearResize(640,272,0,0.75)  Para indicar un filtro "Precise Bilinear".

IMPORTANTE: Para la creación del fichero con extensión AVS, también podremos utilizar el Gordian Knot, la ventaja que tiene éste software con respecto a ésto es que te crea automáticamente el fichero AVS con las opciones deseadas tal y cómo aquí se indican. El caso es que para 5 sentencias no me da pereza utilizar el Wordpad del Windows y crear de manera "manual" un ficherito de texto :)
 

Paso 7:

Una vez construído nuestro fichero con extensión "AVS" estaremos en disposición de utilizar el VirtualDub para crear nuestro vídeo en formato XviD.

De tal manera que volveremos a ejecutar el VirtualDub, pulsaremos sobre la opción "File" y a continuación sobre "Open video file". Hecho ésto, abriremos el fichero creado anteriormente con el Wordpad del Windows (en nuestro caso, le hemos llamado "MpegDec.AVS").
Una vez cargado éste fichero (MpegDec.AVS) por el VirtualDub, usaremos la utilidad del "Job Control" para dejar todo el proceso automatizado, dado que en nuestro caso usaremos el método de las "2 pasadas" con el codec 4, en la cual, se obtienen unos resultados asombrosos :)

Dicho ésto, pulsaremos sobre la opción "Video", seleccionaremos el modo "Fast recompress" y a continuación sobre la opción "Compression...". Seleccionaremos la opción que tiene por nombre "XviD MPEG-4 Codec":

Posteriormente pulsaremos sobre la pestaña de "Configure" para decirle al codec que opciones queremos utilizar para la creación de nuestro vídeo final en formato XviD (las opciones que se muestran a continuación, están optimizadas para crear nuestro vídeo XviD, en éste caso, en un único CD. Si queremos o así lo deseamos podremos seleccionar otros posibles valores que están disponibles en la sección de Tutoriales)  

Seleccionar el modo "2-pass, 1st pass" para generar nuestro fichero "stats". y en "Advance options" configuramos la primera pasada (ver manual sobre XviD de esta misma página web) y podremos pulsar sobre la pestaña de "OK" y de nuevo pulsaremos "OK" en la siguiente pantalla.

 

 

 

 

Ahora tendremos que decirle al VirtualDub que queremos utilizar la utilidad denominada "Job Control" para así poder automatizar la doble pasada y no tener que estar pendiente del proceso. Para realizar ésta operación tendremos que pulsar sobre la opción "File" y luego sobre la opción "Save as AVI...", de tal manera que tendremos una pantalla parecida a ésta (IMPORTANTE: para que no comienze la ejecución de dicho proceso, deberemos de activar la casilla que tiene por nombre "Add operation to job list and defer processing"):


 

Pulsaremos sobre la pestaña "Guardar", pudiéndonos aparecer una pantalla informativa como la que se muestra a continuación:

Cómo podremos leer, nos está informando del aumento significativo de la velocidad en éste modo y que debemos de estar seguros de que nuestro codec soporte el formato elegido, en éste caso, recordemos "YUV". Evidentemente, pulsaremos sobre la pestaña de "Yes" dado que éste estupendo codec soporta perfectamente la entrada/salida de éste formato.

Con ésto tendremos nuestro primer proceso (creación del fichero "stats" con las características de cada frame) en la lista de jobs del VirtualDub. De manera que tendremos que volver a repetir el proceso, anterior para seleccionar el modo "2-pass, " del codec XviD. Para ello, volveremos a pulsar sobre la opción de "Video", luego sobre la opción "Compression...", volveremos a seleccionar el codec de nombre "XviD MPEG-4 Codec" y pulsaremos sobre la opción de "Configure" de tal manera que ésta vez sólo cambiaremos el modo a utilizar, en éste caso "2-pass, 2nd pass int". Ahora seleccionamos el kilobyes (Kb) que deseemos para nuestro video, y terminamos de configurar el "Advanced option..." tal y cómo muestra el manual de XviD de la página del canal.

 

Nota: Para el cáculo del tamaño del video podremos utilizar cualquier tipo de calculadora adaptada al XviD (en la versión del codec de Nic se añade una muy sencilla). También podremos utilizar programas tipo Gordian Knot, el cual (personalmente) utilizo para obtener el tamaño del video en Kb, cuando también quiero obtener la resolución para un Aspect Ratio "algo diferente a lo usual".

Pulsaremos sobre la pestaña de "OK" y de nuevo, pulsaremos "OK". Seleccionaremos la opción "File" y seleccionaremos "Save as AVI...", le daremos un nombre a nuestro vídeo final en formato XviD (el nombre puede ser el mismo que el que le dimos la primera vez) y marcaremos (de nuevo), la opción que tiene por nombre "Add operation to job list and defer processing"):

Pulsaremos sobre la pestaña de "Guardar" y pulsaremos sobre la opción "Yes" de la pantalla informativa que nos vuelve a aparecer por segunda vez, tras tener seleccionada la opción "Fast Recompress".

Tras éste proceso estaremos en disposición de que el VirtualDub nos permita crear nuestro vídeo en formato XviD con una calidad excelente. De tal manera, que pulsaremos sobre la opción "File", seleccionaremos la opción que tiene por nombre "Job control" y nos aparecerá una ventana parecida a la que se muestra a continuación:

Una vez comprobamos que tenemos los dos "jobs" que necesitamos, es decir, el "Job 1" que servirá para que se cree el fichero "LOG" con la información necesaria (frames, movimientos, etc...) de nuestro vídeo en formato DivX; y el "Job 2" que servirá para que los datos obtenidos del fichero "LOG" (tras la primera pasada), sean "traducidos" a nuestro fichero AVI en formato XviD. Pulsaremos sobre la opción "Start" de una manera automática comenzará la ejecución de nuestros dos procesos descritos anteriormente.

Tan sólo deberemos de esperar (tras un "largo" período de tiempo) que termine el "Job Control" del VirtualDub, el cual nos reflejará el estado de los procesos indicados de la siguiente manera:

Pulsaremos sobre la opción de "OK" y con ésto habremos terminado nuestro proceso para crear un MPEG-4 con el codec XviD (en modo "2-pass").
Ahora estaremos en disposición de unir el fichero de Audio (creado anteriormente con DVD2AVI), tras haberlo comprimido correctamente (si éste es nuestro caso), para de una manera inmediata unirlo al vídeo en formato XviD obtenido tras éste proceso.

Nota: Evidentemente, ésta unión del Audio y del Vídeo la podemos hacer con éste mismo programa (VirtualDub) o p.e. con el NanDub.

 

Número de visitas: 3735