Sunday, August 26, 2007

About Libvorbis

Vorbis is a free and open source, lossy audio codec project headed by the Xiph.Org Foundation and intended to serve as a replacement for MP3. It is most commonly used in conjunction with the Ogg container and is then called Ogg Vorbis.

Vorbis development began following a September 1998 letter from Fraunhofer Gesellschaft announcing plans to charge licensing fees for the MP3 audio format. Soon after, founder Christopher "Monty" Montgomery commenced work on the project and was assisted by a growing number of other developers. They continued refining the source code until a stable version 1.0 of the codec was released on July 19, 2002.

The latest official version is 1.2.0 released on 2007-07-25, but there are some fine-tuned forks, most notably aoTuV, that offer better audio quality, particularly at low bitrates. Work is in progress to merge back those improvements.

"Vorbis" is named after a Discworld character, Exquisitor Vorbis in Small Gods, by Terry Pratchett. Coincidentally, Nanny Ogg is another Discworld character, a witch who appears in several books including Witches Abroad, though the Ogg format was not named after her. "Ogg" is in fact derived from ogging, jargon that arose in the computer game Netrek.[1]

Usage

The Vorbis format has proven popular among supporters of free software[1]. They argue that its higher fidelity and completely free nature, unencumbered by patents, make it a well-suited replacement for patented and restricted formats like MP3. However, MP3 has been widely used since the mid-1990s and as of 2007, continues to dominate in the consumer electronics industry[citation needed]. Of the consumer products supporting lossy compressed digital audio, virtually all support playback of MP3 audio while relatively few support alternative formats like Vorbis.

In the commercial sector, Vorbis support is on the rise[citation needed]. Many mainstream video game titles such as Unreal Tournament and Grand Theft Auto: San Andreas store in-game audio as Vorbis. Popular software players support Vorbis playback either natively or through an external plugin. A number of Web sites use it, such as Jamendo and Mindawn, as well as several national radio stations like CBC Radio, JazzRadio, and Virgin Radio.

Codec comparisons For many applications, Vorbis has clear advantages over other lossy audio codecs in that it is patent-free and has open-source implementations and therefore is free to use, implement, or modify as one sees fit, yet produces smaller files than most other codecs at equivalent or higher quality.

Listening tests have attempted to find the best quality lossy audio codecs at certain bitrates. Some conclusions made by recent listening tests:

  • Low bitrate (less than 64 kb/s): the most recent public multiformat test at 48 kb/s shows that aoTuV Vorbis has a better quality than WMA and LC-AAC, the same quality of WMA Professional, and a lower quality than HE-AAC.
  • Mid to low bitrates (less than 128 kb/s down to 64 kb/s): private tests (80 kb/s, 96 kb/s) shows that aoTuV Vorbis has a better quality than other lossy audio codecs (LC-AAC, HE-AAC, MP3, MPC, WMA).
  • Mid bitrate (128kb/s): most recent public multiformat test at 128 kb/s shows a four-way tie between aoTuV Vorbis, LAME-encoded MP3, WMA Pro, and QuickTime AAC, with each codec essentially transparent (sounds identical to the original music file).
  • High bitrates (more than 128 kb/s): most people do not hear significant differences. However, trained listeners can often hear significant differences between codecs at identical bitrates, and aoTuV Vorbis performs very well, i.e. better than other formats such as LC-AAC, MP3, and MPC (see this 180 kb/s test on classical music).

Many of these results, however, are difficult to keep up to date due to the ever-evolving nature of the codecs.

Listening tests

Listening tests are normally carried out as ABX tests, i.e., the listener has to identify an unknown sample X as being A or B, with A (the original) and B (the encoded version) available for reference. The outcome of a test must be statistically significant. This setup ensures that the listener is not biased by his/her expectations, and that the outcome is very unlikely to be the result of chance. If sample X can be identified reliably, the listener can assign a score as a subjective judgement of the quality. Otherwise, the encoded version is considered to be transparent. Below are links to several listening test results.

  • 2005-2006 Public group test of Lame MP3, Vorbis AoTuV, iTunes AAC, Nero AAC, and WMA Pro at ~135 kbit/s nominal. Results suggest that further group testing at this bitrate is unnecessary because all codecs are statistically tied near transparency.
  • 2005, July comparison - AAC vs MP3 vs Vorbis vs WMA at 80 kbit/s. States that aoTuV beta 4 is the best encoder for either classical or various music in this bitrate, and that its quality is comparable to the LAME ABR MP3 at 128 kbit/s.
  • 2005, August comparison - AAC vs MP3 vs Vorbis vs WMA at 96 kbit/s. States that aoTuV beta 4 and AAC are tied as the best encoders for classical music in this bitrate, while aoTuV beta 4 is the best encoder for pop music, even better than LAME at 128 kbit/s.
  • 2005, August comparison - MPC vs VORBIS vs MP3 vs AAC at 180 kbit/s. An audiophile listening test, which states that, for classical music, aoTuV beta 4 has 93% percent probability of being the best encoder, tied with MPC. MPC is tied with both Vorbis, in the first place, and LAME in the second.
  • 2003-2004 comparisons of MP3, Vorbis, AAC, etc at a number of bitrates.

Technical details

Vorbis nominal bitrate at quality levels for 44.1 kHz stereo input (effective bitrate may vary)

Quality

Nominal Bitrate


Official Xiph.Org Foundation Vorbis

aoTuV beta 3 and later

-q-2

not available

32 kb/s

-q-1

45 kb/s

48 kb/s

-q0

64 kb/s

-q1

80 kb/s

-q2

96 kb/s

-q3

112 kb/s

-q4

128 kb/s

-q5

160 kb/s

-q6

192 kb/s

-q7

224 kb/s

-q8

256 kb/s

-q9

320 kb/s

-q10

500 kb/s

Given 44.1 kHz (standard CD audio sampling frequency) stereo input, the encoder will produce output from roughly 45 to 500 kbit/s (32 to 500 kbit/s for aoTuV tunings) depending on the specified quality setting. Quality settings run from -1 to 10 (-2 to 10 for aoTuV tunings) and are an arbitrary metric — files encoded at -q5, for example, should have the same quality of sound in all versions of the encoder, but newer versions should be able to achieve that quality with a lower bitrate. The bitrates mentioned above are only approximate; Vorbis is inherently variable-bitrate (VBR), so bitrate may vary considerably from sample to sample.

Vorbis uses the modified discrete cosine transform (MDCT) for converting sound data from the time domain to the frequency domain. The resulting frequency-domain data is broken into noise floor and residue components, and then quantized and entropy coded using a codebook-based vector quantization algorithm. The decompression algorithm reverses these stages. The noise floor approach gives Vorbis its characteristic analog noise-like failure mode (when the bitrate is too low to encode the audio without perceptible loss), which many people find more pleasant than the metallic warbling in the MP3 format. The sound of the compression at low bitrates can be perhaps described as reverberations in an amphithreatre or a room.

Vorbis aims to be more efficient than MP3, with transparency being available at lower bitrates.

Various tuned versions of the encoder (Garf, aoTuV or MegaMix) attempt to provide better sound at a specified quality setting, usually by dealing with certain problematic waveforms by temporarily increasing the bitrate. The most consistently cited problem with Vorbis is pre-echo, a faint copy of a sharp attack that occurs just before the actual sound (the sound of castanets is commonly cited as causing this effect). Most of the tuned versions of Vorbis attempt to fix this problem and to increase the sound quality of lower quality settings (-q-2 through -q4). Some tuning suggestions created by the Vorbis user community (especially the aoTuV beta 2 tunings) have been incorporated into the 1.1.0 release.

The Vorbis format supports bitrate peeling for reducing the bitrate of already encoded files, and an experimental implementation is available.[2] However, encoding at the lower bitrate will result in better audio quality than this experimental bitrate peeler.

Vorbis streams can be encapsulated in other media container formats besides Ogg[3]. A commonly used alternative is Matroska.

Metadata

Vorbis metadata, called comments, support metadata 'tags' similar to those implemented in the ID3 standard for MP3. The metadata is stored in a vector of eight-bit-clean strings of arbitrary length and size. The size of the vector and the size of each string in bytes is limited to 232-1 (about 4.3 billion, or any integer that can be expressed in 32 bits). This vector is stored in the second header packet that begins a Vorbis bitstream.[4]

The strings are assumed to be encoded as UTF-8. Music tags are typically implemented as strings of the form "[TAG]=[VALUE]", for instance, "ARTIST=The John Smith Band". Like the current version of ID3, users and encoding software are free to use whichever tags are appropriate for the content. For example, an encoder could use localized tag labels, live music tracks might contain a "Venue=" tag or files could have multiple genre definitions. Most applications also support common de facto standards such as discnumber and Replay Gain information.

Licensing

Knowledge of Vorbis's specifications is in the public domain. Concerning the specification itself, the Xiph.Org Foundation reserves the right to set the Vorbis specification and certify compliance. Its libraries are released under a BSD-style license and its tools are released under the GNU General Public License. The libraries were originally released under the GNU Lesser General Public Licence, but a BSD license was later chosen with the endorsement of Richard Stallman.[5] The Xiph.Org Foundation states that Vorbis, like all its developments, is completely free from the licensing or patent issues raised by other proprietary formats such as MP3. Although the Xiph.Org Foundation states it has conducted a patent search that supports its claims, outside parties (notably engineers working on rival formats) have expressed doubt that Vorbis is free of patented technology.[6]

The Xiph.Org Foundation maintains that it was privately issued a legal opinion subject to attorney-client privilege. It has not released an official statement on the patent status of Vorbis, pointing out that such a statement is technically impossible due to the number and scope of patents in existence and the questionable validity of many of them. Such issues cannot be resolved outside of a court of law. Some Vorbis proponents have derided the uncertainty concerning the patent status as "FUD": misinformation spread by large companies with a vested interest.

Vorbis is supported by several large digital audio player manufacturers such as Samsung, Rio, Neuros Technology, Cowon, and iRiver. Many feel that the growing support for the Vorbis codec within the industry supports their interpretation of its patent status, as multinational corporations are unlikely to distribute software with questionable legal status. The same could be said about its growing popularity in other commercial enterprises like mainstream computer games.

Hardware and software support

Hardware

Tremor, a version of the Vorbis decoder which uses fixed-point arithmetic (rather than floating point), was made available to the public on September 2, 2002 (also under a BSD-style license). Tremor, or platform specific versions based on it, is more suited to implementation on the limited facilities available in commercial portable players. A number of versions that make adjustments for specific platforms and include customized optimizations for given embedded microprocessors have been produced. Several hardware manufacturers have expressed an intention to produce Vorbis-compliant devices, and new Vorbis devices seem to be appearing at a steady rate, especially in South Korea, although availability may differ from country to country.

Although popular digital audio players such as the iPod do not natively support Vorbis, through the use of Rockbox, an open-source firmware project, many become capable of decoding Vorbis files. The VorbisHardware node at the Xiph.Org Foundation wiki has an up-to-date list of Vorbis-supporting hardware, such as portables, PDAs, and microchips.

Software

Software supporting Vorbis exists for many platforms. Although Apple iTunes does not natively support Vorbis, the Xiph.Org Foundation provides a QuickTime component which can be used in iTunes and QuickTime on both Microsoft Windows and Mac OS. On Windows, DirectShow filters exist to decode Vorbis in multimedia players like Windows Media Player and others which support DirectShow. Vorbis is well-supported on the Linux platform in programs like XMMS, xine, and many more. More information about Vorbis-supporting software can be found at the VorbisSoftwarePlayers node at the Xiph.Org Foundation wiki. Users can test these programs using the list of Vorbis audio streams available at the Vorbis streams page on the same wiki.

Implementations

Because of Vorbis's open nature, developers are free to write compliant encoders and decoders.

Official

The Xiph.Org Foundation's reference implementation is open source and licensed under the BSD License and the GNU Lesser General Public License.

aoTuV

Modified versions of the reference encoder are also available: aoTuV is a version that has received quality tweaks since the release of libVorbis 1.0; previous changes from aoTuV have been merged back into the Xiph.Org Foundation's libVorbis 1.1. Lancer is a modified version of aoTuV focusing on encoding speed.

Tremor

Main article: Tremor (software)

Tremor is an implementation of a Vorbis decoder using fixed-point arithmetic. It is intended for environments when a floating-point arithmetic unit is unavailable. The Xiph.Org Foundation has expressed interest in modifying Tremor into a floating-point version, which would replace the current floating-point reference decoder.

FFmpeg

Main article: FFmpeg

The libavcodec library contains an LGPL-licensed Vorbis decoder that is faster than the reference implementation. [7]

http://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/Floss_logos.svg/31px-Floss_logos.svg.png


References

  1. ^ Xiph.Org Foundation. xiph.org: naming.
  2. ^ VINJEY. Vorbis & Downloads. Retrieved on 2006-11-13.
  3. ^ The Community. Oggless proposal.
  4. ^ Xiph.Org Foundation. Vorbis Comment Field Documentation. Retrieved on 2007-03-14.
  5. ^ Jack Moffitt (2001-02-26). icecast-dev — the Xiph.Org Foundation announces Vorbis Beta 4. Retrieved on 2006-11-13.
  6. ^ Vorbis development, status & patent issues. Retrieved on 2006-11-13.
  7. ^ mailing list thread comparing Vorbis decoding performance. Retrieved on 2007-08-17.

External links

  • The Xiph.Org Foundation
  • Vorbis site - Xiph reference implementation
    • Listening test comparing Vorbis to MP3, RealAudio, WMA, etc.
    • Vorbis wiki — mostly developer information
    • List of Vorbis audio streams
    • List of video games using Vorbis
    • Vorbis FAQ
    • Vorbis documentation
    • Cross Reference and Data Structures
  • Other encoder / decoder implementation:
    • List of decoders
    • List of encoders
    • Xiph reference implementation
    • aoTuV - aoTuV Vorbis tuned implementation
    • Vorbis acceleration project - Optimized versions of aoTuV Vorbis encoder and other SSE/MultiThread optmizations
    • Fixed-point version of the Vorbis decoder
  • Software / hardware supporting Vorbis:
    • List of hardware-players supporting Vorbis
    • List of media players that can play Vorbis
    • List of encoder frontends
    • RealPlayer Plug-In
    • Vorbis binaries at Rarewares
    • Vorbis DirectShow filter for Windows
    • QuickTime component for QuickTime and iTunes
  • Other useful links:
    • Modified discrete cosine transform Description
    • Christopher "Monty" Montgomery (main developer) interview, slashdot.org
    • Vorbis at Hydrogenaudio wiki
    • jamendo.com : Largest archive of Creative Commons licensed Vorbis music
    • An Introduction to Compressed Audio with Vorbis

[


Xiph.Org Foundation

Ogg Project
Vorbis
TheoraFLACSpeexTremorOggUVSOggPCM

Other projects
XSPFAnnodexXiph QuickTime ComponentscdparanoiaIcecastIceShare

Related articles
Chris MontgomeryCMMLOgg MediaOgg pageOgg Squish

Multimedia Compression Formats

v d e


Video compression formats

ISO/IEC


MJPEG · MPEG-1 · MPEG-2 · MPEG-4 ASP · MPEG-4/AVC

ITU-T


H.261 · H.262 · H.263 · H.264

Others


AVS · Bink · Dirac · Indeo · MJPEG · RealVideo · Theora · VC-1 · VP6 · VP7 · WMV

Audio compression formats

ISO/IEC


MPEG-1 Layer III (MP3) · MPEG-1 Layer II · MPEG-1 Layer I · AAC · HE-AAC · HE-AAC v2 · aacPlus v2

ITU-T


G.711 · G.722 · G.722.1 · G.722.2 · G.723 · G.723.1 · G.726 · G.728 · G.729 · G.729.1 · G.729a

Others


AC3 · Apple Lossless · ATRAC · FLAC · iLBC · Monkey's Audio · μ-law · Musepack · Nellymoser · OptimFROG · RealAudio · SHN · Speex · Vorbis · WavPack · WMA · TAK

Image compression formats

ISO/IEC/ITU-T


JPEG · JPEG 2000 · lossless JPEG · JBIG · JBIG2 · PNG · WBMP

Others


APNG · ICER · MNG · BMP · GIF · ILBM · PCX · PGF · TGA · TIFF · HD Photo

Media container formats

General


3GP · ASF · AVI · DMF · DPX · FLV · Matroska · MP4 · MXF · NUT · Ogg · Ogg Media · QuickTime · RealMedia · VOB

Audio only


AIFF · AU · WAV

(See Compression Methods for methods and Compression Software Implementations for codecs)

From Wikipedia, the free encyclopedia

About Libogg

Ogg is an open standard for a free container format for digital multimedia, unrestricted by software patents and designed for efficient streaming and manipulation. Ogg is maintained by the Xiph.Org Foundation.

The name "Ogg" refers to the file format which can multiplex a number of separate independent free and open source codecs for audio, video and text (such as subtitles). Files ending in the .ogg extension may be of any Ogg media filetype. The term "ogg" is often used to refer to audio file format Ogg Vorbis, that is, Vorbis-encoded audio in the Ogg container. Other prominent Xiph codecs that are often encapsulated in Ogg are the video codec Theora, and the human speech audio compression format Speex. Because the format is free, Ogg's various codecs have been incorporated into a number of different free and proprietary media players, both commercial and non-commercial, as well as portable media players from different manufacturers.

It is often erroneously assumed that the name Ogg comes from the character of Nanny Ogg in Terry Pratchett's Discworld novels. Rather, it derives from ogging, jargon from the computer game Netrek which came to mean doing something forcefully, possibly without consideration of the drain on future resources.[1] At its inception, the Ogg project was thought to be somewhat ambitious given the power of the PC hardware of the time.

The current version of Xiph's reference implementation, released on 27 November 2005, is libogg 1.1.3.[2] Another version, libogg2, is also available from Xiph's SVN repositories. Both software libraries are free and open source software, released under the BSD License.

File format

The Ogg bitstream format, spearheaded by the Xiph.Org Foundation, has been created as the framework of a larger initiative aimed at developing a set of components for the coding and decoding of multimedia content which are available free of charge and are freely re-implementable in software.

The format consists of chunks of data each called an Ogg Page. Each page begins with the "OggS" string to identify the file as Ogg format.

A serial number and page number in the page header identifies each page as part of a series of pages making up a bitstream. Multiple bitstreams may be multiplexed in the file where pages from each bitstream are ordered by the seek time of the contained data. Bitstreams may also be appended to existing files, a process known as chaining, to cause the bitstreams to be decoded in sequence.

A BSD-licensed library, called libogg, is available to encode and decode data from Ogg streams. Independent Ogg implementations are used in several projects such as RealPlayer and a set of DirectShow filters.

Page structure

The following is the field layout of an Ogg page header:

 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-
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Capture Pattern - 32 bits

The capture pattern or sync code is a magic number used to ensure synchronisation when parsing ogg files. Every page starts with the four byte sequence 'OggS'. This assists in resynchronising a parser in cases where data has been lost or is corrupted, and is a sanity check before commencing parsing the page structure.

Version - 8 bits

This field indicates the version of the ogg bitstream format, to allow for future expansion. It is currently mandated to be 0.

Header Type - 8 bits

This is an 8 bit field of flags, which indicates the type of page which follows. The rightmost or least significant bit is considered bit 0, with value 0x01, the next least significant digit is bit 1, with value 0x02. The third is bit 2, with value 0x04, and so on.

Bit

Value

Flag

Page type

0

0x01

Continuation

The first packet on this page is a continuation of the previous packet in the logical bitstream.

1

0x02

BOS

Beginning Of Stream. This page is the first page in the logical bitstream. The BOS flag must be set on the first page of every logical bitstream, and must not be set on any other page.

2

0x04

EOS

End Of Stream. This page is the last page in the logical bitstream. The EOS flag must be set on the final page of every logical bitstream, and must not be set on any other page.

Granule Position - 64 bits

A granule position is the time marker in ogg files. It is an abstract value, whose meaning is determined by the codec. It may for example be a count of the number of samples, the number of frames or a more complex scheme.

Bitstream Serial Number - 32 bits

This field is a serial number which identifies a page as belonging to a particular logical bitstream. Each logical bitstream in a file has a unique value, and this field allows implementations to deliver the pages to the appropriate decoder. In a typical vorbis+theora file, one stream will be the audio (vorbis), and the other will be the video (theora)

Page Sequence Number - 32 bits

This field is a monotonically increasing field for each logical bitstream. The first page is 0, the second 1, etc. This allows implementations to detect when data has been lost.

Checksum - 32 bits

This field provides a checksum of the data in the entire page, performed with the checksum field set to 0. This allows verification that the data has not been corrupted since it was created. Pages which fail the checksum should be discarded.

Page Segments - 8 bits

This field indicates the number of segments that exist in this page. It also indicates how many bytes are in the segment table which follows this field. There can be a maximum of 255 segments in any one page.

Segment Table

The segment table is an 8 bit vector of values indicating the length of each segment within the page body. The number of segments is determined from the preceding Page Segments field. Each segment is between 0 and 255 bytes in length.

The segments provide a way to group segments into packets, which are meaningful units of data for the decoder. When the segments length is indicated to be 255, this indicates that the following segment is to be concatenated to this one and is part of the same packet. When the segments length is 0-254, this indicates that this segment is the final segment in this packet. Where a packets length is a multiple of 255, the final segment will be of length 0.

Where the final packet continues on the next page, the final segment value will be 255, and the continuation flag will be set on the following page to indicate that the start of the new page is a continuation of last page.

History

In May 2003, two Internet RFCs were published relating to the format. The Ogg bitstream was defined in RFC 3533 (which is classified as 'informative') and its Internet content type (application/ogg) in RFC 3534 (which is, as of 2006, a proposed standard protocol).

Although Ogg hasn't reached anywhere near the ubiquity of the MPEG standards (e.g.: MP3 / MP4), as of 2006, it is commonly used to encode free content (such as free music, multimedia on Wikimedia projects and Creative Commons files) and has started to be supported by a significant minority of digital audio players. Many popular game engines also support the Ogg format, not the least of which have been the Doom 3, Unreal Tournament 2004, and Serious Sam: The Second Encounter engines. The more popular Ogg Vorbis codec has built-in support on many software players and extensions are available for nearly all the rest. Other codecs are less well supported although extensions are often available.

On May 16, 2007, the Free Software Foundation started a campaign to widespread the use of Ogg Vorbis “as an ethically, legally and technically superior audio alternative to the proprietary MP3 format.”[3] People are also encouraged to support the campaign by adding a web button to their website or blog. For those who don't want to download and use FSF's suggested Ogg player (VLC), the Xiph.Org Foundation has an official codec[4] for QuickTime-based applications in Windows and Mac OS X, such as iTunes players and iMovie applications; and Windows users can install a Windows Media Player Ogg codec[5].

Potential patent problems

According to a CNET news story[6], the vice president of Thomson which holds patents to the MP3 format, says "I would say we continue to have some thoughts that it is very likely that they are using some of the Thomson/Fraunhofer solutions in the project…But it's not part of our daily concern." Xiph.org Foundation responded with an open letter[7]. No action has been taken to this point, although the information about the implementation of Ogg is freely available. Chris Montgomery, creator of Ogg, has later been cited as saying, "To this day, we still have lawyers tell us they won't support Ogg because Thomson would come after them"[8].

Ogg codecs

Ogg is only a container format. The actual audio or video encoded by a codec will be stored inside an Ogg container. Ogg containers may contain streams encoded with multiple codecs, for example, an audio video file may contain data encoded by both an audio codec and a video codec.

Being a Container format, Ogg can embed audio and video in various formats (such as MPEG-4, Dirac, MP3 and others) but usually Ogg is used with the following:

  • Audio codecs
    • lossy
      • Speex: handles voice data at low bitrates (~8-32 kbit/s/channel)
      • Vorbis: handles general audio data at mid- to high-level variable bitrates (~16-500 kbit/s/channel)
    • lossless
      • FLAC: handles archival and high fidelity audio data
  • Text codecs
    • Writ: a text codec designed to embed subtitles or captions
  • Video codecs
    • Theora: based upon On2's VP3, it is targeted at competing with MPEG-4 video (for example, encoded with DivX or Xvid), RealVideo, or Windows Media Video.
    • Tarkin: an experimental codec utilizing discrete wavelet transforms in the three dimensions of width, height, and time. It has been put on hold since February 2000, with Theora becoming the main focus for video encoding.
    • Dirac: an experimental codec developed by the BBC as the basis of a new codec for the transmission of video over the Internet. The Schrödinger project aims to provide portable libraries, written in C, that implement the Dirac codec. It also allows to embed Dirac inside the Ogg container format.
    • OggUVS: a draft codec for storing uncompressed video.
  • Subtitle structures
    • Annodex: A free and open source set of standards developed by CSIRO to annotate and index networked media.
From Wikipedia, the free encyclopedia

About Flvtool2

FLVTool2 - Flash video and meta data manipulation

FLVTool2 is a manipulation tool for Macromedia Flash Video files (FLV).

Overview

FLVTool2 can calculate a lot of meta data and insert a onMetaData tag. It can cut FLV files and add cue Points (onCuePoint). A debug command lets you see inside our FLV and the print command gives you meta data information in XML or YAML format.

Features

  • batch processing
  • directory recursion
  • command chaining
  • cut FLV files
  • onCuePoint tag insertation via XML file
  • custom onMetaData key-value pairs
  • meta data printout in XML or YAML
  • simulation mode
  • runs under Windows, Linux and Mac OSX
  • ideal for serverside automatic meta data injection

FLVTool2 was primarily developed for Riva VX - Rich Video Authoring.

From : http://inlet-media.de/flvtool2

About Mplayer


This article is about the open source media player. For Microsoft's media player, mplayer2.exe, see the Windows Media Player article. For the online gaming community, see MPlayer.com.



Maintainer:


Stable release:

1.0rc1 (2006-10-22) [+/-]

Preview release:

none [+/-]

OS:

Cross-platform

Use:

Media player

License:

GPL

Website:

www.mplayerhq.hu

MPlayer is a free and open source media player distributed under the GNU General Public License. The program is available for all major operating systems, including Linux and other Unix-like systems, Microsoft Windows and Mac OS X. Versions for AmigaOS and MorphOS are also available. The Windows versions works, with some minor problems, also in DOS using HX_DOS_Extender.

MPlayer is known to support a wide variety of media formats. In addition to its wide range of supported formats MPlayer can also save all streamed content to a file.

A companion program, MEncoder, can take an input stream or file and transcode it into several different output formats, optionally applying various transforms along the way.

MPlayer is a command line application which has different optional GUIs for each of its supported operating systems. Commonly used GUIs are gmplayer (the default GUI for GNU/Linux and other Unix-like systems, and Microsoft Windows), MPlayer OS X (for Mac OS X), MPUI (for Windows) and WinMPLauncher (also for Windows). Several other GUI frontends are also available for each platform.

Development

Development of MPlayer began in 2000. The original author, Árpád Gereöffy (known as A'rpi / Astral in the demoscene), was soon joined by many other programmers. The project was started because A'rpi was unable to find any satisfactory video players for Linux. The first version was titled mpg12play v0.1 and was hacked together in a half hour using libmpeg3 from http://www.heroinewarrior.com/. After mpg12play v0.95pre5, the code was merged with an AVI player based on avifile's Win32 DLL loader to form MPlayer v0.3 in Nov of 2000 [1]. In the beginning most developers were from Hungary, but currently the developers are located worldwide. Alex Beregszászi has maintained MPlayer since 2003 when Árpád Gereöffy left MPlayer development to begin work on a second generation MPlayer. The MPlayer G2 project is currently paused for a number of reasons. [2]

MPlayer was previously called "MPlayer - The Movie Player for Linux" by its developers but this was later shortened to "MPlayer - The Movie Player" after it was made available for multiple operating systems.

Supported media formats

  • Physical media: CDs, DVDs, Video CDs
  • Container formats: 3GP, AVI, ASF, FLV, Matroska, MOV (QuickTime), MP4, NUT, Ogg, OGM, RealMedia
  • Video formats: Cinepak, DV, H.263, H.264/MPEG-4 AVC, HuffYUV, Indeo, MJPEG, MPEG-1, MPEG-2, MPEG-4 Part 2, RealVideo, Sorenson, Theora, WMV
  • Audio formats: AAC, AC3, ALAC, AMR, FLAC, Intel Music Coder, MP3, RealAudio, Shorten, Speex, Vorbis, WMA
  • Subtitle formats: AQTitle, ASS/SSA, CC, JACOsub, MicroDVD, MPsub, OGM, PJS, RT, Sami, SRT, SubViewer, VOBsub, VPlayer

MPlayer also supports a variety of different output drivers for displaying video, including X11, OpenGL, DirectX, Quartz Compositor, VESA, FrameBuffer, SDL and rarer ones such as ASCII art and Blinkenlights. It can also be used to display TV from a TV card using the device tv://channel, or play and capture radio channels via radio://channel|frequency.

Since version 1.0RC1, decent built-in support for the ASS/SSA subtitle format is present by the use of libass.

Legal issues

Most video and audio formats are supported natively through the libavcodec library of the FFmpeg project. For those formats where no open source decoder has been implemented yet MPlayer relies on binary codecs. It can use Windows DLLs directly with the help of a DLL loader forked from avifile (which itself forked its loader from the Wine project).

The combination of CSS decryption software and implementation of formats covered by software patents places a fully-functional MPlayer in the legal bind shared by most open source multimedia players. In the past MPlayer used to include OpenDivX, a GPL-incompatible decoder library. This has since been removed, making MPlayer itself completely free software. Usage of patented codecs in free software however is a still pending potential problem affecting FFmpeg, MPlayer and similar software when used in countries where software patents apply.

From Wikipedia, the free encyclopedia