
Códec
glossary.categories.technicalSoftware que comprime y descomprime datos de audio/video para una transmisión eficiente
¿Qué es un Códec?
Un códec (compresor-descompresor o codificador-decodificador) es software o hardware que comprime datos de audio y video sin procesar en un formato más pequeño para su transmisión y luego los descomprime para su reproducción. Piénsalo como un traductor que toma la enorme cantidad de datos de tu cámara y micrófono, los comprime hasta algo que tu conexión a internet pueda manejar, y luego los expande de vuelta en el otro extremo para que el receptor te vea y escuche claramente.
Sin códecs, las videollamadas serían imposibles para la mayoría de los usuarios. El video sin comprimir a 1080p a 30fps requiere aproximadamente 1.5 Gbps de ancho de banda. Los códecs comprimen esto a 1-3 Mbps para videollamadas de alta calidad, una reducción de 500-1500× mientras mantienen una calidad visual que se ve casi idéntica al original.
Cómo funcionan los Códecs
Los códecs de video explotan la redundancia y las limitaciones de la percepción humana:
- Compresión espacial: Dentro de cada fotograma, grandes áreas son a menudo similares. El códec almacena patrones una vez y los referencia en otros lugares
- Compresión temporal: Los fotogramas consecutivos son usualmente muy similares. El códec almacena un fotograma completo ocasionalmente (fotograma clave) y solo los cambios (fotogramas delta) para los fotogramas subsiguientes
- Compresión perceptual: Los ojos humanos son menos sensibles a ciertos detalles (como el color exacto en áreas oscuras). Los códecs descartan información que no notarías de todos modos
- Transformadas matemáticas: Técnicas como DCT (Transformada Discreta del Coseno) convierten datos de imagen al espacio de frecuencias donde se comprimen más eficientemente
Códecs obligatorios de WebRTC
RFC 7742 especifica que todos los navegadores compatibles con WebRTC DEBEN soportar ciertos códecs para asegurar la interoperabilidad:
Video: VP8 y H.264
Todo navegador WebRTC debe soportar VP8 y H.264 perfil Constrained Baseline. Esto garantiza que cualquiera dos clientes WebRTC puedan establecer una videollamada usando al menos un códec común.
Audio: Opus y G.711
Todo navegador WebRTC debe soportar Opus y G.711. Opus es la opción preferida: es superior en calidad y eficiencia. G.711 existe principalmente para compatibilidad con sistemas VoIP heredados.
Códecs de video en detalle
VP8 (2008)
VP8 es el códec de video abierto y libre de regalías de Google. Es el códec base que toda implementación WebRTC soporta. Ventajas: 100% gratis, soporte universal en navegadores, bajo uso de CPU. Desventajas: eficiencia de compresión anticuada comparada con códecs más nuevos.
H.264/AVC (2003)
H.264 es el códec de video más ampliamente desplegado en la historia. Ventajas: excelente eficiencia de compresión, aceleración por hardware casi universal, muy maduro. Desventajas: tarifas de licencia, no tan eficiente como VP9 o AV1 a tasas de bits muy bajas.
VP9 (2013)
VP9 es el sucesor de VP8 de Google, ofreciendo significativamente mejor compresión mientras permanece libre de regalías. Ofrece 50% de reducción de tasa de bits comparado con VP8 para calidad similar. Desventajas: mayor uso de CPU, no soportado en Safari.
AV1 (2018)
AV1 es el códec más nuevo libre de regalías de la Alliance for Open Media. 30% mejor compresión que VP9, 50% mejor que H.264. Desventajas: codificación muy intensiva en CPU, soporte de codificador por hardware aún emergente en 2025.
Códecs de audio
Opus (Obligatorio, Preferido)
Opus es el códec de audio preferido de WebRTC. Maneja tanto voz como música excepcionalmente bien, con tasa de bits adaptativa de 6 kbps a 510 kbps, baja latencia, libre de regalías y mejor calidad que AAC o MP3 a cualquier tasa de bits.
Recomendaciones prácticas (2025)
Para videollamadas generales, prefiere H.264 en dispositivos con soporte de hardware. Usa VP8 como respaldo para compatibilidad universal. Considera VP9 para aplicaciones de escritorio donde la CPU está disponible y el ancho de banda es limitado. Para móviles, siempre prefiere H.264 ya que la aceleración por hardware ahorra batería significativamente. Y siempre usa Opus para audio.
Referencias
- WebRTC Codecs - What's supported? - Stream
- Codecs used by WebRTC - Media - Mozilla Developer Network
- Comparison of WebRTC Codecs for Video and Screen Sharing - WebRTC for Developers
- WebRTC video codec generations - BlogGeek.me