Skip to content
— CH. 1 · ORIGINS AND NAMING —

Ogg

~4 min read · Ch. 1 of 5
5 sections
  • In 1993, a small group of developers launched an audio compression project they called Squish. The name was chosen for its simplicity and the idea of squeezing data into smaller spaces. However, legal challenges arose quickly when another entity claimed trademark rights to that specific word. The team had to abandon Squish and adopt a new identity for their work. They settled on OggSquish, a hybrid name that kept the original spirit while avoiding legal trouble. By 2001, the project had evolved enough to drop the second half of the name entirely. It became simply Ogg, a term derived from computer game jargon used in Netrek. In that game, ogging meant performing an action with such force that it drained future resources. The founders felt this description matched their ambitious goals given the limited computing power available at the time. The name stuck even as the scope expanded beyond just audio compression. Today, Vorbis refers to the audio codec within the larger Ogg container framework.

  • The core structure of an Ogg file begins with four ASCII characters: O-g-g-S. This sequence acts as a magic number to identify any page belonging to the format. Each page contains metadata fields like version, header type, and granule position. A serial number distinguishes one logical bitstream from another within the same file. Pages are numbered sequentially starting from zero to track order and detect missing data. Checksums verify integrity by calculating CRC-32 values across all content including headers. Segment tables define how many bytes exist per segment inside each page body. When a segment reaches 255 bytes, it signals continuation into the next segment or page. Chaining allows multiple bitstreams to be appended together for sequential decoding. This design enables flexible multiplexing of independent streams without requiring fixed frame sizes. Developers could build parsers using libogg libraries released under the New BSD License. These tools remain free software today while supporting complex multimedia workflows.

  • Ogg functions strictly as a container rather than encoding itself. Inside its boundaries lie various codecs handling different types of media. Speex handles voice data at low bitrates ranging between 2.1 and 32 kilobits per channel. Vorbis manages general audio across mid to high variable bitrates around 16 to 500 kilobits per channel. Opus combines both capabilities offering flexibility for voice music and generic audio applications. FLAC provides lossless archival quality suitable for high fidelity recordings. OggPCM stores standard uncompressed PCM audio directly within the container structure. Video layers often rely on Theora which competes with formats like DivX or Xvid. Daala remains under development as an experimental video coding format. Dirac offers wavelet-based compression developed by the BBC including lossless options. Text overlays use Annodex standards created by CSIRO to annotate networked media. Continuous Media Markup Language once served captioning purposes before being deprecated. These components coexist freely within the same file allowing diverse content integration.

  • Until the 16th of May 2007, all files using the Ogg container carried the .ogg extension regardless of their internal contents. This universal approach caused confusion when users tried distinguishing audio from video streams based solely on filenames. On that date, the Xiph.Org Foundation recommended splitting usage into specialized extensions. Audio-only files adopted .oga while videos received .ogv regardless of sound presence. Multiplexed containers took on .ogx to indicate combined multimedia elements. RFC 3534 was obsoleted later in September 2008 adding these new types officially. File type registration occurred through IANA assigning audio/ogg and video/ogg designations. Later additions included .spx for Speex audio and .opus for Opus specific tracks. The shift aimed to clarify intent without changing underlying technical structures. Software developers updated players accordingly to recognize these distinctions automatically. Users gained clearer expectations about what each file contained simply by viewing its name.

  • By the 30th of June 2009, Firefox 3.5 became the first major browser to include full support for HTML5 video and audio elements via Theora and Vorbis codecs. Prior to this milestone, many digital audio players supported the format though not universally. Game engines integrated Ogg extensively including Doom 3 Unreal Tournament 2004 Halo Combat Evolved and Minecraft Java versions. Multimedia projects hosted on Wikimedia Foundation platforms frequently utilized free content encoded with Ogg standards. In May 2007 the Free Software Foundation launched campaigns encouraging adoption as an ethical alternative to proprietary MP3 formats. Developers created QuickTime components for iTunes and iMovie applications running on Windows or Mac OS X systems. VLC media player served as a recommended tool during promotional efforts while other options remained available. By the 7th of November 2017 libogg version 1.3.3 represented the current reference implementation maintained by Xiph.Org Foundation. Work continued on libogg2 awaiting rewrite completion as of 2018 despite ongoing development status. These efforts ensured broad compatibility across commercial non-commercial portable GPS receivers and embedded devices worldwide.

Common questions

When did the audio compression project originally called Squish change its name to Ogg?

The team abandoned the name Squish in 1993 due to legal challenges and eventually adopted the name Ogg by 2001. The new name derived from computer game jargon used in Netrek where ogging meant performing an action with such force that it drained future resources.

What are the four ASCII characters that identify any page belonging to the Ogg container format?

The core structure of an Ogg file begins with four ASCII characters: O-g-g-S which acts as a magic number to identify any page belonging to the format. This sequence allows parsers using libogg libraries released under the New BSD License to verify integrity through CRC-32 checksums across all content including headers.

Which codecs handle voice data at low bitrates within the Ogg container framework?

Speex handles voice data at low bitrates ranging between 2.1 and 32 kilobits per channel inside the Ogg container boundaries. Other codecs like Vorbis manage general audio while Opus combines both capabilities for flexible applications involving voice music and generic audio streams.

On what date did the Xiph.Org Foundation recommend splitting usage into specialized extensions for Ogg files?

Until the 16th of May 2007 all files using the Ogg container carried the .ogg extension regardless of their internal contents. On that date the foundation recommended splitting usage so audio-only files adopted .oga while videos received .ogv and multiplexed containers took on .ogx.

When did Firefox 3.5 become the first major browser to include full support for HTML5 video and audio elements via Theora and Vorbis codecs?

By the 30th of June 2009 Firefox 3.5 became the first major browser to include full support for HTML5 video and audio elements via Theora and Vorbis codecs. Prior to this milestone many digital audio players supported the format though not universally across all systems.