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 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.
Se trata fundamentalmente de un codec compresor, es decir, usado para comprimir vídeo. Aunque tiene la opción
de habilitar un decodificador del formato H.264 para VfW, éste no es el mejor para poder reproducir vídeos en este
formato, por lo que 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.
Descargar x264 VfW
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, 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.
Encontramos varios apartados dentro de esta ventana de configuración, que vemos a continuación.
Apartado Basic
Dentro del apartado Basic encontramos lo siguiente:
- Preset: establece el compromiso entre la velocidad de codificación y la calidad obtenida (eficiencia
de codificación). Cuanto más rápido, peor calidad obtenida; así por ejemplo el valor Ultrafast hace que el
codec comprima lo más rápido posible a costa de sacrificar bastante calidad. Un valor Medium es aceptable en
la gran mayoría de casos, pudiendo subirlo a Slow o Slower para conseguir algo más de calidad.
- Tuning: sirve para indicar al codec el tipo de vídeo que va a ser comprimido, de manera que éste optimice
su configuración interna para ese tipo de vídeo. Por ejemplo podemos elegir película (Film), dibujos animados
(Animation), vídeos con mucho grano (Grain), etc. Lo dejaremos en None para una configuración
genérica.
- Profile: aquí se pueden elegir distintos perfiles de codificación en función de la aplicación que vayamos
a dar al vídeo, permitiendo elegir un nivel de complejidad básico (perfil Baseline, utilizado por ejemplo para
videoconferencias o en teléfonos móviles), medio (perfil Main, utilizado por ejemplo para televisión digital)
o alto (perfil High, utilizado en televisión de alta definición o discos Blu-Ray, por ejemplo). Ante la duda,
lo dejaremos en Auto para que el codec determine la mejor configuración.
- Level: el "nivel" en la codificación H.264 hace referencia a un conjunto de restricciones que determinan
el rendimiento que debe tener un decodificador para ser capaz de reproducir el vídeo en tiempo real. Por ejemplo, un
determinado nivel para un perfil establece la máxima resolución de imagen, framerate y bitrate que un decodificador
para ese nivel debe ser capaz de manejar. Aquel decodificador que diga cumplir con un nivel dado, debe ser capaz de
decodificar cualquier vídeo codificado a ese nivel o un nivel inferior. Esta opción adquiere su importancia cuando
el reproductor que vamos a utilizar para ver el vídeo tiene una restricción de nivel. Por ejemplo, si pretendemos
reproducir el vídeo en un reproductor que está certificado hasta un nivel "High 4.1", no podemos elegir un nivel más
alto a riesgo de que luego el vídeo no se reproduzca correctamente. De esta manera, estableciendo un nivel, el codec
ajusta las opciones de compresión para no pasarse de dicho nivel. Si no lo vamos a utilizar o no sabemos qué elegir,
dejaremos la opción Auto.
- Fast Decode: activando esta casilla indicamos al codec que se configure para permitir que el vídeo, una
vez comprimido, pueda ser decodificado más rápido por un reproductor. Esto tiene también un impacto en la calidad de
compresión, por lo que en general no la activaremos.
- Zero Latency: con esta opción activada, se reducirá al mínimo la latencia de codificación al reducir el
tamaño del buffer de fotogramas a comprimir. Dicho de otro modo, hace que nada más decodificarse un frame, éste se
comprima, en vez de esperar en un buffer de memoria. Puede ser útil para evitar latencias en streaming en tiempo real.
En su uso normal, estará desactivada.
Apartado Sample Aspect Ratio
Aquí podemos modificar la relación de aspecto del vídeo codificado, útil si estamos codificando vídeo anamórfico.
Generalmente dejaremos una relación 1:1 (SAR Width y SAR Height ambos a 1).
Apartado Debug
En este apartado generalmente nunca tendremos que tocar nada. En la opción Log level podemos indicar la
información que queremos que se grabe en los archivos log resultantes del proceso de codificación, como los avisos
(Warning), los errores (Error), nada (None), o información de variables del proceso (Info).
Lo dejaremos en la opción Warning que viene por defecto.
La casilla Disable all CPU optimizations marcada hace que todas las optimizaciones del procesador queden
deshabilitadas, lo que reduce considerablemente el tiempo de codificación. No la marcaremos.
Apartado Output
En la opción Output mode nos permite elegir el modo de salida de vídeo, bien a través de la interfaz VfW
(opción VFW), o bien directamente al archivo de vídeo (opción File), en cuyo caso en Output file
debemos indicar el nombre y ubicación de este archivo. Con los métodos de codificación habituales, elegiremos siempre
la opción VFW.
En VFW FourCC podemos elegir el código FourCC que queremos que tenga el vídeo. En general debemos usar
H264 o AVC1 para evitar incompatibilidades con algunos reproductores.
Finalmente, VirtualDub Hack activa un parche para evitar una limitación que tiene VirtualDub (y sus hermanos
como VirtualDubMod). Esta opción sólo puede usarse si vamos a codificar vídeo con alguno de estos programas, en caso
contrario puede producir archivos no válidos. Ante la duda, la dejaremos siempre desmarcada.
Apartado Decoder & AVI Muxer
En este apartado tan sólo encontramos la opción Disable decoder, que deshabilita el decodificador interno
de H264. Esto nos sirve si preferimos utilizar otro decodifador VfW, como por ejemplo el que viene incluido en los
filtros ffdshow. En caso contrario, no la marcaremos.
Apartado Extra command line
Aquí podemos configurar cualquier opción del codec mediante la adición del parámetro que corresponda a lo que
deseemos hacer. Haciendo clic en el botón marcado con la ? se despliega una ayuda con la lista de comandos
admitidos. Al ser ésta una opción para usuarios avanzados, no mencionaremos más.
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 el apartado Rate control. 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 el apartado Rate control 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 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ú Decodificadores de la ventana que se abre, marcar en el codec
H.264/AVC la opción libavcodec (para procesadores de un núcleo) o ffmpeg-mt (para procesadores
multinúcleo).
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.
© Se agradece la ayuda de Burnout
y Dressler en la elaboración de este
manual para MundoDivX.
Última revisión: Domingo 19 de Septiembre de 2010