COMPRESIÓN CON DIVX PRO 5.0.2 Y VIRTUALDUB

Ante todo, dar las gracias a Sagitta por este estupendo manual. Abajo del todo del manual podéis encontrar su email y dirección web si queréis contactar con él.


INDICE

1.-DivX 5. CONCEPTOS

2.-DivX 5. EL DESCOMPRESOR

3.-COMPRIMIENDO CON DivX 5

DivX 5. CONCEPTOS


Después del DivX 4, que era la alternativa al SBC, el cual tiene una configuración sencillas y una calidad bastante buena; ha aparecido el codec DivX 5. Como hasta el momento, el proceso que vamos a usar primero es el del frameserving ( puedes consultar como realizar este paso en cualquier guia)

Lo primero que tenemos que saber es que podemos descargarnos el codec de la pagina oficial www.divx.com o de la sección de CODECS de esta página. Hay 3 versiones de este codec que os voy a explicar:

DivX 5: es el codec básico, vamos a usar el Pro que nos ofrece más opciones.

DivX 5 Pro (versión de pago): es la versión de pago del codec Pro. Pagando unos pocos dolares nos dan número que introduciremos cuando vayamos a usar el codec y tendremos la licencia para poder usarlo libremente. Claramente tampoco vamos a usar este ya que si tuviesemos que pagar por todos los programas que tenemos estariamos todos en la puta ruina.

NOTA: No useis este codec con el crack que rula por ahí ya que no funciona; aunque a simple vista creais que está bien solamente teneis que hacer un video y vereis el resultado que sale. Os lo resumo en pocas palabras: "una puta mierda, todo lleno de cuadraditos".


DivX 5 Pro (versión gratis): es el mismo codec que la versión de pago, simplemente cambia que no pagamos. ¿Por qué una de pago y otra sin pago?, pues porque la "de gratis" nos instala un programa que hace que nos aparezca un banner mientras navegamos por internet. Esta es la versión que nos bajaremos y que usaremos. Ahora os explico como evitar que salga el banner. Yo todavía no lo he visto, ya que directamente lo desactivo.

Una vez bajado el codec procedemos a instalarlo:

Al instalar el codec de DivX 5 lo primero que nos daremos cuenta es que nos elimina el DivX 4. Una vez instalados los DivX 5 ya no podemos usar los DivX 4. La verdad es que sería una tontería, ya que esta versión es una evolución mas de la versión 4, con las mismas opciones pero con algunas más añadidas y un codec más optimizado.

Vamos a fijarnos en la foto de antes:

como veis pone lo siguiente: This version of DivX Pro is ad-supported software. It is part of the Gator Advertising and Information Network (GAIN).

GAIN es el programa que añaden a esta versión del codec "de gratis". Es el que se encarga de mostrarnos banners mientras que navegamos por Internet (es decir, dar por culo un poquito).

Para deshabilitarlo tenemos 2 opciones, pero antes de verlas teneis que estar desconectados de Internet o usando un Firewall que bloquee el GAIN justamente despues de instalar el codec y nos de tiempo a deshabilitarlo. Ya que no estamos conectados a Internet o que tenemos un Firewall nos vamos a var las opciones:

1era.- irnos al Boton de Inicio-->Ejecutar...

y escribimos msconfig.

Nos vamos a la pestaña que pone Inicio y nos apareceran los programas que Windows carga al iniciarse.

Tenemos que deshabilitar el que se llama gain_trickler_3202. Así hacemos que no se carge ,al iniciar el Windows, el programa que nos hacia la puñeta. Solo nos falta reiniciar el equipo y ya ta.

2da.- eliminando entradas del registro. Esta opción la usamos si no tenemos el msconfig. Tenemos que hacer lo mismo de antes Boton de Inicio-->Ejecutar...

y escribimos regedit.

Ahora tenemos que buscar y eliminar las siguientes entradas del registro (puede ser que no tengamos alguna):

HKEY_LOCAL_MACHINE\software\gator.com\
HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\stashedgef
HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\stashedgmg
HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\run\trickler

Os pongo una fotito para que veais como se hace:

Ya hemos terminado de quitar las entradas del registro. Reiniciamos el ordenador.

Una vez reiniciado podemos borrar el programa en cuestion c:\Archivos de programa\DivX\DivX Pro Codec\gain_trickler_3202.exe

La siguiente entrada del registro debe existir o no podras usar el codec:

HKEY_CLASSES_ROOT\clsid\{21ffb6c0-0da1-11d5-a9d5-00500413153c}\


En lineas generales, esta nueva versión del DivX nos da una calidad cuanto menos igual a la que nos daba (y nos sigue dando) el método SBC y el divx 4; y digo cuanto menos porque es mucho mejor. Además a mismo bitrate el tamaño final del avi es mas pequeño y con mas calidad. Tiene algunas mas opciones que la versión 4 pero la mayoria son las conocidas. Conforme van sacando nuevas versiones de este codec se va depurando y van añadiendo cosas nuevas.

DivX 5. EL DESCOMPRESOR


Vamos a ver la parte de descompresión del codec DivX 5, al ser un codec tiene compresor y descompresor. Lo primero de todo vamos a ver donde podemos encontrarlo, para ello cargamos un video en el reproductor multimedia de Windows nos vamos a Archivo-->Propiedades:

nos sale la ventana de propiedades, ahora toca irse a la pestaña Avanzadas:

como veis nos salen los filtros que se están usando para reproducir la película. El que nos interesa a nosotros ahora mismo es el DivX Decoder Filter. Lo elegimos y le damos a Propiedades:

Como veis en la foto, se han introducido mejoras en el descompresor, lo primero que salta a la vista son 3 pestañas y cada una con sus opciones. Veamos esas pestañas:

Postprocessing Settings (opciones de postproceso):


Quality Level:

Vemos una barra de desplazamiento que corresponde al nivel de calidad con que queremos ver la película. La calidad irá cambiando porque a medida que subimos la barra cada rayita, entrará un filtro que hará que se vea mejor la película. Cuando movais la barra tendreís que cargar de nuevo el video ya que no lo notaréis hasta que lo hagaís.

Antes de explicar que filtros entran en cada raya os explicaré que son los efectos de ringing (efecto Gibbs) y el de macroblock.

Macrobloques:

Son los bloques que salen en la pantalla causados por el algoritmo de compresión espacial DCT usado por el codec. Seguro que alguna vez los habeis visto y alguna vez os habrán dejado alguna peli y habreis dicho: "menuda puta mierda"; pues eso son los macrobloques. Para disimular los macrobloques está el filtro de De-Blocking.

Filtro De- Blocking:

El filtro opera a lo largo de los contornos de los bloques de 8x8, en los planos de color de luminancia (referente a la luminosidad) y de crominancia (referente al color), es decir, que suaviza los bordes entre los cuadrados y no se notan. Esto ayuda a reducir los bloques que salen en la pantalla causados por el algoritmo DCT usado por el codec.

Efecto Gibbs:

A ver como explico yo esto, imaginaros una escena donde aparezca una silueta de una persona y de fondo el cielo azul. Si os fijais en el contorno de la figura vereis que al mezclarse con el fondo queda un pequeño "ruido" en la imagen. Es decir, que no se ve del todo nítido el cambio de un objeto a otro, sino que hay como una mezcla entre ambos. Eso es el efecto Gibss o ringing. Cuanto menor calidad sea el video o menor bitrate pongamos en las peliculas, más aparecerá este efecto. Para poder corregirlo usamos el filtro De-Ringing.

Filtro De-Ringing:

Este filtro se usa, como hemos dicho, para eliminar el ruido cercano a los contornos de las formas de los objetos causado por el proceso de cuantificación del codec. Este ruido es mucho mas notable en los dibujos animados.

Como vemos la barra de desplazamiento tiene 7 posiciones. En cada posición entrará uno de los 2 filtros dichos, de una manera de proceder y se irán sumando sus efectos hasta alcanzar la posición de MAX. En la posición primera ningún filtro es usado para reproducir la película. En el cuadro siguiente vemos como van entrando los filtros y de que manera:

Post processing level
Filtro Deblocking Horizontal en luminancia
Filtro Deblocking Vertical en luminancia
Filtro Deblocking Horizontal en crominancia
Filtro Deblocking Vertical en crominancia
Filtro Deringing Horizontal
Filtro Deringing Vertical
MIN
         
1
X
2
X
X
3
X
X
X
4
X
X
X
X
5
X
X
X
X
X
MAX
X
X
X
X
X
X

Las X indican que el filtro esta activado en esa posición de la barra. En la posición de MIN no está en uso ningún filtro, como vemos cada vez que subimos la barra una raya van entrando los filtros hasta llegar a MAX donde están todos los filtros activados.

Cuanto más arriba este la barra mas filtros se estás usando y más uso de CPU hacemos. Si os va lenta la película bajar la barra. Normalmente para Pentium 3 y siguientes (y sus equivalente en AMD) usaremos el MAX. También decir que cuantos más filtros usemos más suavizamos la imagen de la película y se verá un poco menos nítida pero se evitan los bloques y el efecto Gibbs.

Film Effect:

Esta opción es nueva, no aparecía en las revisiones anteriores. Es un filtro el cual cuando está seleccionado añade ruido a la película simulando a la aparencia de las películas en un cine o en una televisión. Aunque parezca mentira esto lo que hace es incrementar la calidad visual percibida, especialmente si estamos viendo el video en una televisión en lugar de un monitor. Es una preferencia personal y solamente sabrás si usarla o no después de haber probado. Hacerlo ya vereís que curioso es este filtro. Al igual que antes recordar esto: Cuando movais la barra tendreís que cargar de nuevo el video ya que no lo notaréis el efecto hasta que lo hagaís.

Quality Settings (opciones de calidad):


Aspect Ratio:

Pues eso, la relación de aspecto del video. Sólo podremos cambiarlo si tenemos seleccionada la opción de Overlay Extended Mode.

Smooth Playback:

Si está sin seleccionar, permitirá reproducir los B-frame, codificados del video, con menor uso de CPU. Sin embargo, seleccionandola se introducirá 1 frame de retardo en el descompresor (por causa del buffering), el cual puede causar que el último frame del video no será visualizado. En mi experiencia en varios videos (por no decir todos) al poco rato se para la imagen y se produce un error del reproductor.

Yuv Extended Mode:

Cuando seleccionemos esta opción, el codec usará el modo YV12 para descomprimir en video. Es el modo más rápido para descomprimir DivX, pero no podremos usar en este modo los controles de brillo/contraste/color.

Overlay Extended Mode:

Si la seleccionamos causará que se intente visualizar el video usando el overlay de la tarjeta (es decir, por hardware) en lugar de un overlay por software. El overlay del hardware es mucho más rápido, pero no es soportado por algunas tarjetas gráficas. Cuando este modo esta habilitado, los reproductores basados en DirectShow serán incapaces de abrir más de una ventana a la vez.

Double Buffering:

Habilitando esta opción se forzará a la tarjeta de video asignar un segundo buffer para la reproducción del video. Esto incrementará la suavidad de la reproducción del video, pero no es soportado en tarjetas antiguas que tengan menos de 8 MB de RAM. En mi caso al seleccionar esta opción las películas no me las reproduce bien, puede que sea por el tipo de tarjeta gráfica (Radeon 32 SDRAM). Lo mejor que podéis hacer es probarlo vosotros mismos.

Picture Properties:

Aquí podeis configurar las propiedades de la pantalla, es decir, el brillo, el contraste y el color. Estos controles desaparecen si seleccionamos Yuv Extended Mode.

Las opciones a seleccionar dependerá de como os vaya mejor, como os digo todo el rato, teneis que probar vosotros. Yo tengo seleccionada Yuv y Overlay Extended Mode.

Force Color Mode:

Es una opción que está escondida. Buscamos en el registro de Windows la clave siguiente manualmente: HKEY_CURRENT_USER\Software\DivXNetworks\Force Color Mode. Podemos asignarle un número del 1 al 7. Esto forzará a la tarjeta de video a usar un modo de color particular, dependiendo del valor puesto. Esta opción sólo la usaremos en circunstancias raras en las cuales queremos resolver problemas de tarjeta de video. Los modos de color soportados son:

1: YV12
2: YUY2
3: YUYV
4: RGB32
5: RGB24
6: RGB555
7: RGB565

Help Page (página de ayuda):


Aquí tenéis toda la información de los creadores del codec y la página de divx. También podemos irnos a estas propiedades en Botón de inicio-->Programas-->DivX-->DivX Pro Codec-->Decoder Configuration.

 



COMPRIMIENDO CON DIVX 5


PRIMERA PASADA

Cargamos el avi (es el avi resultante al hacer el frameserving) en el VirtualDub y no en el Nandub.


Lo primero que hacemos es irnos a Audio y poner No Audio y Direct Stream Copy:

Lo de Direct stream copy y Full processing mode da igual cuando seleccionamos No audio. El direct stream copy sirve para que el sonido o video (dependiendo de si nos encontramos en Video o Audio) se quede igual que esta. Full processing mode nos sirve para cuando elijamos algún tipo de conversión o de conversión o si queremos retrasar el audio un tiempo (delay) para sincronizar el audio y video. En general, cuando vayamos a hacer algún cambio en Video o Audio pondremos Full processing mode para que los cambios que queremos hacer los haga. Si ponemos Direct stream copy aunque hayamos elegido algún tipo de compresión o algún cambio en la configuración del Video el video se quedara conforme esta, lo mismo pasa con el Audio.

Al no importarnos ahora mismo el Audio lo ponemos en No Audio.

Nos vamos a Video:

Elegimos Full processing mode y nos vamos a Compression:


En Compression tendremos que elegir que codec queremos usar, claramente será el de DivX 5:

Ahora toca configurar el tema en cuestión, así que a darle al botoncito que pone Configure:

Como siempre vamos a ver cada opcion detenidamente, las opciones están agrupadas en 3 pestañas (secciones):

DivX Codec:

Bitrate:

El compresor DivX 5.x tiene 3 modos para operar:

1-Pass Variable Bitrate Mode. El codec hará la pelicula usando el valor especificado como media, es decir, intentará mantener el bitrate tan aproximado como pueda. Asignara menos datos para escenas lentas y más datos para escenas rapidas.

1-Pass Quality Based Mode
. El compresor codificará toda la películacon la misma calidad. Cuando es usado este modo todos los frames reciven la misma cantidad de compresión, sin tener en cuenta su complejidad (si son escenas rápidas, lentas, etc...). Está opción la usaremos para capturar una película y posteriormente editarla a nuestro gusto. Garantiza la conservación de la calidad en todos los frames. Cuando usamos este modo se ajustará automaticamente el Quantizer en un porcentaje base mientras muestra el número exacto que usará para comprimir cada frame.

2-Pass (Variable Bitrate Mode). Operando en este modo la película se procesará 2 veces. Previamente a la compresión, la película es analizada para comprender su complejidad ( primera pasada), posteriormente los datos recogidos se usarán para codificarla. Así asignamos los datos más eficientemente dependiendo sí las escenas necesitan mas o menos datos. Da mayor calidad que el modo (1-Pass VBM). Este será el modo que nosotros usaremos. Podemos usar la barra para indicar el bitrate seleccionado o introducirlo mediante teclado.

Encoding Bitrate: Es la entrada del bitrate que queremos para nuestra película. Para calcular podemos utilizar cualquier calculadora de bitrates o la formula: [(MB para el video) / (duración en minutos)] * 136.53 = Bitrate La constante 136,53 tiene de donde salir, no sale de la nada. Como sabemos que el bitrate se mide en Kbps (kilobits por segundo) entonces seria: 1024 kilobytes que tiene 1 megabyte, 8bits que tiene un byte y 60 segundos que tiene 1 minuto [(1024 * 8) / 60] = 136,53 Kbps.

Esto era válido para el DivX 3 y 4 pero para el 5 al ser los tamaños de los avi resultante más pequeños hay que retocar la formulita, simplemente sube el bitrate del que te salga y según hagas pruebas sabrás cuanto subir.

Two-Pass Encoding Log Files:

Durante la primera pasada hemos dicho que se almacena la información necesaria para incrementar la calidad del video en la segunda pasada. Esta información es almacenada en el archivo que le indiquemos, es el Log File. Podemos reusar el archivo creado en la primera pasada, esto quiere decir que si hacemos una película y nuestro vecino quiere hacer la misma peli, le podriamos pasar el archivo generado en la 1era pasada y tan sólo tendría que hacer la 2da pasada.

Aparte del archivo log, tenemos la posibilidad de guardar el archivo MV (Motion Vector, Vector de Movimiento del video) contiene mas datos de la pelicula. Este archivo es el que nos ayuda a aumentar la velocidad de la segunda pasada considerablemente, ya que asi no tiene que hacer de nuevo la compensación de moviento.

Podemos usar la opción para prevenir la posibilidad de sobreescribir accidentalmente el archivo log y el MV seleccionando la opción "Protect Log/Mv File".

Usaremos los 2 archivos y si queremos podemos protegerlos o no.

MPEG-4 Tools:

NOTA: Si estamos usando el codec básico del DivX 5 (y no el Pro) no podremos usar estas opciones.

Estas opciones son las que más uso de CPU van a requerir, osea que dependiendo de cuantas opciones de estas tres (y cuales) eligamos, tardará más o menos en hacernos las pasadas.

Quarter Pel:
Los datos son reducidos cuando la diferencia entre 2 frames (error de predicción) es transmitida, en lugar de enviar una imagen entera. La diferencia en una composición sucesiva de frames es, generalmente, computada en una base de macrobloque por macrobloque (16x16 pels) o en una base bloque por bloque (8x8 pels). Por ejemplo, una parte de una imagen localizada en un bloque en la posición (1,1) puede moverse a la posicion (1,2) en el siguiente frame. DivX ha incrementado la precisión de usar un medio de pel (1.5, 1.5) para incluir la habilidad de usar la precisión "Quarter Pel" (1.25, 1.75) con este nuevo codec. Quarter Pel ejecuta un filtro específico en cada bloque para producir un bloque virtual que debería representar cómo debería aparecer el bloque original si es movido 1/4 de unidad de pixel.

Al hacer las pruebas esta opción me saba problemas, me salía muchos cuadraditos cuando habia movimiento y se veia peor. Por ahora mejor no usamos esta opción.

Global Motion Compensation:
Global Motion Compensation (GMC) ayuda a prevenir las escenas complejas donde el zooming y el panning están presentes. Reduce los datos requeridos de una frame al siguiente dentro de escenas con panning y zooming. Esto se usa para compensar eficientemente un grupo de bloques en tales escenas.

Esta opción la seleccionaremos. Alguna vez me han salido cuadrados blancos en encenas y estelas de los objetos en movimiento. Si os salen quitar esta opción, aunque ya os digo que ha sido 2 veces y haciendo pruebas. Esta opción influye en la reducción del tamaño final del video.

B-frames/Bi-directional encoding:
Hay tres tipos de frames dentro de un video DivX. Los llamados"I-frames" (Intra), "P-frames" (Predicted) y "B-frames" (Bi-directional). Anteriormente al DivX 5 los únicos tipos de frames fueron los I y P.

I-frames (Intra) son codificados solo usando informacion desde dentro de su propio frame No usa información de otros frames (compresión temporal). Un I-frame es similar en concepto a codificar un frame usando JPEG.

P-frames (Predicted) son favorables a la predición y pueden referir a un I-frame o a otro P-frame. Estos son codificados desde el frame que les precede. En cualquier secuencia un grupo de frames tendrán muchas imagenes iguales. Por ejemplo, si estais viendo algún programa donde el fondo no se mueva (o se mueva poco) se repetirá casi identicamente en cada frame (recuerda que hablamos de 25 frames por segundo en nuestra zona y de 30 en la de USA). A la hora de codificar cada uno de esos 25 frames independientemente podriamos hacerlo como un archivo de imagen JPEG y explotar la redundancia de cada frame por el uso de P-frames. Esencialmente un P-frame es un frame futuro que determina donde un bloque en el anterior frame se ha movido dentro del P-frame actual. En el momento de codificar separadamente un frame (JPEG) el frame, el P-frame solo dirá "el bloque en el anterior frame se ha movido a la localización (X,Y) lo cual requiere mucho menos datos que codificar cada frame independientemente. Esencialmente solo se transmite la diferencia entre 2 frames lo cual es mucho más eficiente que transmitir el I-frame original.

DivX Pro 5.0 introduce la capacidad de usar también "B-frames". Los B-frames permiten al codec DivX predecir frames desde el futuro, eligiendo la mejor opción de 2 frames predecidos en vez de sólo uno. Los B-frames no sólo predicen lo frames futuros sino que también predicen los frames anteriores los cuales pueden ser frames I o P. Usando B-frames reducimos la cantidad de datos necesaria para codificar un frame y mejorar la calidad, más especificamente, en areas donde los objetos que se mueven revelan areas escondidas.

Esta opción tambien la seleccionaremos para conseguir una mayor calidad. Si tenemos prisa en hacer la pelicula no seleccioneis ninguna opción, la pérdida de calidad casi no se notará en muchos de los casos y ganarás tiempo.

MP4 File Creator:

Seleccionando esta opción permitimos que la salida del video sea un archivo compatible MPEG-4, lo cual estamos siguiendo las normas ISO (ISO/IEC 14496-2).

Quick Config CLI:

En vez de elegir las opciones podemos poner la linea de comando relacionada con las opciones. Ver Inteface de la Linea de Comandos (CLI).

 

General Parameters (opciones generales):

Enable Crop:

El "Cropping" se usa para remover los bordes innecesarios (bordes negros), los cuales no necesitamos y si los dejamos el codec gasta tiempo y datos en codificarlos (son datos innecesarios). Estos bordes suelen aparecer en peliculas con formato Widescreen (pantalla ancha) o Letterboxed (subtituladas). El cropping quita los bordes que no deseamos que aparezcan en nuestra película. Si usamos el cropping tenemos que especificar la cantidad de pixels que queremos quitar de cada borde.

Enable Resize:

El Resize permite codificar el video original a una resolución especificada por nosotros. Dependerá del entorno y la aplicación para la que queremos usarla. Por ejemplo, si queremos hacer un video que queramos usar para poner en una web o como conferencia la resolución (y el bitrate) deberá ser pequeña. Hay 4 opciones para el "Resizing":

Bilinear (Very Soft)
Bicubic (Soft)
Bicubic (Normal)
Bicubic (Sharp)

Desde el punto de vista matemático, decimos que el algoritmo bicúbico es mejor cuando queremos usar una resolución mayor que la original y el bilinear es mejor cuando queremos usar una resolución mas pequeña que la original. Sin embargo, usando bilinear para resoluciones menores que la original nos da un acabado más nítido de la película, aunque hace más uso de la CPU. Si os habeis dado cuenta cuando hacemos una película con bilinear el resultado final parece como si no estuviera del todo nítida, como si tuviese un filtro de suavizado (very soft); este efecto desaparece cuando usamos el bicúbico. Al mismo bitrate usando el bilinear y el bicúbico, este último, nos suelen dejar los contornos de los objetos con ruido, es lo que se llama "Ringing" (tambien efecto Gibbs). Por eso tendremos que usar más bitrate que usando el bilinear. Dentro del bilinear tenemos 3 opciones: soft, normal o sharp. La última (sharp) es la que más calidad de imagen da, más nitidez y la primera (soft) se acerca mas a la bilinear (con su correspondiente pérdida de nitidez, aunque mejor que la bilinear). El elegir el filtro dependerá del gusto de cada uno.

He probado estos filtro que vienen integrados en el codec y los he comparado con los mismos filtros pero usandolos fuera del codec, es decir, como lo haciamos antes; y el resultado en tiempo y calidad es el mismo (por lo menos para mí y en mí equipo).

NOTA: para reducir considerablemente el tiempo de compresión del video en las 2 pasadas (que no la calidad, porque es la misma) elegimos en Video la opción de Fast Recompress. Al seleccionar esta opción desaparecerá la opción de Filters, es decir, que no podremos usar los filtros en el Virtualdub. Para solucionar esto lo único que tenemos que hacer es usar los filtros descritos anteriormente de Resizing y Cropping que nos ofrece el propio codec. Yo normalmente hago el cropping en el DVD2AVI y así ya me lo quito de encima y ganó un poco mas de tiempo a la hora de comprimir la peli. Luego el resizing lo configuro en el codec. A veces en el DVD2AVI al hacer el cropping se come un poco de lineas de la película, entonces es cuando hay que usar el cropping del codec.

Las pruebas que hecho son las siguientes:

Prueba sobre 7061 frames (282,44 segundos --> 4:42) a 1000 kbps de Bitrate, en el VirtualDub 1.4.9:

simios_fast_1.avi: --------------------simios_fast_2.avi:
Primera pasada Fast Recompress ----Segunda pasada Fast Recompress
Tiempo 5:15 -------------------------Tiempo 3:52
Tamaño 172 Kb ---------------------Tamaño 34.666 Kb
FPS 22,4158 ------------------------FPS 30,4353

simios_normal_1.avi: -----------------simios_normal_2.avi:
Primera pasada Normal compress ----Segunda pasada Normal compress
Tiempo 5:18 -------------------------Tiempo 4:01
Tamaño 172 Kb ---------------------Tamaño 34.666 Kb
FPS 22,2044 ------------------------FPS 29,2987

simios_full_1.avi ----------------------simios_full_2.avi
Primera pasada Full compress --------Segunda pasada Full compress
Tiempo 6:22 -------------------------Tiempo 4:54
Tamaño 172 Kb ---------------------Tamaño 34.666 Kb
FPS 21,9285 ------------------------FPS 23,8547

Psychovisual Enhancements:

Para explotar lo que conocemos sobre el Sistema Visual Humano (Human Visual System, HVS) se ha incrementado la eficiencia de la asignación de datos del video, ayudando a incrementar la percepción de calidad en el video final. Por ejemplo, si el sistema visual humano es muy poco sensible a un tipo especifico de caracteristicas en una imagen, podemos decrementar la cantidad de datos en esa localización y reasignarlos a otra localización dentro de la imagen donde el sistema visual humano se mucho más sensible. Las mejoras Psicovisuales son aplicadas a ambas bases, la de los frames y la de los macrobloques. Uno de los factores mas importantes en la evaluación del Modelo Psicovisual no es solo comparar un único frame sino comparar una secuencia completa. Una imagen puede verse peor o mejor cuando un único frame es examinado pero la clave para reducir datos está en el camino de que el sistema visual no tiene noticia sobre una secuencia de video ejecutandose a una relación alta de frames por segundo, el ojo humano no es capaz de percibir más de 30 frames por segundo, aunque en verdad el ojo humano lo perciba y lo procese nuestro cerebro, nosotros no nos damos cuenta (es lo que se llama imagenes subliminales, de ahí la publicidad subliminal que a veces se usa). El modelo Psicovisual aplicado al campo de videos o películas es un campo lleno de posibilidades y sólo se han integrado unas caracteristicas en esta versión de DivX.

En la versión 5.0.2 han retocado esta opción ligeramente. Hasta ahora no servía para mucho pero ahora debería decrementar los macrobloques en videos donde hay regiones negras y areas lisas de colores.

Probar vosotros mismo.

Pre-Processing Source:

Al ruido del video a menudo le llamamos como "manchas", "niebla", "suciedad" o"nieve" (p.e. "nieve" o "niebla" es visible cuando vemos la TV usando una antena de esas de cuernos que todo el mundo conoce). Muchos de los procesos a los que se ven sometidos los videos en su producción y distribución añaden ruido. Algunos de los videos que tienen más ruidos son las peliculas antiguas o las grabaciones caseras. El ruido puede ser un gran problema, cuando vamos a comprimirlo consume mucha cantidad de los bits disponibles para codificar el video.

El filtro preprocesador usa técnicas de proceso de señal digital para quitar el ruido del video original antes de codficar. Hay 2 clases de filtros que pueden reducir el ruido: temporal y espacial. Para explicar como trabajan, vamos a considerar un pixel cualquiera de una imagen. El filtro espacial mira los pixeles vecinos dentro de los pixeles del propio frame (imagen) y aplica un suavizado, o una funcion pasa-baja (low-pass). Un filtro temporal suaviza los pixeles en la misma posicion en unos cuantos frames consecutivos para reducir el efecto de ruido. Usando estass tecnicas para reducir el ruido antes de codificar el video podemos, en cierto contenido, incrementar nuestra compresion (bitrate) y mejorar la calidad.

Hay 4 opciones para el preproceso:

Light (debil)
Normal
Strong (fuerte)
Extreme (extremo)

Como con todas las opciones esta es particular ya que puede ser afectada por otras. Generalmente el tratamiento de los ruidos puede causar efectos dramaticos en la reduccion del tamaño y la calidad. La opcion "Normal" no deberia introducir ninguna degradacion visual del video origen, sin embargo la opcion "Light" introduce una pequeña degradacion del ruido y de la calidad respecto del original, las opciones "Strong" y "Extreme" lavaran mas la imagen respecto del original, sin embargo esto quita mucha cantidad de datos y y debera ser usado cuando el tamaño del archivo es mas importante que la calidad.

Esta opción no hace falta usarla a nos se que tengamos una pelí muy vieja y se note mucho. Si la teneis que usar probais los distintos modos en un trozo de película (2 minutos de peli mas o menos) haciendo las 2 pasadas y la que mejor se ajuste a tu gusto y calidad, esa usais.

Keyframe:

El compresor DivX insertara automaticamente un key frame cada vez que detecte un cambio de escena. A veces no se producen cambios de escena en intervalos largos de tiempo, y cuando esto ocurre, se insertara un key frame pasados los frames que hayamos especificado. Los keyframes son los mas grandes de todos lo frames, por lo que la frecuencia con la que aparezcan puede tener consecuencias en al archivo comprimido. Por defecto aparece 300 frames como el intervalo maximo en el cual sino se ha producido un cambio de escena se insertara un keyframe, es lo mismo que decir que se insertara un keyframe cada 12 segundos en una pelicula de 25 frames por segundo en la zona europea o cada 10 segundos en las zonas donde sean a 30 frames por segundo. Tambien, dependiendo del reproductor usado, el maximo intervalo de key frame puede determinar el maximo intervalo para la buscar. Esto ocurre cuando los reproductores son diseñados para buscar "I" o keyframes. Reduciendo el intervalo de los keyframe podemos mejorar la calidad y la busqueda de los reproductores, aunque tambien haciendo un abuso de ellos nos puede aumentar bastante el tamaño final del video.

Como siempre decimos un valor de 100% trabaja bastante bien, si la peli tiene muchas escenas oscuras bajamos un 10% o un 20%.

Intelligent De-interlace/Inverse Telecine (Source Interlace):

EL entrelazado, inventado en 1940, es probablemente la forma mas temprana de la compresione de video. En lugar de transmitir 60 frames cada segundo, los ingenieros descubrieron que podian partir el ancho de banda necesario por la señal de TV si enviaban alternativamente "campos" impares y pares, cada campo comprimia solo las lineas pares o impares de la imagen. Por ejemplo, el entrelazado es comun encontrarlo en material destinado para TV de difusion.

El entrelazado no es un problema si es mostrado correctamente en un dispositivo que sea capaz de reproducir este tipo de compresion, por ejemplo una television. Una camara de video funciona a 30fps captura las lineas numeradas impares de un frame en 1/60 de segundo, y las pares en otro 1/60 . Cuando los vemos en un reproductor progresivo, como el monitor de PC, los dos campos son entrelazados para crear un frame. Como la mitad de las lineas son capturadas en una fraccion de segundo mas tarde que la otra mitad, los objetos que se muevan rapidamente pueden aparecer como mellados (serrados), es el resultado de avanzar ligeramente el objeto dentro de 1/60 de segundo. El formato "progresivo" es preferido para los monitores de los PC desde que el frame entero es capturado y no necesita desentrelazarlo mas tarde.

Es posible quitar el efecto de diente de sierra ¿bordes mellados? que se producen en los objetos en el entrelazado aplicando un proceso conocido como "desentrelazado" del video. El codec DivX es capaz de desentrelazar el video antes de comprimirlo. Para que esto funcione correctamente, es importante que el video no haya sido redimensionado "resizing" verticalmente por una fuente externa al codec. Haciendo resizing dentro del codec no afecta a la operacion de desntrelazado del propio codec.

Inverse-Telecine, o llamado "IVTC", es aplicable al film cinematografico ¿pelicula? que ha sido convertida a video NTSC video. Las peliculas son fotografiadas a 24 frames por segundo (fps), y las zonas donde el NTSC es el standard es 30 fps. La conversion de pelicula a video (llamada"telecine") duplica algunos campos (frames) del video para sacar el framerate del formato NTSC. IVTC es el proceso de quitar los campos duplicados insertados en el proceso "telecine".

El codec DivX™ tiene 3 opciones para el desentrelazado y el IVTC:

1.- "All frames are progressive" - Esta es la opcion por defecto cuando el desentrelazado y el IVTC no vamos a usarlo. La usamos para las peliculas que ya estan en formato progresivo.
2.- "All frames are interlaced" - El codec usa un algoritmo adaptado para desentrelazar cada frame antes de redimensionar (resizing) y comprimir. El video no debe ser cortado (cropping) o redimensionado (resizing) antes de comprimirlo. Si usamos la opcion de resizing que viene en el propio codec no produce problemas.
3.- "Are frames are telecine" - Con esta opcion, el codec activa el proceso de IVTC.

Top Field First: Permite al codec ser usado con las tarjetas de video que tienen sus campos al revés (por ejemplo, primero el campo de encima (top field) en vez de primero el campo de abajo (bottom field)). Seleccionando esta opción le estaremos diciendo al codec que tenga en cuenta el orden de los campos durante el proceso de IVTC.

Dependiendo de tus necesidades elige la más conveniente, pero lo más normal es que usemos la de All frames are progressive.

Notaciones sobre esta sección:

i) Solo si esta activa la opcion "MP4 file output", el compresor escribe un archivo dummy (extension .divx).
ii) El video no debe ser cortado o redimensionado antes de comprimir.Redimensionar dentro del codec no causa ningún tipo de problema.
iii) Una opcion más de desentrelazado esta disponible para los usuarios que les importa más la velocidad de compresion que la calidad: "Basic Video Deinterlace". Esta opcion no debe ser usada cuando redimensionamos. Selecciona la opcion "All frames are progressive" cuando uses "Basic Video Deinterlace".

 

Advanced Parameters (opciones avanzadas):

Data Rate Control (RC):

Maximum and Minimum Quantizers:
El cuantificador es uno de los parámetros más importantes en la compresión de video. Controla como codifica el video. La regla es: para el mismo frame, un pequeño cuantificador da mejor calidad y mayor consumo de bits mientras que un gran cuantificador da peor calidad y menor consumo de bits. Si estas familiarizado con el Nandub se refiere a los DRFs.

Maximun quantizer:
Es el límite superior para el nivel de compresión, es decir, cuanto mayor sea el número mayor será a compresión de los frames. Nunca los comprimirá a más de los que hemos indicado. Esto afecta al tamaño final, el cual será menor pero la calidad será también peor. Por defecto viene en 12 y la verdad así nos salen bien las peliculas, pero recomiendo que lo pongais a 8, de esta manera ocupará un poco más el archivo pero la calidad será mayor. Se comprimirán en estos valores los frames de escenas lentas.

Minimun quantizer:
Este es el límite inferior que los frames van a tener. A menores números menos comprimirá los frames y por lo tanto la calidad será mayor pero el tamaño final de la película también lo será. Yo lo pongo a 2, que es valor por defecto. Podeis ganar espacio si lo subis un poco, por ejemplo a 4, pero si veis que os salen cuadrados en la peli lo bajais. Afectarán a los frames de escenas rápidas los cuales se comprimen menos para mayor calidad. Si la película tiene mucha acción dejarlo en 2.


Como comprenderéis no tiene sentido poner los mismos valores en los cuantificadores ni poner el mínimo mayor que el máximo (en este caso todos los frames lo comprimirá al valor del cuantificador máximo).

RC Averaging:
Rate Control Averaging controla como de rápido el RC olvida la historia del rate. Valores altos, normalmente, hacen que se vean mejor las escenas rápidas y peor las lentas.

Rate control control averaging period, frames:
Es la cantidad de frames que el codec mira para determinar el bitrate del frame actual para codificar. Si en los frames anteriores se ha usado mucho bitrate el codec tiene que codicar el frame actual a menor bitrate para que la media del bitrate de los frames sea lo más cercana al bitrate que le ponemos nosotros. El valor por defecto, que es 2000 frames, es un valor bastante bueno. Incrementando este número debería tambien incrementar la calidad (así no habría entre los frames un valor de bitrates demasiado diferentes), pero si lo subimos demasiado el codec no será capaz de adaptar el low/fast motion a los cambios de escena con lo que no sabremos el tamaño que nos saldrá del fichero.


Rate control reaction period, frames:
Indica como de rápido el codec reaccionará ante escenas recientes. Valores altos indica que el codec se adaptará rapidamente a las nuevas escenas. Las escenas lentas se verán peor. RCR afecta a como los quantizer se adaptarán a los cambios. Dejar el valor por defecto (10 frames).


Rate control down/up reaction:

RC Down/Up Reaction - controla la sensibilidad para diferenciar entre escenas rápidas y lentas (cantidad de acción entre escenas). Valores pequeños hace que el codec sea más sensible a los cambios. Si lo ponemos muy bajo el coedc usara muchos bits, los que piense que necesita la escena y nos podrá salir un fichero más grande en tamaño de lo que esparabamos. Tampoco useis valores muy altos. EL valor por defecto de 20 trabaja bastante bien.

Todos estos parámetros están interrelacionados. El efecto de estas opciones es aproximado y puede que les afecte la configuración de otros parámetros. Los valores por defecto son los que han hecho el DivX consideran que son los óptimos para la mayoria de los videos (películas para nosotros).

Data Partitioning:

Data partitioning (partir los datos) puede ser usado en cualquier situación donde pueden ocurrir errores de transmisión, tal como en entornos de difusión o un streaming (poner un video online). Data Partitioning es una via diferente para organizar los datos en el video online (stream). Un frame está compuesto de un macrobloque adyacente y cada macrobloque, normalmente, incluye un vector de video (de predicción,es el motion vector) e informacion de textura. Esto permite al stream estar mejor preparado para los errores de transmisión, en esta modalidad el y la textura son separadas (no entrelazadas en cada unico macrobloque) y agrupadas en paquetes. Cada paquete es una entidad independiente dentro del stream y puede ser decodificada por separado. EL uso de Data Partitioning puede tambien permitir la activación de una derie de herramientas que permiten recuperar los errores y resincronizar los paquetes. Esta opción estás más claro que el agua que no vamos a utilizarla para lo que queremos hacer.

Performance/Quality:

Hay 5 opciones disponibles para Performance/Quality. Representa cuanto tiempo gasta el codec en la compresión de cada frame.Cuanto más calidad queramos mas CPU necesitamos. La opción Slowest produce la mejor calidad. Deja este parametro en Slowest.

DivX MP4 Creator:

Sirve para convertir un archivo de video DivX AVI versión 5.0 o mayor a un archivo DivX encapsulado en el formato DivX MP4. Seleccionamos el archivo DivX AVI y el nombre y path del archivo DivX MP4 al que lo queremos convertir. Le damos a Convert y tardará un rato. Podemos crear un log file que incluye información sobre los frames, el audio, el video, resolución y frames por segundo. Ya hay herramientas para unir audio a estos archivos pero no tenemos todavia aplicaciones para editar estos archivos (será cosa de esperar). En los foros la gente que tiene ordenadores no muy rápidos dicen que aumentan la fluidez de las peliculas al reproducirlas en este formato, respecto al mismo video sin usar el formato MPEG-4 verdadero (DivX AVI, de toda la vida). En este formato la búsqueda dentro de estos videos es muchisimo más rápida (instantanea) tanto echando hacia atrás el video como hacia delante.

Manage Settings (Gestión de configuración):

Para salvar nuestras configuraciones y usarlas más tarde.


Para añadir configuraciones tenemos que darle a Add codec settings y nos saldrá la ventana, que he metido dentro de la foto de arriba, New entry. En Name ponemos el nombre con que queremos guardar las opciones y en Description podemos poner cualquier comentario.

 

Una vez configurado todo le damos a Aceptar y luego a OK en la ventana de elegir los codecs y ya tendremos configurada nuestra Primera Pasada.

Aquí meteriamos los filtros necesarios si los necesitamos pero para usar la opción de Fast recompress no podemos meter filtros en el Virtualdub.

Y para terminar File-->Save As AVI:

Le damos a Guardar y empezará a hacerse la primera pasada.

Si hemos usado la opción de Fast recompress no saldrá la siguiente ventana:

esta ventana nos indica que estamos usando la opción de Fast recompress y que tengamos cuidado porque patatin, patatan y chimpum y pataplaf, es decir, que no hagamos ni puto caso y le damos a Yes para continuar.

Nos generará el archivo Log que es donde están todos los datos recogidos en la pasada, también nos aparecerá un archivo .avi pero que ocupa muy poco y no sirve para nada.

 

Segunda Pasada:

Para la segunda pasada ponemos las mismas opciones que en la primera pasada y simplemente cambiamos lo siguiente:

- indicar que haga la segunda pasada (2-pass, second pass)

- indicar los archivos log y MV que se han creado en la primera pasada (o que se van a crear si vamos a hacer las 2 pasadas seguidas usando el Job Control)

Le damos a OK y ya tenemos configurada la 2da pasada.

Ahora meteriamos los filtros necesarios en el Virtualdub, si los hemos puesto en la primera pasada y configurados igualmente. Recordad que normalmente no vamos a usar los filtros en el Virtual sino que vamos a usar los del codec porque sino no podemos usar la opción de Fast recompress.

Ponemos en Audio las opciones de No Audio y Direct Stream Copy:

En Video ponemos Fast recompress (sino usamos ningún filtro en el Virtualdub):

Si hemos decidido usar los filtros del Virtualdub (mal hecho porque tardará más) entonces tendremos que poner Full Processing Mode:

Y para terminar File-->Save As AVI:



Le damos a Guardar y empezará a hacerse la segunda pasada.

Nos generará el archivo Log que es donde estañ todos los datos recogidos en la pasada, también nos aparecerá un archivo .avi pero que ocupa muy poco y no sirve para nada.

 

NOTACIONES GENERALES:

Como aclaración para la gente que no sabe si los archivos de la primera pasada les puede servir para la segunda pasada deben tener encuenta las siguientes lineas:

Algunos parámetros necesitan mantenerse constante entre las 2 pasadas para poder usar el Motion Vector (que es el archivo que hace que la segunda pasada nos tarde menos). Esencialmente, cambiando uno de estos parámetros entre la primera y la segunda pasada podrá salirnos mal la compresión del video:

  • Quarter Pixel

  • GMC

  • Bidirectionnal Encoding

  • Psychovisual Enhancement

  • Crop/Resize

  • Max Keyframe Interval (ignorado durante la 2da pasada)

  • Scene change threshold (ignorado durante la 2da pasada)

  • Source Interlace

  • Data Rate Control parameters

  • Data partitioning

  • Performance/quality


Los únicos dos parámetros que pueden ser cambiados sin miedo entre ambas pasadas son:

  • Bitrate (si la variación se mantiene como límite en un 30% , por ejemplo si en la 1era pasada hemos puesto 1000kbps, la 2da no deberiamos pasarnos entre 700kbps y1300kbps).

  • Pre Processing Source

 

Usando el Job Control:

Vamos a usar el Control de Trabajos cuando queramos hacer las 2 pasadas directamente sin tener que esperar a hacer la primera para seguidamente hacer la segunda. He incluso para dejar muchos trabajos en la cola de trabajos y hacer si queremos 3 peliculas seguidas.

Si queremos hacer las 2 pasadas seguidas hacemos lo siguiente, configuramos la 1era pasada como hacemos normalmente y le damos a File-->Save As AVI, ponemos el nombre del avi resultante de la primera pasada (recordad que no sirve para nada y podemos sobreescribirlo en la 2da) y antes de darle a Guardar pinchamos en la opción de Add operation to Job List and defer processing (añadir a la lista de trabajos):

Así no empezará a hacerse la primera pasada, pero se queda grabado todo, configuraremos la 2da pasada y haremos lo mismo que antes; guardar el archivo y darle a añadir a la lista de trabajos:

Ya hemos añadido a la lista las 2 pasadas.

Para ver los trabajos que tenemos en la lista nos vamos a File-->Job Control:

Vemos que los trabajos están en estado de espera (Waiting), pulsamos en Start (sin miedo) y empezará a hacer la primera pasada, cuando acabe seguirá con la segunda.

Para ver la ventana de información le damos a Show status window en la ventana principal del Virtualdub:

Pues como todo cuento hemos llegado al final. Que lo disfruteis y sobre todo que sirva para algo.


Autor: Sagitta
sagittaq2@hotmail.com
Web de Sagitta
Foro de Sagitta