Extensión de nombre de archivo | .ogg, .ogv, .oga, .ogx, .ogm, .spx, .opus |
---|---|
Tipo de medio de Internet | vídeo/ogg, audio/ogg, aplicación/ogg |
Número mágico | OggS |
Desarrollado por | Fundación Xiph.Org |
Lanzamiento inicial | Mayo de 2003 ( 2003-05 ) |
Tipo de formato | Formato de contenedor |
Contenedor para | Vorbis , Theora , Speex , Opus , FLAC , Dirac y otros. |
¿ Formato abierto ? | Sí |
¿ Formato libre ? | Sí [1] |
Desarrollador(es) | Fundación Xiph.Org |
---|---|
Lanzamiento inicial | 22 de septiembre de 2004 ( 22 de septiembre de 2004 ) |
Versión estable | 1.3.5 / 4 de junio de 2021 ( 04/06/2021 ) |
Tipo | Implementación de referencia ( multiplexor / demultiplexor ) |
Licencia | Licencia estilo BSD [2] |
Sitio web | downloads.xiph.org/releases/ogg/ |
Ogg es un formato contenedor abierto y gratuito mantenido por la Fundación Xiph.Org . Los autores del formato Ogg afirman que no está sujeto a restricciones de patentes de software [3] y está diseñado para permitir la transmisión y manipulación eficiente de multimedia digital de alta calidad . Su nombre deriva de "ogging", jerga del juego de computadora Netrek . [4]
El formato contenedor Ogg puede multiplexar una serie de transmisiones independientes de audio , video , texto (como subtítulos ) y metadatos .
En el marco multimedia Ogg, Theora proporciona una capa de vídeo con pérdida . La capa de audio suele estar a cargo del formato orientado a la música Vorbis o su sucesor Opus . Los formatos de compresión de audio sin pérdida incluyen FLAC y OggPCM .
Antes de 2007, la extensión de nombre de archivo .ogg se utilizaba para todos los archivos cuyo contenido utilizaba el formato contenedor Ogg. Desde 2007, la Fundación Xiph.Org recomienda que .ogg solo se utilice para archivos de audio Ogg Vorbis. La Fundación Xiph.Org decidió crear un nuevo conjunto de extensiones de archivo y tipos de medios para describir diferentes tipos de contenido, como .oga para archivos de solo audio, .ogv para video con o sin sonido (incluido Theora) y .ogx para Ogg multiplexado. [5]
A fecha de 7 de noviembre de 2017, la versión actual de la implementación de referencia de la Fundación Xiph.Org es libogg 1.3.3. [6] Otra versión, libogg2, ha estado en desarrollo, pero está esperando una reescritura a fecha de 2018. [7] Ambas bibliotecas de software son software libre , publicadas bajo la licencia New BSD . La implementación de referencia de Ogg se separó de Vorbis el 2 de septiembre de 2000. [8]
Los diversos códecs de Ogg se han incorporado a varios reproductores multimedia gratuitos y propietarios , tanto comerciales como no comerciales, así como a reproductores multimedia portátiles y receptores GPS de diferentes fabricantes.
El proyecto Ogg Vorbis comenzó en 1993. Originalmente se llamaba "Squish", pero ese nombre ya era una marca registrada, por lo que el proyecto sufrió un cambio de nombre. El nuevo nombre, "OggSquish", se utilizó hasta 2001, cuando se cambió nuevamente a "Ogg". Desde entonces, Ogg pasó a referirse al formato contenedor , que ahora forma parte del proyecto multimedia más grande Xiph.org. Hoy, "Squish" (ahora conocido como "Vorbis") se refiere a un formato de codificación de audio particular que se usa típicamente con el formato contenedor Ogg.
Ogg se deriva de "ogging", jerga del juego de computadora Netrek , que llegó a significar hacer algo a la fuerza, posiblemente sin considerar el drenaje de recursos futuros. [4] [ verificación fallida ] En sus inicios, los autores pensaron que el proyecto Ogg era algo ambicioso dada la potencia limitada del hardware de PC de la época. Aunque el nombre "Ogg" no está relacionado con el personaje " Nanny Ogg " en las novelas de Mundodisco de Terry Pratchett , "Vorbis" lleva el nombre de otro personaje de Terry Pratchett del libro Small Gods . [9]
El formato de flujo de bits "Ogg" , diseñado principalmente por la Fundación Xiph.Org, ha sido desarrollado como el marco de una iniciativa más amplia destinada a producir un conjunto de componentes para la codificación y decodificación de archivos multimedia, que están disponibles de forma gratuita y se pueden reimplementar libremente en software y hardware.
El formato consta de fragmentos de datos, cada uno de los cuales se denomina " página Ogg ". Cada página comienza con los caracteres "OggS" para identificar el archivo como formato Ogg.
Un "número de serie" y un "número de página" en el encabezado de la página identifican cada página como parte de una serie de páginas que forman un flujo de bits . Se pueden multiplexar varios flujos de bits en el archivo, donde las páginas de cada flujo de bits se ordenan según el tiempo de búsqueda de los datos que contienen. Los flujos de bits también se pueden anexar a archivos existentes, un proceso conocido como "encadenamiento", para hacer que los flujos de bits se decodifiquen en secuencia.
Existe una biblioteca con licencia BSD , denominada "libvorbis", disponible para codificar y decodificar datos de transmisiones "Vorbis". Se utilizan implementaciones independientes de Ogg en varios proyectos, como RealPlayer y un conjunto de filtros DirectShow . [10]
Mogg, el "Multi-Track-Single-Logical-Stream Ogg-Vorbis", es el formato de archivo Ogg multicanal o multipista.
El siguiente es el diseño del campo de un encabezado de página Ogg:
Poco | Valor | Bandera | Tipo de página |
---|---|---|---|
0 | 0x01 | Continuación | El primer paquete de esta página es una continuación del paquete anterior en el flujo de bits lógico. |
1 | 0x02 | BOS | Comienzo de la secuencia. Esta página es la primera página de la secuencia de bits lógica. El indicador BOS debe estar configurado en la primera página de cada secuencia de bits lógica y no debe estar configurado en ninguna otra página. |
2 | 0x04 | EOS | Fin de secuencia. Esta página es la última página de la secuencia de bits lógica. El indicador EOS debe configurarse en la página final de cada secuencia de bits lógica y no debe configurarse en ninguna otra página. |
Los segmentos proporcionan una forma de agrupar segmentos en paquetes, que son unidades de datos significativas para el decodificador. Cuando se indica que la longitud del segmento es 255, esto indica que el segmento siguiente se debe concatenar con este y es parte del mismo paquete. Cuando la longitud del segmento es 0-254, esto indica que este segmento es el segmento final en este paquete. Cuando la longitud de un paquete es un múltiplo de 255, el segmento final tiene una longitud de 0.
Cuando el paquete final continúa en la página siguiente, el valor del segmento final es 255 y el indicador de continuación se establece en la página siguiente para indicar que el inicio de la nueva página es una continuación de la página anterior.
VorbisComment es un formato de metadatos de nivel básico creado inicialmente para su uso con Ogg Vorbis. Desde entonces, se ha adoptado en las especificaciones de encapsulaciones Ogg para otros códecs Xiph.Org, incluidos Theora , Speex , FLAC y Opus . VorbisComment es el mecanismo más simple y con mayor soporte para almacenar metadatos con códecs Xiph.Org. [11]
En particular, [ se necesita atribución ] uno o más METADATA_BLOCK_PICTURE=... en un VorbisComment para miniaturas y carátulas tienen valores codificados en Base64 del FLAC METADATA_BLOCK_PICTURE correspondiente . En otras palabras, FLAC almacena miniaturas y carátulas en bloques binarios, fuera de las etiquetas FLAC en un formato little-endian METADATA_BLOCK_VORBIS_COMMENT . [12] [13]
Otros mecanismos existentes y propuestos son: [14]
El proyecto Ogg comenzó con un paquete de compresión de audio simple como parte de un proyecto más grande en 1993. [9] El software se llamó originalmente Squish, pero debido a una marca registrada existente, se le cambió el nombre a OggSquish . Este nombre se utilizó más tarde para todo el proyecto Ogg. En 1997, Xiphophorus OggSquish fue descrito como "un intento tanto de crear un formato de audio comprimido flexible para aplicaciones de audio modernas como de proporcionar el primer formato de audio que es común en todas y cada una de las plataformas informáticas modernas". [16] En 2000, OggSquish fue mencionado como "un grupo de varios proyectos relacionados de procesamiento de señales y multimedia". En 2000, dos proyectos estaban en desarrollo activo para su lanzamiento planificado: el formato Ogg Vorbis y libvorbis, la implementación de referencia de Vorbis. La investigación también incluyó trabajo sobre la codificación futura de video y audio sin pérdida. [9] [17] [18] [19] [20] En 2001, OggSquish pasó a llamarse Ogg y se lo describió como "el paraguas de un grupo de varios proyectos relacionados con el procesamiento de señales y multimedia". [21] Ogg pasó a representar el formato de archivo , como parte del proyecto multimedia más grande Xiph.org. Squish se convirtió simplemente en el nombre de uno de los códecs Ogg. [9] En 2009, Ogg se describe como "un formato contenedor multimedia y el formato nativo de archivos y transmisiones para los códecs multimedia Xiph.org". [22]
La implementación de referencia Ogg se separó de Vorbis el 2 de septiembre de 2000. [8]
En mayo de 2003, se publicaron dos RFC de Internet relacionadas con el formato. El flujo de bits Ogg se definió en el RFC 3533 (que se clasifica como "informativo") y su tipo de contenido de Internet ( application/ogg
) en el RFC 3534 (que es, a partir de 2006 [actualizar], un protocolo estándar propuesto). En septiembre de 2008, el RFC 3534 quedó obsoleto por el RFC 5334, que agregó los tipos de contenido video/ogg
y audio/ogg
las extensiones de nombre de archivo .ogx, .ogv, .oga, .spx.
En 2002, la falta de compatibilidad formal con vídeo en Ogg dio lugar al desarrollo del formato de archivo OGM , un hack de Ogg que permitía la incrustación de vídeo desde el marco Microsoft DirectShow en un contenedor basado en Ogg. OGM inicialmente sólo era compatible con herramientas de código cerrado exclusivas de Windows, pero posteriormente se abrió el código base. Más tarde, se especificó formalmente la compatibilidad con vídeo (y subtítulos) para Ogg, pero de una manera incompatible con OGM. Independientemente, el formato contenedor Matroska alcanzó la madurez y proporcionó una alternativa para las personas interesadas en combinar audio Vorbis y códecs de vídeo arbitrarios. Como resultado, OGM ya no es compatible ni se desarrolla y Xiph.org lo desaconseja formalmente. [23] Hoy en día, el vídeo en Ogg se encuentra con la extensión de archivo .ogv, que está especificada formalmente y es compatible oficialmente. El software y los códecs que admiten archivos .ogm están disponibles sin cargo. [24]
Aunque Ogg no había alcanzado ni de lejos la ubicuidad de los estándares MPEG [25] (por ejemplo, MP3 / MP4 ), a partir de 2006 [actualizar], se utilizaba comúnmente para codificar contenido libre (como música libre, multimedia en proyectos de la Fundación Wikimedia y archivos Creative Commons ) y había comenzado a ser compatible con una minoría significativa de reproductores de audio digital . También admitían el formato Ogg muchos motores de videojuegos populares, incluidos Doom 3 , Unreal Tournament 2004 , Halo: Combat Evolved , Jets'n'Guns , Mafia: The City of Lost Heaven , Myst IV: Revelation , StepMania , Serious Sam: The Second Encounter , Lineage 2 , Vendetta Online , Battlefield 2 y los motores de Grand Theft Auto , así como los archivos de audio del juego basado en Java , Minecraft . El códec Vorbis más popular tenía soporte integrado en muchos reproductores de software, y había extensiones disponibles para casi todos los demás.
El 16 de mayo de 2007, la Free Software Foundation inició una campaña para aumentar el uso de Vorbis "como una alternativa de audio ética, legal y técnicamente superior al formato propietario MP3". [26] También se animó a la gente a apoyar la campaña añadiendo un botón web a su sitio web o blog . Para aquellos que no querían descargar y utilizar el reproductor Ogg sugerido por la FSF ( VLC ), la Fundación Xiph.Org tenía un códec oficial [27] para aplicaciones basadas en QuickTime en Windows y Mac OS X , como reproductores iTunes y aplicaciones iMovie ; y los usuarios de Windows podían instalar un códec Ogg de Windows Media Player . [28]
Para el 30 de junio de 2009, el contenedor Ogg, a través del uso de Theora y Vorbis, era el único formato de contenedor incluido en la implementación de HTML5 y sus elementos del navegador web Firefox 3.5 . [29] [30] Esto estaba de acuerdo con la recomendación original delineada, pero luego eliminada, del borrador de especificación HTML5 (ver Controversia Ogg ). <video>
<audio>
El 3 de marzo de 2010, un análisis técnico realizado por un desarrollador de FFmpeg criticó las capacidades de propósito general de Ogg como formato contenedor multimedia. [31] El autor de Ogg respondió posteriormente a estas afirmaciones en un artículo propio. [32]
Ogg es solo un formato contenedor. El audio o el vídeo codificado por un códec se almacena dentro de un contenedor Ogg. Los contenedores Ogg pueden contener transmisiones codificadas con varios códecs; por ejemplo, un archivo de vídeo con sonido contiene datos codificados tanto por un códec de audio como por un códec de vídeo.
Al ser un formato contenedor, Ogg puede incrustar audio y video en varios formatos [33] [34] (como Dirac , MNG , CELT , MPEG-4 , MP3 y otros), pero Ogg fue pensado para ser usado, y usualmente lo es, con los siguientes codecs libres de Xiph.org :
Los medios de audio Ogg están registrados como un tipo de medio IANA con extensiones de archivo , y . Es un subconjunto adecuado del tipo de medio de video Ogg con extensión de archivo . Otras aplicaciones Ogg utilizan el tipo de medio con extensión de archivo ; este es un superconjunto de . [34] El tipo de medio Opus con extensión de archivo se registró más tarde en RFC 7587 y 7845 . audio/ogg.oga.ogg.spxvideo/ogg.ogvapplication/ogg.ogxvideo/oggaudio/opus.opus
3.3 Ogging: Es el arte de matar a un portador, o a un portador potencial, mediante una carrera suicida.
biblioteca nunca se publicó y ahora parece que necesita un rediseño.
{{cite web}}
: CS1 maint: URL no apta ( enlace )