Códecs de vídeo

Códecs de vídeo

En un post previo vimos qué es un códec, y lo podíamos resumir como el programa informático capaz de codificar y comprimir una señal de vídeo o audio, siendo a su vez capaz de decodificar el resultado. Además, vimos cómo su principal característica era la capacidad de compresión de cara a generar archivos de mucho menor peso.

Este post, por tanto, va a centrarse en listar los códecs de vídeo principales utilizados en el ambiente digital, aunque para ello conviene hacer un repaso de las características principales de un códec de vídeo.

Características de los códecs de vídeo

A continuación se listan las características principales de los códecs de vídeo, siendo las que determinan si un códec es mejor que otro.

Ratio de compresión

La capacidad de compresión de un códec se establece comparando el peso del archivo fuente de vídeo y el peso del resultado final, llamando ratio de compresión a la relación entre ambos pesos de archivo (división entre peso inicial y final). Si ante un mismo vídeo dos códecs generan archivos finales de la misma calidad visual (calidad subjetiva) y distinto peso, diremos que el que más haya comprimido es mejor códec (aunque puede ser peor en otros factores).

Frame original de un extracto del vídeo de Big Buck Bunny. Frame de un extracto del vídeo de Big Buck Bunny codificado con h264 de forma agresiva.

Comparación entre el frame original de un extracto del vídeo de Big Buck Bunny y el frame del mismo vídeo codificado con h264 de forma agresiva. El archivo resultante ha sido de 600KB frente a los 7.2MB del fichero original (ratio de compresión de 12), pero se aprecia la pérdida de calidad visual.

En general, un vídeo con mucho movimiento y mucho detalle en la secuencia de imágenes que contiene provocará que el códec genere archivos de mayor peso, ya que será más difícil de comprimir, y el ratio de compresión será menor.

Velocidad y eficiencia

Un códec puede ser capaz de comprimir más que otro pero, a su vez, ser mucho más lento. La velocidad de codificación y decodificación es un factor clave en algunos entornos, como el del streaming de vídeo, donde los dispositivos deben poder actuar prácticamente en tiempo real; sin embargo, la cantidad de información de vídeo también debe ser lo más liviana posible para ahorrar ancho de banda. Un códec h264 suele ser buena opción ya que genera archivos de poco peso.

La edición de vídeo es otro campo al que favorece la velocidad del códec, ya que montar una película con un vídeo que se reproduce a saltos es una experiencia horrible. En este caso el peso de los archivos no es tan relevante y se busca conservar la calidad de los archivos fuente, por lo que códecs como DNxHD o ProRes suelen ser opciones muy utilizadas; además, su decodificación es menos intensiva para la CPU que h264.

Perfil y parámetros admitidos

No todos los códecs están pensados para uso general. Los hay orientados a determinados campos, como la animación (donde se tiende a colores planos), a streaming (donde prevalece la capacidad de compresión), a captura (cámaras digitales), a edición de vídeo y VFX, etc.

De la misma forma, hay códecs que pueden procesar casi cualquier vídeo de entrada y hay códecs que sólo son compatibles con determinadas combinaciones de resolución y FPS (Frames per Second), entre otros parámetros de vídeo. Por ejemplo, DNxHD está orientado a resoluciones de 720p, 1080i, 1080p y determinados FPS. Sin embargo, su predecesor DNxHR es compatible incluso con resoluciones mucho más altas como 4K o 8K.

En ocasiones un códec puede tener diferentes perfiles o niveles. El perfil determina aspectos como la profundidad de bits (8, 10, 12 bits) y el chroma subsampling (4:2:0, 4:2:2, etc.), así como algunos umbrales de compresión de forma que el vídeo comprimido tenga mayores o menores pérdidas.

Codecs finales

Llamamos códecs finales a los utilizados para exportar un proyecto final, un vídeo que se consumirá directamente por parte del espectador. Estos códecs están pensados para intentar comprimir el vídeo al máximo procurando que se reste la menor cantidad de calidad visual posible.

Convirtiendo un vídeo a formato OGG con códec de vídeo Theora y códec de audio Vorbis.
Convirtiendo un vídeo a formato OGG con códec de vídeo Theora y códec de audio Vorbis (usando Chas Video Converter).

Hay que tener en cuenta que los códecs finales son bastante destructivos (aunque subjetivamente no se aprecie una bajada notable de la calidad) y no deben usarse durante una cadena de procesados a lo largo de un flujo de postproducción. Su aplicación debería ser al final de la cadena, para obtener un producto final.

mpeg1, mpeg2 y mpeg4

Técnicamente hablando, los MPEG son estándares de codificación creado por el grupo MPEG (Moving Picture Experts Group). El primer estándar de MPEG (MPEG-1) se utilizó para CD-Video, y posteriormente fue mejorado por MPEG-2, siendo usado en ámbitos como DVD y TV Digital.

MPEG-4 nace como evolución del códec MPEG-2 y añade nuevas y mejoradas formas de comprimir vídeo. A su vez, es un estándar en constante evolución y en el que se basa el popular códec H.264.

h264 y h265

El códec de vídeo H.264, también conocido como AVC o MPEG-4 parte 10 (debido al estándar del que proviene) es un códec de alta compresión con pérdidas que ha adquirido mucha popularidad en los últimos años, y lo podemos encontrar en una gran variedad de contextos.

  • Plataformas de VoD (Video on Demand) y Streaming: Youtube, Vimeo, Twitch, etc. lo proponen como una de las mejores opciones a la hora de exportar o transmitir vídeo en un ambiente web.
  • Cámaras digitales: especialmente popular entre las DSLR, el códec AVC es ampliamente utilizado en vídeo digital para cámaras semiprofesionales gracias a su alto ratio de compresión.
  • Blue Ray: MPEG-4 AVC se acabó posicionando como la mejor opción a la hora de codificar vídeo final de alta calidad para el formato Blue-Ray Disc.

H.265 es la evolución natural de H.264, y también es conocido como MPEG-H Parte2 o High Efficiency Video Coding (HEVC). Viene como mejora de la calidad visual con tasas menores de datos que las generadas por H.264 (es decir, mayor calidad con mayor ratio de compresión), y es compatible con la televisión en ultraalta definición y resoluciones hasta 8192x4320px.

Tanto H.264 como H.265 tienden a almacenarse en formatos contenedores MP4; sin embargo, también es posible usar MOV y MKV.

Theora

Theora es un códec de vídeo libre y de propósito general que se caracteriza por su bajo consumo de CPU. Se trata de una versión mejorada (por parte de Xiph.org) del códec de vídeo VP3 desarrollado por On2 Technologies.

Este códec resulta muy flexible al permitir subsampling 4:2:0, 4:2:2 y 4:4:4, aunque sólo trabaja con profundidad de 8 bits por píxel por color de canal.

El vídeo generado por el códec Theora se almacena en formatos OGG.

VP8 y VP9

Los códecs VP fueron inicialmente desarrollados por On2 Technologies, la cual fue adquirida por Google en 2009. En 2010 se liberó la versión VP8 como código abierto. VP9 no es más que la evolución natural del códec VP8.

Al igual que Theora, éstos códecs permiten subsampling 4:2:0, 4:2:2 y 4:4:4, aunque sólo trabajan con profundidad de 8 bits por píxel por color de canal. Hay que destacar que VP9 admite canal alfa y que además en versiones próximas admitirá 10 bits de profundidad de color.

El vídeo generado por los códecs VP8 y VP9 se almacena en formatos WEBM.

Codecs intermedios

Hablamos de códecs intermedios cuando se trata de códecs que aplican compresiones de muy poca pérdida al material, siendo adecuados para el intercambio de información de vídeo a lo largo de una cadena de postproducción en la que intervienen diferentes programas. Su principal objetivo es lograr mantener la calidad visual del material a lo largo de todo el flujo de trabajo.

Estos códecs tienen un subsampling de color mínimo de 4:2:2, aunque pueden aceptar subsampling mayores como el 4:4:4. Además, están pensados para soportar una profundidad de 8 y 10 bits por canal de color, a veces incluso 12.

Avid DNxHD y Avid DNxHR

Los DNx son códecs intermedios de poca pérdida de información, creados por la empresa Avid (desarrolladora de las aplicaciones profesionales Media Composer y Pro Tools, entre otras soluciones).

DNxHD es la implementación del códec DNx para material en formato HD, tanto de 1280×720 como de 1920×1080 píxeles. DNxHR, por su parte, es la implementación para resoluciones incluso mayores. Cabe destacar que cada familia tiene versiones diferentes (444, HQ, SQ, LB, etc.) que permiten aplicar compresiones más o menos agresivas, en función de nuestras necesidades.

Diferentes perfiles del códec DNxHR para una resolución de 4K.
Algunos de los diferentes perfiles del códec DNxHR para una resolución de 4K.

Los vídeos codificados con DNx se almacenan en formatos contenedores compatibles como son MOV o MXF.

Apple ProRes

ProRes es una línea de códecs desarrollados por Apple e introducidos en 2007 para su exitoso editor de vídeo Final Cut. Es, en líneas generales, un conjunto de códecs muy parecido al ofrecido por los AVID DNx, ofreciendo una gama amplia de perfiles para diferentes necesidades.

Una de las peculiaridades de ProRes es que puede incluir canal alpha (canal de transparencia).

Diferentes perfiles del códec ProRes para una resolución de 4K.
Algunos de los diferentes perfiles del códec ProRes para una resolución de 4K.

Codecs de captación o producción

En el ámbito profesional encontramos cámaras de alta gama que capturan vídeo en diversos formatos, donde lo normal es encontrar material en RAW o códecs como ProRes o DNx con perfiles de muy alta calidad (es decir, baja compresión).

RAW

Hablamos de RAW cuando el material es respetado tal cual lo captura el sensor de la cámara. A veces se le da formato para incluirlo en un contenedor digital, pero a efectos práctico la señal de vídeo es respetada y no se altera; es decir, no se le aplica compresión.

Tabla con ejemplos de códecs usados en diferentes cámaras profesionales.
Tabla con ejemplos de códecs usados en diferentes cámaras profesionales, así como sistemas de color, subsampling, profundidad de color, resolución y contenedores digitales utilizados.

Secuencias de imágenes

La exportación de secuencias de imágenes es una forma muy común de generar vídeo. Al igual que en el Stop Motion se crea animación a partir de fotografías de los sujetos (que son animados manualmente), es muy típico exportar un proyecto como imágenes individuales.

La ventaja de esta técnica es que nos permite escoger entre una amplia variedad de formatos de imagen: JPG, PNG, TIFF, EXR, DPX, Targa, etc., pudiendo elegir aquél que comprima la información de la forma o´ptima para nuestro caso. Además, muchos de los formatos de imagen mencionados soportan canal alfa (transparencia), lo cual es más difícil de encontrar en los códecs de vídeo.

Los programas de postproducción de vídeo (como los son los editores de vídeo o aplicaciones de efectos visuales) trabajan perfectamente con las secuencias de imágenes.

A veces las secuencias de imagen se pueden almacenar en un formato contenedor como si de un vídeo se tratara; un ejemplo de ello es la exportación de una secuencia de PNGs embebidos en un contenedor MOV.

Animation

Se menciona aquí el códec Animation, que usa un contenedor MOV, al ser una alternativa interesante a las secuencias de imágenes vistas previamente. Es un códec orientado a animación, y más concretamente, a imágenes con gran cantidad de colores planos; en cambio, no es bueno para imágenes realistas con mucho detalle y degradados. Otra característica importante es que admite canal alfa.

Entrada siguiente
Codecs de audio

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Rellena este campo
Rellena este campo
Por favor, introduce una dirección de correo electrónico válida.
Tienes que aprobar los términos para continuar

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.