Shugo77
"Lo importante... es como juegas tus cartas."

Configuración del codec XviD


Hola identiqueros  comparto este tutorial para todos aquellos que, al igual que yo, se encuentran con la sorpresa de que su dvd lee algunas peliculas (o videos) en formato .avi y hay determinados "avi" que no lee. En este tutorial se explica como configurar el codec xvid para convertir dicho video (el que el dvd no lee) para que pueda ser leido por cualquier dvd de mesa (Siempre y cuando dicho dvd soporte el formato avi).

Sin mas que decir, pasemos al tuto



Introducción al codec XviD

XviD es un codec de vídeo gratuito y de código abierto, desarrollado por programadores de todo el mundo, que cumple el estándar MPEG-4 ASP. Trabaja realizando compresiones con pérdida, es decir, aquéllas donde la copia una vez comprimida es distinta byte a byte que el original, y habitualmente de menor calidad (salvo algunos casos donde, con el uso de filtros de imagen, se pueden conseguir arreglar determinados defectos de un vídeo). Afortunadamente, utilizando un buen programa de compresión y las configuraciones adecuadas, esta pérdida llega a ser indistinguible y permite comprimir una película DVD al tamaño de un CD con una calidad similar.

Este proyecto, al igual que DivX, surgió a partir la cancelación del proyecto OpenDivX en el año 2001. Sin embargo, tomó un camino distinto a DivX: mientras éste empezó a comercializarse, XviD quedó como proyecto de software libre. Actualmente, su uso supera con creces al DivX. El hecho de que XviD sea un proyecto gratuito de software libre, las grandes posibilidades de configuración que ofrece, y el ser compatible con todos los reproductores DivX, han tenido gran culpa de ello.

A continuación vamos a ver cómo configurar este codec para hacer compresiones con otros programas, pues un codec por sí mismo no es capaz de comprimir vídeo: tiene que ser usado a través de otro programa que le vaya proporcionando el contenido a comprimir. Así, podremos hacer por ejemplo conversiones de DVD a AVI con DVD2AVI o Gordian Knot, recomprimir un vídeo con VirtualDubMod, etc., de manera que este manual nos va a servir de referencia en otros manuales de MundoDivX & H264.


¿Qué vamos a ver?

Vamos a dividir el manual en dos partes diferenciadas. La primera será una configuración general aplicable siempre que deseemos hacer una compresión, y en ella describiremos la mayoría de opciones que tiene este codec. Después veremos la configuración particular para hacer compresiones a una o dos pasadas. Bien, empecemos.


Configuración general

Al abrir la configuración del codec nos encontramos con una ventana con una serie de campos y botones desde los que se accede a todas las opciones de configuración. Ahora iremos viendo los apartados Main SettingsZones y Moreuno por uno. Por otro lado, es muy recomendable hacer clic sobre Load Defaults antes de empezar una configuración nueva, ya que así se borran las configuraciones anteriores que pudiera tener el codec y queda como recién instalado. De esta forma, se arregla el error Statsfile not found que a veces provoca XviD al hacer compresiones a dos pasadas, y que ocurre a veces cuando cambiamos de programa de conversión (como por ejemplo al pasar de hacer una compresión con Auto Gordian Knot a otra con VirtualDubMod) y se nos olvidan modificar algunas opciones del codec.




Apartado Main Settings

Dentro del apartado Main Settings existen unas configuraciones por defecto del codec que podemos elegir desde la opción Profile @ Level, y que automáticamente ajustarán la mayoría de parámetros de compresión al perfil elegido. No obstante, recomendamos elegir la opción (unrestricted) para eliminar cualquier restricción en la configuración del codec (añadamos que toda la configuración del codec explicada en este manual será compatible con los reproductores de salón). Las opciones de Encoding type y el botón Target bitrate (que puede cambiar si se hace clic en él) las explicaremos más adelante cuando analicemos la configuración particular para una o dos pasadas.

De momento veamos la opción more situada a la derecha de Profile @ Level. Al hacer clic sobre dicho botón, se abre una nueva ventana con bastantes opciones que pasamos a comentar:

* Profile @ Level: similar a lo que ya habíamos indicado antes.
*Quantization type: nos permite elegir la matriz de cuantificación. La opción H.263 permite obtener archivos más pequeños a costa de reducir su calidad (menor nivel de detalle), mientras que la opción MPEG sirve para conservar mejor la calidad original pero en archivos de mayor tamaño. Para obtener la mejor calidad, recomendamos utilizar esta última opción. Existe también la opción MPEG-Custom para poder editar manualmente la matriz de cuantización, pero no es objetivo de este manual profundizar en ello.
*Adaptative Quantization: esta opción permite ganar en compresibilidad mendiante la eliminación de detalles en el vídeo que suelen pasar desapercibidos para el ojo humano. Recomendado activarla, para lo cual tenemosLuminance-Masking (aumenta la compresión en áreas claras y oscuras) y Variance-Masking (hace uso del algoritmo VAQ, Variance Adaptive Quantization, cuyo objetivo es establecer la compresión óptima de cada macrobloque del vídeo).
*Interlaced Encoding: cuando vayamos a comprimir un vídeo que originalmente está entrelazado, y no hayamos añadido ningún filtro de desentrelazado, la activación de esta opción indicará al compresor que trate los dos campos entrelazados por separado. Normalmente la dejaremos desactivada, ya que en los programas de conversión suelen existir filtros para desentrelazar las fuentes entrelazadas.
*Quarter Pixel: permite activar el Q-Pel, que mejora la calidad y fluidez de los objetos en movimiento en la distancia. Esta opción no es compatible con una buena parte de reproductores DVD de salón, así que se recomienda no activarla.
*Global Motion Compensation: activa el GMC, útil para mejorar la calidad de las escenas con mucho movimiento. También es una opción que puede dar problemas de compatibilidad, así que recomendamos no activarla.
*B-VOPs: permite o no el uso de frames bidireccionales (tipo B) junto a los frames predictivos (tipo P) y keyframes (tipo I), dentro de las secuencias GOP del vídeo. Normalmente la activaremos.
*Max consecutive BVOPs: máximo número de frames B consecutivos que puede haber. Para mejorar la compresibilidad se recomienda poner 2, pero no un valor superior para no mermar la calidad.
*Quantizer ratio: esta opción determina la relación de compresión entre los frames B y los frames P (siendo los B los que más se comprimen). Recomendamos utilizar el valor 1.62 en vez del que viene por defecto.
*Quantizer offset: permite compensar el cuantizador. Lo dejaremos en 0.00 para no utilizarlo.
*Packed bitstream: cambia el orden de los frames en las secuencias GOP del vídeo. Es una opción que puede traer problemas durante la reproducción así que recomendamos desactivarla.
*Closed GOV: hace que siempre se use un frame tipo P antes de un frame tipo I (keyframe). Esta opción debe estar siempre activa

.


En la pestaña Level nos mostrará las limitaciones del perfil seleccionado, que en nuestro caso al haber seleccionado el perfil sin restricciones, no tendrá ninguna. Por último, en la pestaña Aspect Ratio podemos modificar la relación de aspecto de los píxeles del vídeo (Pixel Aspect Ratio). Es una opción que no aconsejamos modificar, así que lo dejaremos en Square (default). Ahora haremos clic en Aceptar para volver a la ventana principal del codec.


Apartado Zones

El apartado Zones nos permite establecer intervalos del vídeo con distinta configuración de compresión. En otras palabras, permite aplicar unas opciones de configuración distintas según qué parte del vídeo indiquemos. Una posible utilidad sería la de comprimir con menor calidad los créditos de la película y así ganar espacio. Sin embargo, aunque es una opción interesante también es cierto que normalmente no necesitaremos de ella y bastará tener creada una única zona, la que viene por defecto.

Veamos qué nos ofrece Zone Options. Al hacer clic en este botón se abre otra ventana con más opciones:

*Start frame #: número de frame donde empieza la zona seleccionada. Como la mayoría de veces sólo habrá una zona, pondremos el frame cero.
*Weight: establece el porcentaje de bitrate que se usará en la zona seleccionada. Por ejemplo, un valor de 0.50 indicará que en esa zona se usará la mitad de bitrate que el total del vídeo. En nuestro caso pondremos 1.00 ya que la mayoría de veces sólo vamos a poner una zona.
*Quantizer: opción similar pero estableciendo el cuantizador. Normalmente desactivada.
*Begin with keyframe: hace que el primer frame de la zona sea un keyframe. Recomendamos activarla para que el vídeo comience con un keyframe y así podamos ver el icono de vista previa en Windows, además de evitar el molesto aviso "nothing to output bframe decoder lag" al abrir el vídeo en VirtualDubMod.
*Cartoon Mode: opción que es recomendable activar sólo cuando estemos comprimiendo dibujos animados.
*Grayscale encoding: normalmente desactivada, ya que su activación hará que la compresión se haga en blanco y negro.
*Chroma optimizer enabled: permite mejorar los contrastes entre dos colores distintos evitando en parte la aparición de "dientes de sierra". Es recomendable activarla.
*BVOP sensitivity: a mayores valores el codec es más propenso a la inserción de frames tipo B, y a menores valores (incluso negativos) sucederá lo contrario. Un pequeño valor positivo (en torno a 5) puede ser buena opción, y si no podemos dejar el valor 0 que viene por defecto.




Apartado More

En este apartado, la opción Quality preset permite cargar un perfil predefinido de calidad, pero lo vamos a personalizar así que seleccionamos (User defined) y hacemos clic en el botón more a su derecha. Se abrirá una ventana con dos pestañas. Ahora veremos qué opciones hay en la pestaña Motion:

*Motion search precision: establece la precisión de búsqueda de movimiento. Es una opción que toma poco tiempo de procesador así que podemos ponerla al máximo nivel (opción 6 - Ultra High).
*VHQ mode: realiza una búsqueda más precisa sobre los frames P. Recomendamos ponerla al máximo nivel (opción4 - Wide Search).
*VHQ metric: afecta a cómo se calcula la diferencia entre la imagen original y la comprimida. Hay dos métodos:PSNR (metric = 0) y PSNR-HVS-M (metric = 1), estando este último más optimizado para el sistema visual humano y por tanto es la opción que recomendamos.
*Use VHQ for bframes too: hace que los frames B también se vean afectados por la anterior opción, por lo que activaremos esta opción.
*Use chroma motion: esta opción es recomendable activarla para tener una búsqueda de movimiento más precisa.
*Use 4MV: esta opción mejora la compresión al utilizar 4 vectores de movimiento por macrobloque, por ello se recomienda activarla.
*Turbo: al utilizar las opciones de Quarter pixel o B-VOPs, simplifica sus cálculos y acelera el proceso de compresión, siendo la diferencia de calidad inapreciable. Si estas opciones no se usan, no tiene apenas efecto. Recomendado activarla.
*Frame drop ratio: este valor tiene que estar siempre a cero para evitar la pérdida de frames.
*Maximum I-frame interval: los keyframes permiten buscar escenas de la película rápidamente, pues cuando buscamos una escena siempre la secuencia de vídeo empieza a reproducirse en un keyframe. Los keyframes se insertan de forma automática cuando se detecta un cambio de escena, pero puede ocurrir que los cambios de escena estén muy separados, por lo que sería interesante poner un keyframe en mitad de una escena. Esta opción establece la máxima distancia (medida en frames) que puede separar dos keyframes. Se recomienda insertar al menos un keyframe cada 10 segundos, por ello usaremos 250 para vídeos a 25 fps, 300 para vídeos a 29.97 fps, 240 para vídeos a 23.976 fps, etc.




En la pestaña Quantization encontramos los cuantizadores mínimos y máximos para los fotogramas de tipo I, tipo P y tipo B. La configuración más habitual recomendada es 2-31-2-31-2-31 (2 de valores mínimos y 31 de valores máximos). La casilla Trellis quantization permite hacer un examen de cuantización más completo y mejorar así la calidad; por tanto, activarla.




Other Options

El último apartado de la configuración general corresponde a la que podemos abrir pulsando el botón Other Options de la ventana principal del codec. Nos aparecerá otra ventana con tres pestañas:
*Encoder: permite establecer el código fourcc utilizado por el codec, que (normalmente) será siempre XVID. La opción Print debug info on each frame está pensada para depuración de los desarrolladores así que la desmarcamos, y la opción Display encoding status abrirá una ventana de estado mientras se está comprimiendo para ver los cuantificadores usados, el tipo de frames usados y la cantidad de datos procesados, cuyo uso por tanto es 100% opcional. Por último, con Write DivX 5 user data to the bitstream haremos que ciertos datos necesarios por algunos reproductores DivX se incluyan en el archivo codificado, por lo que es conveniente dejarla activada para mejor compatibilidad.
*Decoder: es la configuración del decodificador, con una opción para variar el brillo y otros filtros de imagen. Podemos dejarlo como viene por defecto.
*Common: activa o desactiva las optimizaciones de CPU que hacen más rápida la compresión. La dejaremos enAutomatically detect optimizations.



Ya hemos terminado la configuración general, así que ahora nos falta ver cómo configurar las pasadas que queremos hacer al vídeo, dependiendo de si queremos hacer una o dos pasadas.


Configuración de las pasadas

Una vez realizada la configuración general del codec, haremos la configuración particular según el número de pasadas elegido. La ventaja que tiene hacer dos pasadas es que durante la primera se analiza el vídeo y se determina dónde hace falta un bitrate más alto (escenas de gran detalle o mucho movimiento), y en la segunda se comprime, mejorando así la calidad con respecto a la compresión directa a una sola pasada. Pero esto no es gratuito: el tiempo total empleado se duplica.


Configuración a una pasada

Nos fijaremos la opción Encoding type de la ventana principal. Para hacer una sola pasada, debemos seleccionar Single pass. El bitrate con que queremos comprimir el vídeo lo ponemos en la opción Target bitrate (kbps). En vez de esto, es posible que nos aparezca Target quantizer, en ese caso basta hacer clic sobre el botón para que la opción cambie. Añadamos además que el bitrate ya lo tenemos que tener calculado o apuntado, aunque podemos usar la calculadora de bitrate que el codec incorpora.




Si hacemos clic sobre el botón more que hay a la derecha de Encoding type, se abre una ventana nueva con tres opciones más:

*Reaction Delay Factor: establece la velocidad de reacción del codec (medida en cantidad de frames) ante un cambio rápido en la escena. Valores pequeños hacen que el codec reaccione rápidamente y refleje correctamente estos cambios en la distribución del bitrate. El valor 16 que viene por defecto puede ser adecuado
*Averaging period: es una opción similar pero para los cuantificadores. En este caso por defecto se toma la media de los últimos 100 frames.
*Smoother: el codec guarda un registro de la variación de tamaño de los últimos frames respecto a la media, que es recalculado después de cada frame. De esta forma el codec trata de ajustar el bitrate medio entre el número de frames seleccionado, que por defecto también es 100.



Con esto ya tenemos configurado el codec a una sola pasada, por lo que basta hacer clic en OK para volver al programa de compresión que estemos utilizando.


Configuración a dos pasadas: primera pasada

Dentro de la opción Encoding type de la ventana principal tenemos que seleccionar Twopass - 1st pass. La opción de seleccionar el bitrate estará ahora desactivada.




A continuación hacemos clic en more a la derecha de Encoding type. Se abre una nueva ventana con tres opciones.

*Stats filename: aquí seleccionaremos dónde se creará el fichero .pass de la primera pasada. Es muy importante esto ya que luego la segunda pasada debe utilizar este archivo, por lo que pondremos una ruta que sea sencilla de encontrar.
*Full quality first pass: XviD por defecto desactiva algunas opciones de la primera pasada para hacerla más rápida. Estas opciones no suelen ser necesarias, pero si deseas activarlas hazlo con esta opción. Normalmente la dejaremos desactivada.
*Discard first pass: establece si el archivo AVI resultante de la primera pasada debe descartarse o no. Normalmente estará activada, salvo si queremos que dicho archivo sea reproducible (aunque puede no cumplir los estándares MPEG-4 y por eso se descarta).



Ya podemos hacer clic en OK en la ventana principal para volver a nuestro programa de compresión. No olvidemos que en este modo hace falta configurar y realizar después la segunda pasada.


Configuración a dos pasadas: segunda pasada

Para hacer la segunda pasada seleccionaremos Twopass - 2nd pass dentro de Encoding type, y colocaremos el bitrate en el apartado Target bitrate (kbps). Quizá aparezca Target size (kbytes), según cómo lo tengamos configurado, en tal caso basta hacer clic encima para cambiarlo. El bitrate ya lo tenemos que tener calculado o apuntado antes de hacer la configuración del codec.




Si hacemos clic en more a la derecha se abre otra ventana de configuración donde seleccionar el archivo .pass de la primera pasada (debe ponerse la misma ruta que en la primera pasada, si no al iniciar la segunda pasada nos aparecerá el error statsfile not found). También aparecen otras opciones:

*I-frame boost (%): esta opción permite dar un porcentaje más de bits a los keyframes respecto del que se les ha asignado.
*I-frames closer than... (frames) y ...are reduced by (%): se usan para reducir el tamaño de los keyframes cercanos a otros (contiguos). Primero indicamos el rango de keyframes que queremos que se modifiquen, y en segundo lugar el % de tamaño que se reducirán. El último keyframe de la serie es tratado normalmente.
*Overflow treatment: es una técnica pensada para obtener el tamaño final del vídeo lo más cercano a lo que le hemos indicado. Al indicar un tamaño final o bitrate el codec puede pasarse o quedarse corto.
                      *Overflow control strength (%): es la "fuerza" con la que se van a distribuir los bits, quitando de donde más hay para ponerlos donde menos hay.
                      *Max overflow improvement (%): qué porcentaje de bits puede aumentar cada frame en caso de haberundersize (que el tamaño salga inferior a lo deseado).
                      *Max overflow degradation (%): qué porcentaje de bits puede disminuir cada frame en caso de haberoversize (que el tamaño salga superior a lo deseado).
*Curve compression: los valores internos de la curva de compresión pueden modificarse si observamos que el resultado no es satisfactorio. Imaginamos la distribución de bitrate como un gráfico, con picos y valles (escenas de alto bitrate y escenas de bajo bitrate). Se puede transferir bits de unos frames a otros para acortar las diferencias.
                      *High bitrate scenes degradation (%): qué porcentaje de bits quita de las escenas con alto bitrate para entregarlos al reservorio de bits y usarse en donde más haga falta. Útil si hay que ajustarse a algún máximo de algún perfil concreto.
                      *Low bitrate scenes improvement (%): en qué porcentaje podemos aumentar los frames con bajo bitrate añadiendo bits extra, que saldrán del reservorio de bits. Útil si en escenas con bajo bitrate nos aparecen macrobloques.



Ya está configurada la segunda pasada, por lo que podemos volver a nuestro programa de compresión haciendo clic en OK en la ventana principal.

Y con esto terminamos este manual. Recuerda que, además de la configuración general, siempre es necesario hacer la configuración particular correcta según el número de pasadas que vayamos a hacer al vídeo. Si hacemos la primera pasada de un vídeo (Twopass - 1st pass) y se nos olvida hacer la segunda, probablemente el vídeo no funcionará.


Bueno amigos, eso es todo, espero que les sirva de la misma manera que me sirvio a mi. Saludos 

Configuración del codec XviD
10 Puntos Score: 5/10
Visitas: 809 Favoritos: 10
Ver los usuarios que votaron...
8 Comentarios Configuración del codec XviD
buen tuto gracias  
Gracias por tomar tu tiempo investigando esto para despues compartirlo
Gracias A Ustedes Por Pasar Y Comentar. Comparti Este Tuto Porque Me Ayudo Con Aquellos Avi Que Mi Dvd No Leia. Espero Que Les Sirva Como A Mi   Por Cierto, Esta Configuracion Tambien Sirve Para Ripear Los Dvd   Saludos    
Cita Rouge: Mostrar
muy bueno la verdad esto me paso varias veces el convertir un video y q no funcione.. una molestia.. muchas gracias
Cita niko_arg: Mostrar
Te Entiendo... Si Me Habra Pasado   Probe Miles De Combinaciones Y Nunca Se Veia   Hasta Que Encontre El Tutorial Y Problema Resuelto   Gracias Por Pasar Y Comentar. Saludos  
Para dejar un comentario Registrate! o.. eres ya usuario? Accede!