¿Qué Son OGG y Vorbis?
OGG y Vorbis son dos tecnologías distintas pero relacionadas de la Fundación Xiph.Org:
- Ogg es un formato contenedor (como MKV o MP4) — un multiplexor de flujo de bits que empaqueta uno o más flujos de bits lógicos (audio, vídeo, metadatos) en un único archivo o flujo de red. Es libre de patentes y regalías.
- Vorbis es un códec de audio — un algoritmo de compresión con pérdida similar en objetivo a MP3 y AAC. Opera dentro del contenedor Ogg.
Cuando la gente dice "archivo OGG", casi siempre significa "audio Vorbis en un contenedor Ogg" — un archivo .ogg. Pero Ogg también puede contener vídeo Theora, audio Opus, audio FLAC (OggFLAC), y otros códecs.
Vorbis fue desarrollado por Christopher Montgomery (Monty) a partir de 1998 y alcanzó la versión estable 1.0 en 2002. En su momento fue revolucionario: una alternativa gratuita y de alta calidad al MP3 encumbrado por patentes.
El Formato Contenedor Ogg
Estructura de Página
Los flujos de bits Ogg se dividen en páginas — la unidad fundamental del contenedor Ogg. Cada página contiene:
capture_pattern: 4 bytes "OggS" (0x4F676753)
stream_structure_version: 1 byte (siempre 0)
header_type_flag: 1 byte
bit 0: paquete continuado
bit 1: primera página (bos — inicio de flujo)
bit 2: última página (eos — fin de flujo)
granule_position: 8 bytes (posición de muestra, definida por el códec)
bitstream_serial_number: 4 bytes (identifica el flujo lógico)
page_sequence_number: 4 bytes
checksum: 4 bytes (CRC-32)
number_of_segments: 1 byte
segment_table: [number_of_segments] bytes
data: [suma de tamaños de segmento] bytes
El tamaño máximo de página es de 65.536 bytes. La granule position almacena el número de muestra PCM para Vorbis.
Flujos Lógicos y Encadenamiento
Cada flujo lógico tiene un número de serie único. Múltiples flujos pueden estar:
- Multiplexados: intercalados dentro del mismo archivo
- Encadenados: añadidos secuencialmente (concatenar dos archivos
.oggcrea un flujo Ogg encadenado válido)
Las primeras tres páginas de un flujo Vorbis son siempre cabeceras: cabecera de identificación, cabecera de comentario y cabecera de configuración.
El Códec Vorbis
Base Psicoacústica
Como MP3 y AAC, Vorbis explota la percepción auditiva humana:
- Modelo de enmascaramiento: Los sonidos fuertes enmascaran sonidos más suaves en frecuencias cercanas (enmascaramiento simultáneo) y justo antes/después (enmascaramiento temporal).
- Bandas críticas: El sistema auditivo procesa el sonido en bandas de frecuencia superpuestas de anchura aproximadamente constante. Vorbis modela 25 bandas críticas (escala Bark).
- Umbral absoluto de audición: Los sonidos muy suaves por debajo del umbral de detección del oído pueden omitirse completamente.
Transformada MDCT
Vorbis usa la Transformada Discreta del Coseno Modificada (MDCT) con dos tamaños de ventana:
- Ventana corta: 256 muestras (128 coeficientes MDCT) — captura transitorios con alta resolución temporal
- Ventana larga: 2048 muestras (1024 coeficientes MDCT) — captura tonos sostenidos con alta resolución frecuencial
Modos de Calidad
Vorbis usa un sistema VBR basado en calidad en lugar de una tasa de bits fija:
| Calidad | Tasa de bits aprox. | Caso de uso |
|---|---|---|
| -q 0 | ~64 kbps | Streaming de bajo ancho de banda |
| -q 2 | ~96 kbps | Streaming básico |
| -q 4 | ~128 kbps | Calidad estándar |
| -q 6 | ~192 kbps | Alta calidad |
| -q 8 | ~256 kbps | Muy alta calidad |
| -q 10 | ~500 kbps | Calidad de archivo |
El valor predeterminado es -q 3 (~112 kbps).
Codificación y Decodificación
FFmpeg (Más Común)
# Convertir MP3 a OGG Vorbis (calidad por defecto ~128 kbps)
ffmpeg -i entrada.mp3 -c:a libvorbis salida.ogg
# Nivel de calidad específico
ffmpeg -i entrada.wav -c:a libvorbis -q:a 6 salida.ogg
# Tasa de bits específica (modo ABR)
ffmpeg -i entrada.wav -c:a libvorbis -b:a 192k salida.ogg
# OGG a MP3
ffmpeg -i entrada.ogg -c:a libmp3lame -q:a 2 salida.mp3
oggenc/oggdec (Herramientas de Referencia)
# Codificar WAV a OGG
oggenc -q 6 entrada.wav -o salida.ogg
# Decodificar OGG a WAV
oggdec entrada.ogg -o salida.wav
Vorbis Comment (Metadatos)
Vorbis usa un sistema de metadatos simple de clave=valor llamado Vorbis Comment:
TITLE=Bohemian Rhapsody
ARTIST=Queen
ALBUM=A Night at the Opera
DATE=1975
TRACKNUMBER=11
GENRE=Rock
Las claves distinguen mayúsculas y minúsculas, pueden repetirse (múltiples valores ARTIST), y pueden contener cualquier cadena UTF-8.
OGG/Vorbis vs Competidores
| Característica | OGG/Vorbis | MP3 | AAC (M4A) | Opus |
|---|---|---|---|---|
| Licencia | Sin patentes | Patente expirada (2017) | Sin regalías de reproducción | Sin patentes |
| Calidad a 128 kbps | Muy buena | Buena | Mejor | La mejor |
| Calidad a 64 kbps | Aceptable | Pobre | Aceptable | Excelente |
| Latencia | Alta (tramas de 2048 muestras) | Media | Media | Muy baja (20ms) |
| Soporte en navegadores | Firefox, Chrome | Universal | Universal | Firefox, Chrome, Edge, Safari 17+ |
| Mejor para | Audio Linux/escritorio | Compatibilidad heredada | Ecosistema Apple | Streaming moderno |
Conclusión clave: Vorbis fue el mejor códec de audio gratuito de 2002 a 2012. Para nuevos proyectos, Opus (también en un contenedor Ogg, extensión .opus) es estrictamente superior. Vorbis sigue siendo excelente para contenido y flujos de trabajo existentes.
OGG/Vorbis en la Práctica
Audio de videojuegos: El códec Vorbis se usa extensamente en juegos — está incluido en Unity, Unreal Engine y muchos SDKs de juegos como formato preferido para música y efectos de sonido largos.
Escritorio Linux: OGG/Vorbis es el formato de audio predeterminado en muchas distribuciones Linux, con soporte nativo en GTK, aplicaciones Qt y pipelines GStreamer.
Wikipedia: Todo el audio de Wikipedia se sirve como OGG/Vorbis por razones legales (libre de patentes).
Conversión de bibliotecas MP3 existentes: La transcodificación MP3→OGG incurre en pérdida de calidad generacional. Siempre transcodifica desde fuentes sin pérdida (FLAC, WAV).
Conversiones relacionadas
Pares de formatos de audio más frecuentes: