Oggページ
すべての Oggページは4バイトのmagic「OggS(4F 67 67 53)」で始まる。同期を見失った場合、デコーダはデコード再開のため、次に出現するOggSを探すことができる。この文字列の次にはOgg version 0を示すnull byteが続く。 2004年の時点ではOggの公式バージョンはこれのみであり、より新しいバージョンの計画はない。
次のバイトではtype flagsを指定する。
これらの値は addition または OR によって結合される。
次の 8バイト(または 64ビット)は absolute granule position と呼ばれ、そのページからデコードされるデータの時間オフセットを指定している。この数が意味するものはビデオコーデックにより異なるが、しばしば動画データのサンプルやフレームを参照する。Theoraのように、このフィールドをキーフレームと中間フレーム(interframes)に分離して使っているコーデックもある。
次の4バイトはこのページが属するstream serial numberであり、その次の4バイトはストリーム内のpage sequence numberである。
次の(23バイト目から始まる)4バイトはページのCRCチェックサムである。このフィールドの値は変化するため、このフィールドをゼロとしてチェックの結果が算出される。
27バイト目は0~255の値を取り、含まれているセグメント数を指定する。これは次に続くセグメントテーブルのサイズでもあり、単位はバイトである。セグメントテーブルの各バイトはセグメントの長さを示す。各セグメントは長さにおいて 255バイトまでの長さを取り得、ページによって結束される。