Ogg

From XiphWiki

(Difference between revisions)
Jump to: navigation, search
(Implementations)
(23 intermediate revisions not shown)
Line 1: Line 1:
-
<div id="nolabel" style="overflow:auto;height:1px;">
+
The '''Ogg''' transport bitstream is designed to provide framing, error protection and seeking structure for higher-level codec streams that consist of raw, unencapsulated data packets, such as the [[Vorbis]] audio codec or [[Theora]] video codec.
 +
== Name ==
 +
Ogg derives from "ogging", jargon from the computer game Netrek.  Ogg is not an acronym and should not be mentioned as "OGG".
-
[http://www.action-meds.com cheap butalbital]
+
== Design constraints for Ogg bitstreams ==
-
[http://www.5stardrugs.com buy tramadol]
+
-
[http://www.24-7pills.net tramadol online]
+
-
[http://www.american-meds.net butalbital discount]
+
-
[http://www.amazing-pills.com butalbital cheap]
+
-
buy tramadol online. online tramadol from our pharmacy, taking tramadol buy information tramadol, side effects tramadol, purchase tramadol online. cod online tramadol, tramadol india, cheap tramadol online, tramadol online, pharmacy online store
+
-
tramadol 50 mg. low price tramadol, tramadol pain treatment - tramadol hcl 50? - 120 tramadol. tramadol sales, buying cod tramado l, tramadol for humans, cheap tramadol online, overdose tramadol. order tramadol pictured tramadol pill tramadol seizure. cod tramadol cod, tramadol pdr, order pharmacy tramadol. buy prescription tramadol drug tramadol - tramadol side.
+
-
is tramadol a, order tramadol online, tramadol hcl, tramadol drug test .tramadol uses order tramadol overnight paypal tramadol
+
-
tramadol com tramadol tablets tramadol no perscription remove tramadol.
+
-
[http://20six.co.uk/cheaptramadol cheap tramadol]
+
-
[http://20six.co.uk/ordertramadol order tramadol]
+
-
[http://20six.co.uk/onlinetramadol1 online tramadol]
+
-
[http://20six.co.uk/tramadolonline tramadol online]
+
-
[http://20six.co.uk/tramadoldiscount tramadol discount]
+
-
[http://20six.co.uk/purchasetramadol purchase tramadol]
+
-
[http://20six.co.uk/ordersoma order soma]
+
-
[http://20six.co.uk/onlinesoma1 online soma]
+
-
[http://20six.co.uk/online-viagra online viagea]
+
-
[http://20six.co.uk/orderviagra order viagra]
+
-
[http://20six.co.uk/cheapviagraonline cheap viagra online]
+
-
[http://20six.co.uk/purchaseviagra purchase viagra]
+
-
[http://20six.co.uk/cheap-ultram cheap ultram]
+
-
[http://spaces.msn.com/cheap-tramadol/ cheap tramadol]
+
* True streaming; we must not need to seek to build a 100% complete bitstream.
-
[http://spaces.msn.com/buy-viagra/ buy viagra]
+
* Use no more than approximately 1-2% of bitstream bandwidth for packet boundary marking, high-level framing, sync and seeking.
 +
* Specification of absolute position within the original sample stream.
 +
* Simple mechanism to ease limited editing, such as a simplified concatenation mechanism.
 +
* Detection of corruption, recapture after error and direct, random access to data at arbitrary positions in the bitstream.
-
SEO: UndoneHeaven
+
== Projects using Ogg ==
-
[http://www.replicahours.com rolex replica]
+
=== Codecs ===
-
[http://www.replicahours.com/index.php?cPath=51_25 fake rolex daydate]
+
-
[http://www.replicahours.com/index.php?cPath=29 replica swiss]
+
-
[http://www.google.com/search?sourceid=navclient&gfns=1&ie=UTF-8&q=replicahours replicahours]
+
-
buy replica cheap best price rolex discounf fake. watches fake watch online store using paypal fedex rolex replicahours. order rolex replica now. cheap wholesale fake rolex online free shipping. 80% discount rolex replica and replicas watches. woman how to adjust a chronometer watch authorized rolex dealer, rolex watches rolex dial rolex oyster perpetual date reloj panerai replica en usa rolex watches serial numbers rolex woman daytona daytona watch replica panerai watch rolex 50th anniversary rolex daytona paul newman replica rolex buy rolex watches. ladies rolex yachtmaster white dial faux. rolex daytona manual cellini rolex for sale pictures of rolex oyster perpetual datejust rolex rolex gmt-master ii buying rolex on line fake rolex daytona gold on silver how to tell fake tag rolex oyster perpetual new tell. Replica rolex? Swiss made replica rolex watch! Cost does fake much rolex rolex presidential rolex. Rolex dials rolex sea dweller. Rolex  tudor fake rolex turkey datejust oyster perpetual rolex man rolex submariner cosmograph daytona oyster professional rolex? Datejust rolex rolex replica rolex fake rolexes for sale. Rolex submariner for sale, rolex yachtmaster! Explorer ii rolex preowned rolex watch? Cheap rolex watch, rolex daytona 116520 forum rolex. 18k gold replica ex part rolex daytona review rolex submariner 50 anniversary rolex cellini replica rolex watch fake rolex omega?
+
-
[http://www.customsoftwarenow.com custom software development]
+
* [[CMML]]
-
Software Development, custom software development, offshore  software development, outsourcing software development
+
* [[FLAC]] ([http://flac.sourceforge.net/ogg_mapping.html Ogg mapping])
 +
* [[OggKate|Kate]]
 +
* [http://opus-codec.org/ Opus] ([[OggOpus|Ogg mapping]])
 +
* [[OggPCM|PCM]]
 +
* [[Ogg Skeleton|Skeleton]]
 +
* [[Speex]] ([[OggSpeex|Ogg mapping]])
 +
* [[Theora]] ([[OggTheora|Ogg mapping]])
 +
* [[Vorbis]] ([[OggVorbis|Ogg mapping]])
 +
* [[OggWrit|Writ]]
-
[http://www.thepublish.com press release]
+
=== Servers ===
-
press release, articles, business directory, ezines, classifieds, job search,business free  b2b search advertising aerospace defense agriculture airlines automotive chemicals computers electronics semiconductors energy utilities
+
-
[http://www.ez-agents.com wholesale atv]
+
* [http://www.annodex.net/ Annodex]
-
</div>
+
* [[Icecast]]
 +
* [http://www.metavid.org/ Metavid]
 +
 
 +
== Developer info ==
 +
 
 +
* [[GranulePosAndSeeking]] -- a discussion of the interpretation of granulepos, and the algorithm for seeking on Ogg files
 +
 
 +
=== Ogg page format ===
 +
 
 +
The LSb (least significant bit) comes first in the Bytes.  Fields
 +
with more than one byte length are encoded LSB (least significant
 +
byte) first.
 +
 
 +
  0                  1                  2                  3
 +
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1| Byte
 +
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 +
  | capture_pattern: Magic number for page start "OggS"          | 0-3
 +
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 +
  | version      | header_type  | granule_position              | 4-7
 +
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 +
  |                                                              | 8-11
 +
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 +
  |                              | bitstream_serial_number      | 12-15
 +
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 +
  |                              | page_sequence_number          | 16-19
 +
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 +
  |                              | CRC_checksum                  | 20-23
 +
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 +
  |                              |page_segments  | segment_table | 24-27
 +
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 +
  | ...                                                          | 28-
 +
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 +
 
 +
 
 +
== Implementations ==
 +
 
 +
The Ogg encapsulation format can be handled with the following libraries:
 +
 
 +
* libogg: [http://svn.xiph.org/trunk/ogg/ libogg svn] (C, cross-platform) Low-level Ogg parsing and writing.
 +
* liboggz: [http://git.xiph.org/?p=liboggz.git liboggz git] or [http://annodex.net/software/liboggz/index.html liboggz] (C, cross-platform) liboggz wraps libogg and provides features such as seeking.
 +
* the Ogg Directshow filters: see [http://www.illiminable.com/ogg/ illiminable] (C++, Win32)
 +
* [http://www.kfish.org/software/hogg HOgg] (pure Haskell)
 +
* [http://www.jcraft.com/jorbis/ JOrbis] (pure Java) contains com.jcraft.jogg
 +
* [http://www.sacredchao.net/quodlibet/wiki/Development/Mutagen Mutagen] (pure Python)
 +
 
 +
== See also ==
 +
 
 +
* [[Oggless]]
 +
* [[MIME Types and File Extensions]]
 +
* [[OggIssues]]
 +
* [[RFC_3533_Errata]] - errors and flaws in the specification
 +
* [[Nut_Container]]
 +
 
 +
== External links ==
 +
 
 +
* [http://www.xiph.org/ogg/doc/ Ogg documentation]
 +
* [http://www.ietf.org/rfc/rfc3533.txt Ogg RFC]
 +
* [http://wiki.multimedia.cx/index.php?title=Ogg Ogg at Multimedia Wiki]
 +
 
 +
[[Category:Ogg]]

Revision as of 14:30, 8 May 2012

The Ogg transport bitstream is designed to provide framing, error protection and seeking structure for higher-level codec streams that consist of raw, unencapsulated data packets, such as the Vorbis audio codec or Theora video codec.

Contents

Name

Ogg derives from "ogging", jargon from the computer game Netrek. Ogg is not an acronym and should not be mentioned as "OGG".

Design constraints for Ogg bitstreams

  • True streaming; we must not need to seek to build a 100% complete bitstream.
  • Use no more than approximately 1-2% of bitstream bandwidth for packet boundary marking, high-level framing, sync and seeking.
  • Specification of absolute position within the original sample stream.
  • Simple mechanism to ease limited editing, such as a simplified concatenation mechanism.
  • Detection of corruption, recapture after error and direct, random access to data at arbitrary positions in the bitstream.

Projects using Ogg

Codecs

Servers

Developer info

  • GranulePosAndSeeking -- a discussion of the interpretation of granulepos, and the algorithm for seeking on Ogg files

Ogg page format

The LSb (least significant bit) comes first in the Bytes. Fields with more than one byte length are encoded LSB (least significant byte) first.

  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1| Byte
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | capture_pattern: Magic number for page start "OggS"           | 0-3
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | version       | header_type   | granule_position              | 4-7
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                               | 8-11
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                               | bitstream_serial_number       | 12-15
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                               | page_sequence_number          | 16-19
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                               | CRC_checksum                  | 20-23
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                               |page_segments  | segment_table | 24-27
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | ...                                                           | 28-
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


Implementations

The Ogg encapsulation format can be handled with the following libraries:

  • libogg: libogg svn (C, cross-platform) Low-level Ogg parsing and writing.
  • liboggz: liboggz git or liboggz (C, cross-platform) liboggz wraps libogg and provides features such as seeking.
  • the Ogg Directshow filters: see illiminable (C++, Win32)
  • HOgg (pure Haskell)
  • JOrbis (pure Java) contains com.jcraft.jogg
  • Mutagen (pure Python)

See also

External links

Retrieved from "http://wiki.xiph.org/Ogg"
Personal tools


Main Page

Xiph.Org Projects

Audio—

Video—

Text—

Container—

Streaming—