Ogg
# Ogg

Ogg (a volte indicato anche come Ogg Media) è un formato contenitore libero per il trasporto di flussi di bit progettato con l'intento di permettere sia lo streaming che l'archiviazione in maniera efficiente.

Il nome "Ogg" si riferisce al formato di file, che include un numero di codec indipendenti per il video, l'audio ed il testo (ad esempio, per i sottotitoli). I file con l'estensione ".ogg" possono contenere uno qualsiasi dei formati supportati, e poiché il formato è liberamente implementabile, i vari codec ogg sono stati incorporati in molti riproduttori multimediali, sia proprietari, sia liberi.

Spesso il termine "ogg" è stato usato per indicare il formato di file audio Ogg Vorbis, cioè un file audio codificato in un file ogg con l'algoritmo Vorbis, poiché questo è stato il primo codec ad usare il contenitore ogg. Altri importanti codec sviluppati per il contenitore ogg sono Theora per la compressione video, e Speex, un algoritmo ottimizzato per la compressione del parlato.

Il progetto è stato sviluppato originariamente da Christopher Montgomery della Xiph.Org Foundation.

È inoltre il formato ufficialmente preferito per i file audio e video di Wikipedia.

## Licenze

Le specifiche di Ogg sono di pubblico dominio. Le librerie di riferimento per la codifica e decodifica sono rilasciate sotto licenza BSD. Gli strumenti ufficiali per la gestione del container sono rilasciati sotto GNU General Public License (GPL).

## I codec di Ogg

Ogg è solo un formato che specifica il modo in cui i dati devono essere ordinati nel flusso dati. I dati audio o video codificati da un codec specifico saranno inseriti nel contenitore Ogg. Il contenitore Ogg può contenere flussi codificati con diversi codec: ad esempio, un file audio/video conterrà dati codificati con un codec audio e dati codificati con un codec video.

Essendo un formato di contenimento, Ogg può integrare diversi codec. Di seguito le specifiche di Xiph.org in tal senso:

### Codec video

| | Supporto | Note |
| - | - | - |
| MPEG | No | Famiglia di codec video del Moving Picture Experts Group. |
| WMV | No | Codec video per lo streaming sviluppato da Microsoft |
| Theora | Sì | Codec video basato su VP3 sviluppato da On2 Technologies. |
| Dirac | Sì | Codec sperimentale open source sviluppato da BBC. |
| Tarkin | Sì | Codec sperimentale che utilizza trasformate wavelet 3D, reso obsoleto da Theora. |
| OggUVS | Sì | Stream video non compresso |

### Codec audio

| | Supporto | Note |
| - | - | - |
| MP3 | No | Codec audio lossy dell'Istituto Fraunhofer |
| WAVEform audio | No | Codec audio non compresso sviluppato da Microsoft |
| WMA | No | Codec audio compresso sviluppato da Microsoft |
| Vorbis | Sì | Codec audio generico (~16-256 kbit/s/canale) |
| Speex | Sì | Codec per voce umana a bassi bitrate (~8-32 kbit/s/canale) |
| FLAC | Sì | Codec audio lossless. |
| OggPCM | Sì | Stream PCM non compresso paragonabile al WAVEform audio. |
| Opus | Sì | Codec per voce, musica e audio generico (~6-510 kbit/s/canale). |

### Codec testo

| | Supporto | Note |
| - | - | - |
| Writ | Sì | Codec testuale per incorporare i sottotitoli o le didascalie |
| CMML | Sì | Codec per la gestione dei metadati temporizzati, sottotitoli e formattazione. |
| Annodex | Sì | Standard sviluppati da CSIRO |
| OggKate | Sì | Codec OGG sviluppato per il karaoke e per i sottotitoli. |

### Metadati

* Ogg Skeleton: formato ancora in fase sviluppo per spostare i metadati dal livello flusso a livello contenitore

### Il problema dell'estensione file

Sebbene Xiph.org avesse previsto originariamente l'estensione .ogg per il contenitore a prescindere dall'effettivo codec contenuto, l'organizzazione è ritornata sui suoi passi nel 2007, raccomandando di impiegare le seguenti estensioni per i file Ogg:

* .ogg per Ogg contenente solo audio in formato Vorbis
* .spx per Ogg contenente solo audio in formato Speex
* .oga per Ogg contenente solo audio in FLAC o OggPCM
* .ogv per Ogg contenente almeno un flusso video

A queste si aggiunge l'estensione .flac utilizzata per identificare un flusso FLAC privo del container Ogg. Il formato FLAC era infatti già esistente e funzionante indipendentemente dal contenitore Ogg, e solo in seguito donato a Xiph.org.

Prima di questa presa di posizione, il programmatore Tobias Waldvogel era intervenuto sulle specifiche di Ogg per permettergli di aggirare la limitazione del formato AVI di Microsoft al riguardo dell'audio in formato Vorbis. Per identificare uno di questi file Ogg, che contengono codec audio e video arbitrari, la comunità ha autonomamente fatto nascere l'estensione non ufficiale .ogm, con il significato di Ogg Media. Il contenuto più frequentemente riscontrato in questi file è un flusso video XviD e almeno un flusso audio Vorbis.

