Configuración del codec XviD
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. 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 al DivX, y es el codec más utilizado en los archivos de vídeo que pueden intercambiarse en la red. 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 los reproductores DivX, han tenido gran culpa de ello.
La página web oficial de XviD es www.xvid.org, y en ella podemos encontrar su código fuente. No obstante, como no es nada cómodo que cada uno tenga que compilar el codec, existen distribuciones ya compiladas, y una de las mejores es la de Koepi. Es esta versión la que recomendamos y usamos en MundoDivX, y que podrás descargar de nuestra página de descargas.
Descargar codec XviD
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.
¿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.
Nota: Cómo hacer una configuración general rápidamente.
En este manual se explicarán en detalle la mayoría de opciones de este codec, que son muchísimas. Si deseas hacer una configuración rápida del mismo, puedes fijarte en las imágenes que acompañan las explicaciones y configurar tu codec de la misma manera, pues la configuración utilizada en dichas imágenes es la que MundoDivX recomienda. No debemos olvidar que esto sólo aplica a la configuración general y no a la de las pasadas, que es distinta en cada caso.
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. Iremos viendo los apartados Main Settings, Zones y More uno por uno. Por otro lado, es 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 sucede 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. 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 DivX de salón). Las opciones de Encoding type y el botón Target bitrate (que puede cambiar si se pulsa 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 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:
- Quantization type: nos permite elegir la matriz de cuantificación. La opción H.263 es útil para conseguir mayor compresibilidad en menos espacio (una imagen más suavizada, mayor compresibilidad con menor detalle, para películas en un solo CD), y la opción MPEG es útil para conseguir mayor compresibilidad en más espacio (mayor detalle de imagen, para películas en más de un CD). Normalmente utilizaremos la primera.
- Adaptative Quantization: esta opción permite ganar en compresibilidad mendiante la eliminación de características en el vídeo que suelen pasar desapercibidas para el ojo humano. Recomendado activarla.
- 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. El valor recomendado es 1, y para mejorar la compresibilidad se puede llegar a 2, pero no 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). El valor por defecto de 1.50 es el que recomendamos utilizar.
- Quantizer offset: permite compensar el cuantizador. Los valores adecuados están entre 0.80 y 1.00.
- 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.
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 del vídeo. Es una opción que no aconsejamos modificar, así que lo dejaremos en Square (default). Podemos hacer 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 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 B, y a menores valores (incluso negativos) sucederá lo contrario. Un pequeño valor positivo (en torno a 5) puede ser buena opción.
Apartado More
En este apartado, la opción Quality preset permite cargar un perfil predefinido de calidad, pero nosotros 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 a un nivel 5 ó 6.
- VHQ mode: es una búsqueda más precisa sobre los frames P, y por tanto requiere más tiempo de procesador, por lo que un valor de 2 ó 3 sería suficiente.
- Use VHQ for bframes too: hace que los frames B también se vean afectados por la anterior opción.
- Use chroma motion: esta opción es recomendable activarla para tener una búsqueda de movimiento más precisa.
- 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. Estos 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 en frames que puede separar dos keyframes. Se recomienda utilizar un valor de 250, lo cual quiere decir que para un vídeo a 25 fps habrá como mínimo un keyframe cada 10 segundos.
En la pestaña Quantization encontramos los cuantificadores mínimos y máximos para los fotogramas de tipo I, tipo P y tipo B. Para compresiones de DVD a AVI, podemos elegir la serie de valores 2-6-2-12-2-12, y para conversiones de otros formatos (como MPG o AVI) a AVI, podemos elegir 1-6-1-12-1-12. 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 será XVID. La opción Print debug info on each frame está pensada para 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 es 100% opcional.
- 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 en Automatically 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 y cuyo uso se explica aquí.
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á desactivada. Ahora 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), 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, pero si aún no lo tienes puedes calcularlo usando este manual. 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), junto a otras opciones de compresión que no tocaremos si no sabemos lo que hacemos.
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á.
No hay comentarios:
Publicar un comentario