Usuarios navegando en la web: 66 || Fecha de hoy: Jueves 11 de Marzo de 2010
Configuración del codec x264 VfW
x264 es un codec gratuito y libre para comprimir pistas de vídeo utilizando el estándar H.264 AVC (Advanced
Video Coding). H.264 pertenece a MPEG, pues es un estándar. Existen varias implementaciones de este estándar:
Apple tiene una, Nero otra, Microsoft otra... La implementación libre es x264. Podemos encontrar este codec en dos
versiones, una de tipo VfW (Video for Windows), que permite utilizar el codec en cualquier programa de
compresión que admita codecs (por ejemplo en VirtualDubMod), y otra en forma de interfaz de línea de comandos, a
la cual se puede agregar alguna interfaz gráfica que facilite su uso (como MeGUI). Aquí trataremos la primera.
x264 VfW es un codec compresor, por lo que no permite reproducir archivos comprimidos en este formato.
En este manual, además de ver cómo configurar el codec para comprimir vídeo con él, trataremos la instalación de
un decodificador para x264 y h264 que permita reproducir los vídeos creados en el ordenador.
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 programas
como 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 tres 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 trataremos la configuración particular para hacer compresiones a una o dos pasadas. Por último, veremos
cómo instalar un decodificador para x264 y h264. 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
Cuando abrimos la ventana de configuración del codec vemos que arriba hay tres pestañas desde las que
se accede a todas las opciones de configuración. Por defecto aparecemos en la pestaña Main. En esta
pestaña 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.
Dentro del apartado Misc encontramos lo siguiente:
AVC level: establece el nivel o "estándar" AVC. Cada nivel tiene unos parámetros máximos de número
de macrobloques, tasa de bits por segundo, resolución... que aquí no vamos a mencionar pero pueden encontrarse
fácilmente en sitios como la Wikipedia.
Para que el vídeo cumpla un nivel determinado, sus características tienen que estar por debajo del máximo que se
establece para ese nivel. Como no tiene sentido andar calculando a mano el perfil que sigue el vídeo, conviene
dejarlo en Auto y que sea el codec quien lo haga.
Sample Aspect Ratio: sirve para modificar la relación de aspecto del vídeo. Normalmente dejarlo en 1
tanto para SAR width (ancho) como para SAR height (alto).
En Debug encontramos las opciones útiles para depuración.
Log level: recolecta información sobre el proceso de compresión. Es una opción poco útil para la
mayoría de usuarios. La dejaremos en Warning o en Error. Con esta selección PSNR y SSIM
quedan desactivadas.
Disable all CPU optimizations: deshabilita las optimizaciones de CPU que hacen que el proceso vaya más
rápido, por lo que no conviene activarla.
Finalmente, en VFW nos encontramos con estas opciones:
FourCC: código fourcc que identificará el codec de vídeo, necesario para que los reproductores sepan
qué decodificador usar. Se sugiere dejarlo como viene, con la opción H264.
VirtualDub Hack: soluciona un problema con los frames B al utilizar VirtualDub (o programas similares)
como codificador. ¡Marcar sólo si se va a utilizar x264 con estos programas!
Disable decoder: deshabilita el decodificador interno de H264. Esto imposibilitaría abrir los vídeos en
programas como VirtualDubMod a menos que existiera otro decodificador (como el
de ffdshow), por lo que mejor no la vamos a habilitar.
El resto de opciones que nos brinda esta pestaña en el apartado Main las veremos al final.
Analysis & Encoding
En esta pestaña encontramos dos apartados, Analysis y Encoding.
Dentro del apartado Analysis están las siguientes opciones:
Adaptive DCT: sirve para seleccionar el tipo de transformaciones se pueden realizar en los macrobloques
de 8x8 píxeles que forman los frames. Activándola se permite el uso de las opciones i8x8 que describimos a
continuación.
I-frames partitions y P/B frames partitions: en la primera encontramos las transformaciones para los
frames I (keyframes), y en la segunda las opciones para frames de tipo P (predictivos) y B (bidireccionales). Como regla
general, cuantos más análisis de la información visual haga el codec, más eficientemente podrá comprimirla, por lo que
se recomienda marcar todas las casillas. Sin embargo, hay que mencionar que el uso de i8x8 aumenta la calidad de
forma notable, pero hacen que el vídeo siga el perfil High Profile AVC en vez del Main Profile AVC. Hay
decodificadores que no soportan el perfil High Profile AVC, lo que imposibilitaría reproducir el vídeo. De todas
formas, actualmente la mayoría lo soportan, por lo que es seguro utilizar esta opción.
Fast P-skip: es un método con el cual x264 aumenta la velocidad de compresión, pero a veces lleva a la
aparición de artefactos en la imagen. Activando esta opción la reducción del tiempo de compresión es pequeña pero
significativa, mientras que la calidad no suele verse afectada. Lo normal por tanto será activarla.
Max frames refs y Mixed refs: x264 puede comprimir nuevos frames utilizando como referencia otros
frames que haya comprimido previamente. El máximo número de frames que puede tomar como referencia queda determinado
por esta opción. A mayor valor, mejor calidad pero también más tiempo de compresión. En general un valor entre 3 y
5 es suficiente, pudiendo subirlo entre 8 y 10 para dibujos animados. Si se elige un valor superior a 1, se activa
la opción Mixed Refs para permitir al codec hacer una mezcla de las referencias.
ME algorithm: qué método de estimación de movimiento va a usar x264. Cuanto mejor sea, x264 será capaz
de determinar mejor el movimiento y por tanto mejorar la calidad y eficiencia de la compresión. El método dia
(Diamond) es el más rápido; hex (Hexagonal Search) busca el movimiento en dirección horizontal,
vertical y diagonal, y es el mejor si no queremos que la compresión tarde demasiado, por tanto el recomendado. El
método umh (Uneven Multi-Hexagon) es superior, pero aumenta el tiempo de compresión. Las opciones más
avanzadas son búsquedas píxel a píxel y por ello extremadamente lentas, a pesar de que la mejora de calidad respecto
a la anterior opción no es muy significativa.
ME Range: establece la distancia en píxeles para la búsqueda y estimación. El algoritmo fue optimizado
para un valor de 16 por lo que de usarlo, pondremos esta cantidad. Lo aumentaremos a 24 para comprimir vídeos con
alta resolución y framerates bajos (15 fps o menos), y lo bajaremos a 10 para comprimir vídeos con baja resolución
y framerates altos (más de 60 fps).
Subpixel ME refinement: controla hasta dónde puede llegar x264 para tomar la mejor decición en cuanto a
estimación de movimiento. Existen 11 opciones en orden creciente de calidad, desde la menor 0 Fullpel hasta
la máxima 10 QPRD, siendo esta última la que lleva más tiempo para comprimir. Los valores 6 a 10 activan la
tasa de distorsión (RD, Rate Distortion), una opción extremadamenta beneficiosa para la compresión a costa de
usar un mayor tiempo de procesador. Se basa en que el ojo humano no espera principalmente que la imagen reconstruida
sea igual que la original, sino que tenga la misma complejidad, de manera que tiende a preferir una imagen detallada
aunque esté ligeramente distorsionada. La opción 7 puede ser una buena elección.
Chroma ME: incrementa la exactitud y calidad de la estimación de movimiento al considerar la información
de color del vídeo, especialmente con dibujos animados y anime. Recomendado activarla.
Psy RDO strenght: intensidad que se aplicará a la distorsión de la imagen. Se recomienda usar 1.00.
Min GOP size: distancia, medida en cantidad de frames, que debe separar dos frames tipo IDR (keyframe
a partir del cual ningún frame posterior hace referencias a frames anteriores a él). Esta opción permite que no
se usen varios keyframes seguidos. Valores altos hacen que los keyframes estén más separados y que el codec tenga
que esperar más antes de poder introducir un keyframe en caso de haber un cambio de escena. Valores bajos hacen
que aumente el número de keyframes y por tanto un consumo extra de bitrate. Se recomienda usar el mismo valor que
el framerate del vídeo, así la distancia mínima medida en tiempo será de un segundo: para vídeos a 25 fps, usamos
25; para vídeos a 29.97 fps, usamos 30 (redondeando); etc.
Max GOP size: si la anterior es la distancia mínima, ésta es la distancia máxima que puede haber entre
dos frames IDR. Si no se ha detectado un cambio de escena pasados el número de frames establecido se insertará
automáticamente un keyframe para evitar la pérdida de calidad y facilitar la búsqueda de escenas. Valores bajos
suponen una saturación de keyframes en el vídeo, y valores altos disminuyen la calidad (las imperfecciones que
haya durante la reproducción entre dos keyframes durarán más tiempo) y empeoran la búsqueda de escenas. Se puede
utilizar el valor del framerate multiplicado por 10, así por ejemplo para un vídeo a 25 fps usar el valor 250 y
para un vídeo a 29.97 fps se utilizará 300. Así, la distancia máxima en tiempo será de 10 segundos.
Scenecut threshold: esta opción permite ajustar la sensibilidad del codec ante los cambios de escena
para determinar si es necesario o no introducir un keyframe. Valores altos implican una mayor sensibilidad y por
tanto un aumento del número de keyframes. El valor 40 está bien para la mayoría de casos. Si el vídeo a comprimir
tiene cambios de escena poco notorios habrá que aumentar este valor por ejemplo hasta 50, y si por el contrario
los cambios de escena son bastante evidentes entonces conviene disminuir el valor a 30 ó 35. El valor -1 indica
que no se detectarán los cambios de escena.
Max consecutive B-frames: indica el máximo número de frames bidireccionales (B-VOPs) consecutivos que
puede haber. Estos frames, situados entre frames predictivos (tipo P), mejoran la compresión del vídeo con un bajo
impacto visual en la calidad. Pondremos un valor igual a 3.
Adaptative B-frames: permite al codec cambiar dinámicamente el número de frames B consecutivos. Sólo
estará activada si Max consecutive B-frames no es 0. Dispone de las opciones Off (deshabilitado),
Fast (opción rápida y menos precisa) y Optimal (opción precisa y más lenta). Elegiremos una de estas
dos últimas.
B-frames bias: modifica la tendencia al uso de frames B; valores altos incrementan el uso de frames B,
mientras que valores bajos hacen lo contrario. Un valor 100 fuerza a x264 a utilizar el máximo número especificado
en las opciones anteriores, y un valor -100 hace que raramente se utilicen frames B. El valor recomendado es 0.
Sólo estará activada si Max consecutive B-frames no es 0 y además si Adaptative B-frames no está en
Off.
B-frames MV prediction: permite utilizar vectores de predición de movimiento en vez de limitarse sólo
al movimiento del frame actual. Esto ahorra espacio y aumenta la eficacia de la compresión. Normalmente bastará
elegir Auto en modos de compresión a dos pasadas. El Temporal es ideal cuando se comprime con bitrates
bajos por su mejor estimación del movimiento, mientras que el Spatial permite reducir posibles artefactos en
la imagen y es ideal para dibujos animados. Sólo estará activada si Max consecutive B-frames no es 0.
B-frames pyramid: hace que los frames B puedan ser utilizados como referencia para otros frames B
consecutivos, aumentando la calidad ligeramente ya que los frames B pueden ser construidos tomando cualquier frame
como referencia y no sólo frames P. Esta opción es más eficiente con el valor 3 en Max consecutive B-frames.
Sólo estará activada si dicha opción es mayor que 1. Como es obvio, se recomienda activarla.
Weighted B-frames prediction: hace que los frames B se predizcan dando mayor importancia a un frame P
u otro. El resultado son unos frames más exactos y mejor comprimidos, por tanto con mejor calidad. Sólo estará
activada si Max consecutive B-frames no es 0. Activarla.
En el apartado Encoding encontramos las siguientes opciones:
In-loop deblocking filter: filtro que permite reducir el impacto de macrobloques en la imagen. Debe
estar activado. Al hacerlo, también se activan las opciones Deblocking strength y Deblocking threshold.
La primera ajusta un mayor o menor nivel de filtrado a los bloques detectados, mientras que la segunda determina la
cantidad de vídeo que debe ser filtrado. Nos moveremos en el rango entre -3 y 2. Para anime, un valor de 1 en ambos
puede ser buena opción, mientras que en general un valor de -1 ó -2 suele bastar.
Interlaced: sólo activar esta opción si el vídeo original está entrelazado y no hemos añadido aún algún
filtro de desentrelazado. En este caso, conviene desactivar Trellis y poner el Max consecutive B-frames
a 0. En general, dejarla desactivada.
CABAC: siglas de Context Adaptive Binary Arithmetic Coding (codificación aritmética binaria
adaptable al contexto). Permite predecir elementos del vídeo por contexto. En definitiva aumenta la eficiencia
en la compresión en torno al 10-15% sin pérdida de calidad, aunque la velocidad de decodificación se hará más
lenta. Como esto normalmente no supone un problema, la activamos, pero si resulta un inconveniente simplemente
no la activaríamos.
DCT Decimate: cuando x264 determina que un cambio en un bloque de la imagen no es significativo, lo
ignora y evita comprimirlo, ahorrando bitrate que de otra forma hubiera sido utilizado para comprimir información
inútil. Esta casilla sirve para activar dicha característica, por lo que vamos a dejarla marcada.
Noise Reduction: aplica un filtro de reducción de ruido, útil si el vídeo que queremos comprimir tiene
mucho grano fílmico o algún tipo de ruido en la imagen. Permite escribir un valor numérico que indica el nivel de
reducción a aplicar. El 0 es desactivado, y será lo habitual. Si necesitamos usarlo, podemos probar valores entre
1 y 3.
Trellis: sirve para incrementar la calidad de la imagen al manipular qué datos se guardan finalmente
durante el proceso de compresión, haciendo así una utilización mejor del bitrate. Por su impacto sobre la velocidad
de compresión (10% más lenta) y la mínima ganancia que se consigue, se recomienda dejarla desactivada. Si la opción
DCT Decimate está desactivada, entonces puede ser recomendable activar el Trellis.
Intra deadzone y Inter deadzone: permiten especificar el nivel de detalle que se puede descartar
y que el codec no va a tener en cuenta. Valores bajos permiten descartar menos información, y por tanto el codec
puede manejar una cantidad de datos más compleja. El objetivo de estas opciones es establecer un umbral de detalle:
cifras bajas pueden ayudar a la reducción de grano, y cifras altas pueden reducir el ruido en la imagen. Dejamos
entonces los valores que vienen por defecto.
Quant matrices y Custom quant matrices files: permiten seleccionar una matriz de cuantización.
En general dejarlo como viene por defecto, en Flat.
Psy trellis strenght: intensidad usada para el Trellis. El valor 0.0 elimina esta característica,
aunque es conveniente activarla con un valor de entre 0.20 y 0.40. Valores superiores pueden producir artefactos en
la imagen.
Rate Control & Other
En esta pestaña encontraremos las opciones necesarias para ajustar la calidad y la velocidad de compresión
del codec. Encontramos cuatro apartados con distintas opciones que describimos a continuación: Rate control,
AQ, VUI y Multithreading.
En el apartado Rate Control encontramos:
VBV max bitrate (kbit/s): indica el máximo bitrate que puede alcanzar el archivo al hacer una
compresión de tipo VBV (Video Buffering Verifier, que incluye tanto bitrate constante (CBR) como bitrate
variable (VBR)). Si el decodificador que vamos a usar para ver el vídeo es lento, conviene hacer una limitación
para evitar que durante una escena de acción, donde se usa un bitrate superior al medio, el vídeo vaya a saltos,
al tardar más tiempo del normal en decodificarlo. Normalmente podemos dejarlo en 0 y que no haya limitación, o en
caso contrario poner por ejemplo entre 1'5 y 2 veces el bitrate medio que utilicemos.
VBV buffer size (kbit): tamaño del buffer de almacenamiento. Por ejemplo, un valor de 3000 kbits quiere
decir que el buffer es capaz de almacenar dos segundos de vídeo a 1500 Kbps, o un segundo a 3000 Kbps. Normalmente
no necesitaremos usar esta opción y podemos dejarlo en 0 para que sea el propio codec quien decida el valor ideal.
VBV initial occupancy (%): es la ocupación inicial para este buffer, por defecto en el 90%.
Min QP: mínimo cuantificador que el vídeo puede tener en cualquier momento. Valores más bajos indican
mayor calidad y tamaño. Un valor entre 10 y 15 es lo ideal para evitar obtener un vídeo de gran tamaño. El valor
10 que viene por defecto puede servir.
Max QP: similar al anterior, pero ahora estableciendo el máximo. Valores más altos indican menor
calidad y tamaño. El valor 51 que viene por defecto puede servir.
Max QP Step: establece el máximo salto de cuantificador que el codec puede realizar entre dos frames,
evitando así cambios bruscos de calidad. Valores bajos hacen que el codec reaccione lento a los cambios en la
complejidad de la imagen a comprimir, y por el contrario valores altos pueden provocar continuos saltos en la
calidad. El valor 4 es un término medio.
QP factor between I & P: esta opción permite mejorar la calidad de los keyframes (frames tipo I)
a base de aumentar el bitrate que se les asigna respecto al que se usa en frames predictivos (frames tipo P).
Así, por ejemplo, un valor 1.40 significa que se aplicará un 40% más de bitrate en cada keyframe. Los frames que
se construyen tomando como referencia los keyframes, es decir los P (predictivos) y B (bidireccionales), verán
así aumentada su calidad. Un valor 1.00 significa que no habrá ningún aumento de bitrate en los keyframes y por
tanto todos los frames adquieren la misma importancia. Se recomienda usar un valor entre 1.30 y 1.40.
QP factor between P & B: la contraria de la anterior. Permite disminuir la cantidad de bitrate que
se asigna a los frames bidireccionales (tipo B) respecto de los predictivos (tipo P). Un valor 1.30 asignará un
30% más de bitrate a los frames predictivos. Esta disminución no es fácilmente apreciable por el ojo humano, pero
nos permite reducir el tamaño final del vídeo. Valores por encima de 1.30 aumentan la compresión, pero pueden
provocar la aparición de artefactos y pérdida de detalle en la reproducción. Para compresiones con bitrates altos
se recomienda usar un valor entre 1.20 y 1.25; para dibujos animados y anime (donde predominan los colores planos)
se puede aumentar hasta 1.50; en el caso general, usar un valor de 1.30. Para que la opción esté activa, hay que
haber activado los frames B (Max consecutive B-frames en la pestaña Analysis & Encoding con un
valor mayor que 0).
Chroma QP offset: desviación del croma (componente a color del vídeo) respecto del luma (componente
blanco y negro). Puede tomar valores desde -12 hasta +12, pero por defecto lo dejaremos en 0.
QP curve compression: establece la máxima variabilidad del bitrate. Valores bajos hacen que el bitrate
tienda a ser más estable, y por tanto se utiliza un bitrate parecido tanto para escenas simples como para escenas
complejas: mientras las primeras se verán perfectas, las segundas pueden tener pérdidas de calidad notorias. Un valor
0.00 implicaría una compresión a bitrate constante (CBR). Un valor 1.00 haría que x264 aplique la misma calidad a
cada frame (VBR puro), pero puede suponer variaciones muy grandes de bitrate entre dos frames. En general, el valor
0.60 está bien, aunque a veces se sube hasta 0.70-0.80. Cabe añadir que esta opción sólo se activa para compresiones
donde se ha seleccionado un modo de control de bitrate (cualquiera menos Single Pass - Quantizer-based (CQP)).
Temp. Blur of complexity y Temp. Blur of quants: opciones que sirven para controlar que la calidad
sea más estable. Cuanto más altos sean los valores, tanto más constante será la calidad. Es una opción muy útil para
codificar anime. Dejaremos los valores que vienen por defecto.
Bitrate tolerance (%): controla la precisión del codec x264 para ajustarse al bitrate medio elegido o
el tamaño de archivo requerido. Un valor de 1 significa que el bitrate final puede diferir en un 1% del elegido al
configurar el codec, y un valor de 0 significa que se requiere ajustar el bitrate de forma exacta. Nos quedaremos
con el valor 1, que es una precisión razonable (si no importa mucho la precisión del tamaño final del vídeo, subirlo
hasta el 5% o lo que se desee, para dar mayor libertad al codec).
En el apartado AQ (Adaptive Quantization) encontramos:
Mode: sirve para redistribuir el bitrate hacia macrobloques con bajo nivel de detalle que requieren
más bitrate del que normalmente se les asigna, mejorando la calidad de éstos. Esto ocurre en escenas muy uniformes:
cielos, suelos, oscuridad, claridad, etc. Pondremos AutoVAQ.
Strenght: intensidad con que se aplicará lo anterior. Valores bajos reducen la compensación. Dejaremos
el valor 1.00 que viene por defecto.
En el apartado VUI encontramos opciones que no son usadas por el codificador, sino que son utilizadas a
posteriori por el equipo de reproducción a modo de "sugerencias". Estas opciones son:
Crop overscan: controla el overscan de la imagen. La opción show muestra la imagen completa
mientras que crop hace que se recorte. Por defecto en undef (sin definir).
Video format: formato de vídeo, como pal, ntsc, secam, etc. Dejarlo en undef.
Full range: evita que una grabación digital de un contenido que originalmente era analógico (contenidos
retransmitidos por TV, por ejemplo) sufran una sobresaturación de color. Conviene activarla siempre (on).
Color primaries, Transfer characteristics y Color matrix: sirven para hacer correcciones
en la gama de colores que muestra el dispositivo de reproducción, evitando así que un vídeo se vea por ejemplo "más
azul" en un monitor o TV que en otro/a. Opciones para videófilos, conviene dejarlas sin definir (undef).
Chroma sample location: reduce el número de muestras del croma (proceso denominado subsampling).
Esto sólo se aplica si el contenido a codificar ya tiene reducido ese número de muestras (x264 no lo realiza por
sí mismo). Al ser una opción para perfeccionistas, la dejaremos como esté por defecto.
Para terminar, en el apartado Multithreading se encuentra la configuración que controla muchos de los
procesos que x264 utiliza para la codificación. Gracias a sus múltiples procesos, x264 es capaz de usar de manera
más eficiente la capacidad de los modernos procesadores multi-núcleo. Esto se logra mediante la codificación de
varios fotogramas en paralelo. Los análisis han demostrado que x264 es capaz de trabajar hasta con un máximo de
16 núcleos. De todos modos, para hacer un uso óptimo de un equipo multi-núcleo, debe ser seleccionado el número
de procesos deseados. Las opciones disponibles son las siguientes:
Threads: opción muy útil si disponemos de una máquina con un procesador multitarea, bien con tecnología
HT (Hyper Threading), bien un procesador con más de un núcleo. Permite seleccionar el número de hilos en que
se dividirá el proceso de compresión. Cada procesador HT cuenta como dos hilos, y cada núcleo del procesador es un
hilo. Por ejemplo para un procesador Pentium IV pondríamos 1; para un Pentium IV HT o un Core 2 Duo pondríamos 2;
para un procesador Core 2 Quad pondríamos 4; etc. Si no sabemos el número de hilos que nuestro procesador soporta,
lo dejamos en 1. Esta opción sólo afecta a la velocidad de compresión.
Deterministic: hace que el resultado de la codificación sea determinista (para un número de Threads
o hilos dado, siempre mayor que 1, se obtienen los mismos resultados).
Threads queue: número de frames de retraso para sincronizar los diferentes hilos (si hay más de 1). Su
valor es siempre igual o mayor que el número de hilos establecido.
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, desde la pestaña Main. 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 detalladas o de mucho movimiento),
y en la segunda se comprime, mejorando así la calidad con respecto a la compresión directa a una única pasada. Pero
esto no es gratuito: el tiempo total empleado más o menos se duplica.
Configuración a una pasada
En la pestaña Main tenemos que elegir, en la lista desplegable, la opción Single pass - bitrate-based
(ABR). El bitrate medio a utilizar lo colocamos en Average bitrate (kbit/s). Este bitrate lo tenemos que
tener ya calculado o apuntado; si no es así, basta revisar este manual. No hace
falta marcar Create stats file.
Con esto ya tenemos configurado el codec a una sola pasada, por lo que hacemos clic en OK para volver al
programa de compresión que estemos utilizando.
Configuración a dos pasadas: primera pasada
Para configurar la primera pasada del modo multipasada tenemos que activar en el cuadro desplegable la opción
Multipass - 1st pass o bien Multipass - 1st pass (fast) (esta última es una especie de modo rápido),
y colocar el bitrate a utilizar en Target bitrate (kbit/s). También pondremos dónde guardar el archivo .stats
de la primera pasada. Es muy importante esto último ya que luego la segunda pasada debe utilizar este archivo, por
lo que pondremos una ruta que sea sencilla de encontrar.
Ya podemos hacer clic en OK 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
La segunda pasada se activa con la opción Multipass - Nth pass del cuadro desplegable. Nuevamente ponemos
el bitrate a utilizar en Target bitrate (kbit/s), marcaremos Update stats file y seleccionamos dónde
se ha guardado el archivo .stats de la primera pasada.
Ya está configurada la segunda pasada, por lo que podemos volver a nuestro programa de compresión haciendo clic
en OK.
Y con esto terminamos la configuración del codec compresor. Recordemos 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 (Multipass - 1st pass) y se nos olvida hacer la segunda, el
vídeo no funcionará.
Instalación de un decodificador x264 / H.264
Como se dijo al principio del manual, este codec es un codec compresor. Sin embargo, dispone de un decodificador
VFW para poder abrir los vídeos en programas como VirtualDubMod (siempre que la casilla Disable decoder de
la pestaña Main no esté marcada, lo que significa que el decodificador está deshabilitado).
Para reproducir los vídeos necesitaremos un decodificador adicional. El más extendido es aquél que viene incluido
en los filtros ffdshow. Para habilitarlo, debemos entrar por el acceso directo
Video decoder configuration, y en el menú Codecs de la ventana que se abre, marcar en el H.264/AVC
la opción libavcodec.
Esto nos permitirá reproducir los vídeos que utilicen este codec en cualquier reproductor. Para poder abrir los
vídeos en VirtualDubMod sin hacer uso del decodificador interno del x264 VfW, podemos activar el decodificador de
los ffdshow de la misma manera que se ha mencionado pero esta vez desde el acceso directo VFW configuration.