https://wiki.xiph.org/api.php?action=feedcontributions&user=Martin.leese&feedformat=atomXiphWiki - User contributions [en]2024-03-29T10:54:05ZUser contributionsMediaWiki 1.40.1https://wiki.xiph.org/index.php?title=Icecast_Server/Streaming_to_Icecast_with_Nicecast&diff=16685Icecast Server/Streaming to Icecast with Nicecast2018-07-08T15:02:30Z<p>Martin.leese: Zapped rule</p>
<hr />
<div>{{IcecastThirdParty}}<br />
<br />
'''Note:''' Nicecast is no longer in development. To replace Nicecast, Rogue Amoeba has incorporated broadcasting into their Audio Hijack product. [[Icecast_Server/Streaming_to_Icecast_with_Audio_Hjack]] provides more details.<br />
<br />
== What is Nicecast? ==<br />
<br />
Nicecast is a commercial Icecast Source Client for Mac OS X developed by Rogue Amoeba Software, LLC. One of it's special features is that it works with a lot of VST/Audio Unit plugins.<br />
It can be obtained from the [https://www.rogueamoeba.com/nicecast/ official Website], which provides a limited Demo version (which inserts noise on all broadcasts longer than 60 minutes)<br />
or the option to buy it.<br />
<br />
== The first start and some notes ==<br />
<br />
Nicecast is special, as it has a built-in Icecast Server, allowing for one-click Streaming. As we do not provide any support regarding this feature, this guide only covers how to Stream to a stand-alone Icecast Server. If you are running a standalone Icecast Server on the same machine you start Nicecast, it can happen that Nicecast will kill the stand-alone Icecast Server and you will need to restart it!<br />
<br />
[[File:Nicecast Main Window.png|500px]]<br />
<br />
=== Set the Audio Source ===<br />
First you need to set the Audio Source, this is, where the audio comes from that should be streamed to Icecast. Click on ''Source'' to select it:<br />
<br />
[[File:Nicecast_Source_Settings.png|500px]]<br />
<br />
=== Set the Stream Information ===<br />
Now we need to enter Stream Information, to do so click on ''Info'' to switch to the Stream Info Settings Panel.<br />
<br />
[[File:Nicecast_Stream_Info.png|500px]]<br />
<br />
Here is a brief description for what each field is:<br />
<br />
* '''Name''': The name of your Stream, usually a short title of the program you are broadcasting. Note that this should not contain Metadata like currently playing Artist/Title.<br />
* '''URL''': An URL where more information about the stream broadcasted can be found. This is '''not the URL of your Icecast Server or Stream URL'''!<br />
* '''Genre''': The Genre of your Stream.<br />
* '''AIM''': This field is actually not used by Icecast so you can just leave it empty.<br />
* '''Description''': A short description of your stream/program.<br />
<br />
=== Configuring the Icecast Server details ===<br />
To configure the Icecast server details, click on ''Window'' > ''Show Server'':<br />
<br />
[[File:Nicecast_Server_Menuitem.png|400px]]<br />
<br />
It should show up a Window with Servers like the following:<br />
<br />
[[File:Nicecast_Server_Window.png|500px]]<br />
<br />
To create a new Server connection settings entry, click on the ''+'' Button, which should create a new List entry and select it:<br />
<br />
[[File:Nicecast_New_Server_Window.png|500px]]<br />
<br />
Let's go through the fields together:<br />
<br />
<DL><br />
<DT>Name<br />
<DD>Can be nearly anything, this is just so that you remember what Icecast Server these Settings are for. (Useful if you have more than one Server)<br />
<br />
<DT>Server Type<br />
<DD>Select Icecast 2 here, as you are probably using Icecast 2.<br />
<br />
<DT>Account<br />
<DD>This is the Username you are using to login with a Source Client to Icecast, if you have not configured a specific mount username, this is usually <code>source</code>.<br />
<br />
<DT>Password<br />
<DD>The password for the mountpoint, or if none configured, the global source client password.<br />
<br />
<DT>Address<br />
<DD>The hostname where your server is running. (Not a URL, so this should '''not''' start with <code>http://</code>)<br />
<br />
<DT>Port<br />
<DD>The port where the server is listening, usually this is 8000, if not changed in the Icecast config.<br />
<br />
<DT>Mount Point<br />
<DD>This is the Mountpoint to which Nicecast will stream. This should start with a slash, i.e. <code>/coolstream.mp3</code>. (Do '''not''' set this to just <code>/</code>!<br />
<br />
<DT>Public URL<br />
<DD>This is the Public URL your Icecast Server is accessible. Usually it will guess the right thing, based on the hostname, so you should be able to leave it blank.<br />
</DL><br />
<br />
Now make sure you click the Radiobox next to the Icecast Server name in the list, so it's selected. (This is the Server that Nicecast will use for broadcasting)<br />
<br />
Make sure that your Window looks similar to the following:<br />
<br />
[[File:Nicecast New Server Window filled.png|600px]]<br />
<br />
Close the Window and restart (there is a bug in the current Version that requires a restart to apply the settings) Nicecast.<br />
<br />
To start broadcasting, click the "Start Broadcast" button. Broadcasting should start and you should be able to see the Stream appear on the Icecast Status Page.</div>Martin.leesehttps://wiki.xiph.org/index.php?title=Todo&diff=16658Todo2017-11-27T17:33:45Z<p>Martin.leese: /* Todos */ Tidy</p>
<hr />
<div>Todo list for xiph.org.<br />
<br />
If you're interested in helping out, this is a good place to start. Also, asking on irc (''#vorbis'', ''#theora'', ''#annodex'' or ''#xiph'' on ''irc.freenode.net'') is a good way to get oriented.<br />
<br />
== Todos ==<br />
<br />
* Add [[Ogg_Skeleton_4]]/index support to Cortado.<br />
* Add [[Ogg_Skeleton_4]]/index support to VLC.<br />
* Add [[Ogg_Skeleton_4]]/index support to liboggz.<br />
* Add [[Ogg_Skeleton_4]]/index support to ffmpeg.<br />
* See [[OggIndex-Migration]] for other projects which need OggIndex support.<br />
* [http://github.com/cpearce/OggIndex OggIndex] needs Speex support.<br />
* [[Ices]] needs Speex support<br />
* Icecast toolchain needs support for WebM.<br />
* Icecast toolchain needs support for CELT. NOTE: CELT Ogg encapsulation may change.<br />
* Oggenc and Ogg123 need OggPCM support (encoding and playback respectively)<br />
* Test and fix 'downstream' applications<br />
* Create Xiph.Org conference swag: brochures, posters, toys, demo disks, etc. (don't do this without coordinating with folks)<br />
* Update the todos<br />
<br />
Several projects have their own todo lists in the wiki: <br />
<br />
* [[TheoraTodo]]<br />
* [[XSPF_Todo_list]]<br />
<br />
We always need people to help with the [http://xiph.org/ website] as well.<br />
<br />
== Website todos ==<br />
* Find and fix bugs, bad links, outdated, and incorrect information.<br />
* More HTML5 multimedia content for our websites, both useful things like presentation videos and the primer as well as (tasteful) dancing baloney.<br />
* Better integrate our web resources:<br />
** Mailing lists archives and Wiki could be more extensively integrated into the websites, e.g. sections automatically fed with recent posts/edits to relevant pages/lists.<br />
** Make planet.xiph.org more publicly visible? (need to reduce the offtopic posts the leak through)<br />
* Local blogging platform so JM / Xiphmont don't need to use livejournal— in particular having nice media support would be nice (ugh, more software to maintain) <br />
* Make Media.xiph.org more reasonably structured and prettier (Apng previews? WebM renders?)<br />
<br />
== Bounties ==<br />
* See also the [[Bounties]] page<br />
<br />
[[Category:Developers stuff]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=Todo&diff=16657Todo2017-11-27T17:31:53Z<p>Martin.leese: /* Website todos */ Made Bounties more prominent</p>
<hr />
<div>Todo list for xiph.org.<br />
<br />
If you're interested in helping out, this is a good place to start. Also, asking on irc (''#vorbis'', ''#theora'', ''#annodex'' or ''#xiph'' on ''irc.freenode.net'') is a good way to get oriented.<br />
<br />
== Todos ==<br />
<br />
* Add [[Ogg_Skeleton_4]]/index support to Cortado.<br />
* Add [[Ogg_Skeleton_4]]/index support to VLC.<br />
* Add [[Ogg_Skeleton_4]]/index support to liboggz.<br />
* Add [[Ogg_Skeleton_4]]/index support to ffmpeg.<br />
* See [[OggIndex-Migration]] for other projects which need OggIndex support.<br />
* [http://github.com/cpearce/OggIndex OggIndex] needs Speex support.<br />
* [[Ices]] needs Speex support<br />
* Icecast toolchain needs support for WebM.<br />
* Icecast toolchain needs support for CELT. NOTE: CELT Ogg encapsulation may change.<br />
* Oggenc and Ogg123 need OggPCM support (encoding and playback respectively)<br />
* Test and fix 'downstream' applications<br />
* Create Xiph.Org conference swag: brochures, posters, toys, demo disks, etc. (don't do this without coordinating with folks)<br />
* Update the todos<br />
<br />
<br />
Several projects have their own todo lists in the wiki.<br />
<br />
* [[TheoraTodo]]<br />
* [[XSPF_Todo_list]]<br />
<br />
We always need people to help with the [http://xiph.org/ websites] as well.<br />
<br />
== Website todos ==<br />
* Find and fix bugs, bad links, outdated, and incorrect information.<br />
* More HTML5 multimedia content for our websites, both useful things like presentation videos and the primer as well as (tasteful) dancing baloney.<br />
* Better integrate our web resources:<br />
** Mailing lists archives and Wiki could be more extensively integrated into the websites, e.g. sections automatically fed with recent posts/edits to relevant pages/lists.<br />
** Make planet.xiph.org more publicly visible? (need to reduce the offtopic posts the leak through)<br />
* Local blogging platform so JM / Xiphmont don't need to use livejournal— in particular having nice media support would be nice (ugh, more software to maintain) <br />
* Make Media.xiph.org more reasonably structured and prettier (Apng previews? WebM renders?)<br />
<br />
== Bounties ==<br />
* See also the [[Bounties]] page<br />
<br />
[[Category:Developers stuff]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=Talk:Main_Page&diff=16656Talk:Main Page2017-11-24T16:34:11Z<p>Martin.leese: /* Timed Text/Metadata */ Thanks</p>
<hr />
<div>According to [[Special:Popularpages]], the various pages in the Demonstration section are the most visited parts of the wiki, so I moved that section to the top of the main page. --[[User:Andrel|Andrel]] 09:19, 26 April 2006 (PDT)<br />
<br />
== Work in Progress ==<br />
<br />
It's not clear on first view (to me at least) that<br />
[[Main Page#Work in Progress]] is a link to<br />
[[Work In Progress]] (as none of the other section headings<br />
are). Possibly it should be a normal heading with the link<br />
in a short text below (à la [[Main Page#Other software]]).<br />
<br />
[[User:Imalone|Imalone]] 05:22, 1 February 2006 (PST)<br />
<br />
You are free to fix that. It's a wiki after all -- [[User:Jmspeex|Jmspeex]] 19:22, 1 February 2006 (PST)<br />
<br />
Done (just didn't want to trample all over the front page) -- [[User:Imalone|Imalone]] 04:33, 2 February 2006 (PST)<br />
<br />
== Lock This Page ==<br />
<br />
On all/most other wikis the Main Page is locked so only admins can edit it. Due to the amount of vandalism, I think the [[Main Page]] should be locked and all changes discussed here. --[[User:SonicChao|SonicChao]] 05:11, 27 August 2006 (PDT)<br />
<br />
:Done !<br />
<br />
== Paranoia / cdparanoia ==<br />
<br />
Why is there no listing under software of paranoia or cdparanoia? Also, there is no listing on the main xiph.org page. Is that software acknowlegded? --[[User:WhiteDragon|WhiteDragon]] 19:52, 9 September 2006 (PDT)<br />
<br />
== Suggestion :-O ==<br />
First I want to congratulate you on the wonderful work being done. Thank you very much :-)<br />
Please allow anonymous edits (like wikipedia does) b'caus i'm too lazy to login :-)<br />
<br />
:I'll give you the benefit of the doubt and assume the ton of hidden links I just culled has nothing to do with you... I can't speak for the people running Xiph but requiring a login reduces some of the flood of spam that shows up here, and Wikipedia has many more resources available to deal with it than this wiki does. [[User:Imalone|Imalone]] 06:06, 24 November 2006 (PST)<br />
<br />
== Proposal for a developer section ==<br />
<br />
As more developers start to "get it" about how ultra cool Ogg / Vorbis / Theora / etc is, wouldn't it be great to have a wiki section devoted to helping these budding programmers along? eg: i've written some nice code i'd be happy to share. Could contain a programming FAQ, how-to's, and real code. Thoughts? [[User:Davec|Davec]] 13:44, 6 December 2006 (PST)<br />
<br />
== Why CamelCase? ==<br />
<br />
MediaWiki supports free links, why are most page titles in the CamelCase format? - [[User:Sikon|Sikon]] 05:34, 27 February 2007 (PST)<br />
:CamelCase? I don't see what you mean. If you think something's wrong, you may go ahead and change it. That's what wikis are for.--[[User:Saoshyant|Saoshyant]] 05:37, 27 February 2007 (PST)<br />
:[[WhatHappened|Historical reasons]]. The original wiki used software that only supported [http://c2.com/cgi/wiki?CamelCase CamelCase]. For new pages it is fine to use free links. I suggest not renaming pages, as many of them have good search ranking. [[User:Andrel|Andrel]] 07:03, 27 February 2007 (PST)<br />
I see now. And thanks for the WhatHappened link, Andrel. I managed to recover two pages so far from web archive. I wonder if I'll savage it further.--[[User:Saoshyant|Saoshyant]] 08:28, 27 February 2007 (PST)<br />
<br />
== ICECast2 vs vBulletin ==<br />
<br />
Hi there,<br />
Fisrt let me thank you all the great work and the self performance over the ICECast streaming server<br />
<br />
I also Wonder if anyone had included ICECast directly into a vBulletin board having it worked from there on ..meaning enbable to use same username,permission and prefference from the database itself running on MySQL 5 having as if setting permission on for a usergroupe from there to enable them streaming out on your ICECast server and others can apply and yet just participate into the main forum itself<br />
<br />
I do have both running-up over my dedicated server now meanwhile if any would want to help me out creating like this hack or template am willing to give them all access for working over it <br />
can YOU imagine how friendly and powerful that ICECast would mean then<br />
<br />
hey give me a shout if willing to try it<br />
<br />
admin@gysmo.net<br />
<br />
== News ==<br />
<br />
Hi,<br />
<br />
I would really strongly suggest adding this to your news items... Someone has made a graphical interface for ffmpeg2theora at http://www.softpedia.com/get/Multimedia/Video/Other-VIDEO-Tools/GFrontEnd-for-ffmpeg2theora.shtml<br />
<br />
I don't know the technical difficulties of building such a tool, but regardless, the ability for a common Windows user like myself to be able to just easily convert a proprietary file format to Ogg-Theora is really cool... I tested it out on the sample WMV file that came with this laptop, and the converted file worked great in Cortado... Of course, news about programs that allow one to record directly to Ogg-Theora would be even better, but this is still very important, imo... [[User:Brettz9|Brettz9]] 20:56, 4 July 2007 (PDT)<br />
<br />
== .NET :-( ==<br />
<br />
> I would really strongly suggest adding this to your news items<br />
<br />
Check it out: > Requirements: .NET Framework 2.0<br />
<br />
Also, with 1.5 MiB size it's bigger than FFMPEG2THEORA itself (1.3 MiB after recompressing with UPX 3.0 --ultra-brute) - not that VERY good IMHO.<br />
<br />
: Sorry, do you mean MB as in Megabytes? That's a drop in the bucket of most hard drives nowadays, no? And .NET was already on my system for something I had downloaded earlier (not sure what, but maybe others may have it already too). My interest in seeing it announced is not how well it is implemented--if there are better alternatives let them be known--but that such a tool exists and it works (at least if you get the requirements).<br />
<br />
== MiB ||| .NET ==<br />
<br />
> Sorry, do you mean MB as in Megabytes?<br />
<br />
NO. [[http://en.wikipedia.org/wiki/Binary_prefix]]<br />
<br />
> And .NET was already on my system for something I had downloaded earlier (not sure what, but maybe others may have it already too)<br />
<br />
I don't have .NET and don't like it :-( Finally, the important thing is the FFMPEG2THEOA core and it works perfectly for me without .NET ;-)<br />
<br />
== Link to Games in Demonstrations Section? ==<br />
<br />
Shouldn't there be a link to [[Games_that_use_Theora]] in the section with other demonstrations? Maybe there's not enough games listed on the page to warrant it?<br />
--[[User:Sim9|Sim9]] 11:47, 27 October 2007 (PDT)<br />
<br />
:Yes. There's only two games listed right now. I'm pretty sure there's more out there. Sim9, can you help us listing more games?--[[User:Saoshyant|Ivo]] 11:56, 28 October 2007 (PDT)<br />
<br />
::I'm sure you're right, there ''has'' to be more than two. Theora (and Vorbis) is now by default included in the Torque game engine, so there must be a lot of games using it by now. I just polled the Torque community to see if they know of any to help us fill up the list with some successful integrations! --[[User:Sim9|Sim9]] 19:02, 29 October 2007 (PDT)<br />
<br />
== Add xvid it's opensource ==<br />
<br />
Please add xvid to usable video format in ogv and others.<br />
It's an open source, mature codec and doesn't have encoder problems theora currently has.<br />
Embedding it makes possible to show off ogv files with a codec that shows the tru power of ogv.<br />
<br />
Please make it possible to put this in, so .ogv can be used immediately with xvid and vorbis/speex/flac to create a mature and temporary solution until theora 1.0 hits the digital streets.<br />
Then users can just batch convert it with their applications whenever they feel/want to do it.<br />
(When they think theora is ready.)<br />
Could someone please look into this and tell me if this is possible and/or will be integrated?<br />
--[[User:Vmol|Vmol]] 1 February 2008 <br />
<br />
:Vmol, you should read about the issues a bit before filling up the whole wiki with so many questions. Most of your questions, concerns and statements have already been thought about. In this case here, Xvid cannot be considered because it is a patented format. That means it's not a free format like Theora and Xiph cannot use it. Theora is currently now undergoing the last stages of beta to version 1.0 and quality is already at pair with Xvid. Also, users can't simply transcode from one video format to another; you lose quality everytime you do it, because most video formats are lossy.--[[User:Saoshyant|Ivo]] 12:37, 2 February 2008 (PST)<br />
<br />
== Random access Ogg Vorbis decoder written in Java. ==<br />
<br />
And I am very glad that now you have an encoder written in Java. Can vorbis-java-1.0.0 also do the decoding?<br />
Is there an example of how to use vorbis-java decoder?<br />
If yes, can it seek, i.e. decode an Ogg Vorbis bitstream from a random position?<br />
--[[User:Sergey|Sergey]] 12:53, 9 February 2008 (PST)<br />
<br />
== For lossless video compression, make it possible to have Lagarith codec as video ==<br />
<br />
Lagarith is a lossless video codec. Please support it, with supporting I mean that it can be used in the ogg and annodex containers as a native video format.<br />
--[[User:Vmol|Vmol]] 4 May 2008 <br />
<br />
:There is also HuffYUV besides Lagarith. Also the new Dirac codec supports lossless compression, reportedly better than anything else. Agree, a lossless codec should be added. Just carefully select one of them ;-) [[User:DOS386|DOS386]] 01:31, 4 May 2008 (PDT)<br />
<br />
:: Lossless compression would still be a good thing to have for Theora. <br />
:: Even if there are other formats available that can do lossless. <br />
:: Not convinced about using another codec, a lossless mode for Theora is useful. <br />
:: Link to Theora todo page where lossless mode is requested: <br />
:: [http://wiki.xiph.org/Talk:TheoraTodo]<br />
:: --[[User:Vmol|Vmol]] 25 Jul 2009<br />
<br />
== Add link to "Reporting Abuse" page on the front page? ==<br />
<br />
There's been a bunch of spam recently, but I couldn't find any way to report abuse. I've added a skeleton page at [[Reporting abuse]], could we add a link to the front page?<br />
<br />
== Abuse == <br />
<br />
It's necessary to something about the excesive abuse of this Wiki, link approval is the minimal step for now. Also some additional barriers for registration should be considered. Also a stronger captcha, "3+4" isn't that efficient. [[User:DOS386|DOS386]] 12:44, 16 November 2009 (UTC)<br />
<br />
== Editing Theora? ==<br />
<br />
Is Theora considered an 'editible' format? Theora seems to be lossy - Is there a lossless, open format for video for use as a 'source' file type? There are a couple editors listed, but they seem pretty 'fringe' - anything more mainstream? If one wanted to create a 'video warehouse' that was 'pure' with respect to open formats, which file type/codec type would i use? 2009-12-25 15:55 [[User:BenTes]]<br />
<br />
:: > Theora seems to be lossy <br />
:: It '''is''' lossy <br />
:: > Is there a lossless, open format for video for use as a 'source' file type<br />
:: See above, HuffYUV, Lagarith, and Dirac <br />
:: > one wanted to create a 'video warehouse' that was 'pure' with <br />
:: > respect to open formats,<br />
:: :-)<br />
:: > which file type/codec type would i use?<br />
:: For final video, Theora. For intermediate files:<br />
:: * HuffYUV or Lagarith (can exist only inside AVI ??? but this could be changed)<br />
:: * YUV4MPEG (is 'pure' but not compressed)<br />
:: * Dirac in lossles mode (very slow)<br />
:: 2009-12-26 15:36 [[User:DOS386]]<br />
<br />
== Plumi (Plone Plugin) - Open Source Web Content Management Software - Shares / Plays OGG / Theora videos ==<br />
<br />
Plone is an open source content management website. Plumi is a Plone plugin that supports sharing and playing OGG videos (OGV) using the open source Cortado applet. <br />
<br />
"Plumi is a package of Plone products that enable you to create your own video sharing site. By adding it to an existing Plone instance you can quickly have a wide array of functionality to facilitate video distribution and community creation."<br />
<br />
[http://plone.org/products/plumi/]<br />
<br />
== Suggestions ==<br />
=== Various ===<br />
# Remove Speex from the sidebar, move Opus on the top, same for the locked Main page content.<br />
# Create a [[AllXiphCodecs]] page, listing all codecs, including the historical, obsolete and abandoned ones.<br />
[[User:DOS386|DOS386]] 2012-Dec-22 2013-Feb-04<br />
<br />
=== Timed Text/Metadata ===<br />
CMML deprecated, so suggest change section to this: <br />
====Timed Text/Metadata====<br />
* [[OggKate|Kate]]: Format for lyrics and subtitles<br />
* [[CMML]]: Continuous Media Markup Language, used for [http://www.annodex.net/ Annodex] and subtitles (xine, vlc, gstreamer, and DirectShow support; obsoleted by [[OggKate|Kate]])<br />
Could somebody please copy & paste. [[User:Martin.leese|Martin Leese]] ([[User talk:Martin.leese|talk]]) 12:28, 23 November 2017 (PST)<br />
: Thanks. [[User:Martin.leese|Martin Leese]] ([[User talk:Martin.leese|talk]]) 08:34, 24 November 2017 (PST)</div>Martin.leesehttps://wiki.xiph.org/index.php?title=Talk:Main_Page&diff=16654Talk:Main Page2017-11-23T20:28:09Z<p>Martin.leese: /* Suggestions */ Tidy + added new suggestion</p>
<hr />
<div>According to [[Special:Popularpages]], the various pages in the Demonstration section are the most visited parts of the wiki, so I moved that section to the top of the main page. --[[User:Andrel|Andrel]] 09:19, 26 April 2006 (PDT)<br />
<br />
== Work in Progress ==<br />
<br />
It's not clear on first view (to me at least) that<br />
[[Main Page#Work in Progress]] is a link to<br />
[[Work In Progress]] (as none of the other section headings<br />
are). Possibly it should be a normal heading with the link<br />
in a short text below (à la [[Main Page#Other software]]).<br />
<br />
[[User:Imalone|Imalone]] 05:22, 1 February 2006 (PST)<br />
<br />
You are free to fix that. It's a wiki after all -- [[User:Jmspeex|Jmspeex]] 19:22, 1 February 2006 (PST)<br />
<br />
Done (just didn't want to trample all over the front page) -- [[User:Imalone|Imalone]] 04:33, 2 February 2006 (PST)<br />
<br />
== Lock This Page ==<br />
<br />
On all/most other wikis the Main Page is locked so only admins can edit it. Due to the amount of vandalism, I think the [[Main Page]] should be locked and all changes discussed here. --[[User:SonicChao|SonicChao]] 05:11, 27 August 2006 (PDT)<br />
<br />
:Done !<br />
<br />
== Paranoia / cdparanoia ==<br />
<br />
Why is there no listing under software of paranoia or cdparanoia? Also, there is no listing on the main xiph.org page. Is that software acknowlegded? --[[User:WhiteDragon|WhiteDragon]] 19:52, 9 September 2006 (PDT)<br />
<br />
== Suggestion :-O ==<br />
First I want to congratulate you on the wonderful work being done. Thank you very much :-)<br />
Please allow anonymous edits (like wikipedia does) b'caus i'm too lazy to login :-)<br />
<br />
:I'll give you the benefit of the doubt and assume the ton of hidden links I just culled has nothing to do with you... I can't speak for the people running Xiph but requiring a login reduces some of the flood of spam that shows up here, and Wikipedia has many more resources available to deal with it than this wiki does. [[User:Imalone|Imalone]] 06:06, 24 November 2006 (PST)<br />
<br />
== Proposal for a developer section ==<br />
<br />
As more developers start to "get it" about how ultra cool Ogg / Vorbis / Theora / etc is, wouldn't it be great to have a wiki section devoted to helping these budding programmers along? eg: i've written some nice code i'd be happy to share. Could contain a programming FAQ, how-to's, and real code. Thoughts? [[User:Davec|Davec]] 13:44, 6 December 2006 (PST)<br />
<br />
== Why CamelCase? ==<br />
<br />
MediaWiki supports free links, why are most page titles in the CamelCase format? - [[User:Sikon|Sikon]] 05:34, 27 February 2007 (PST)<br />
:CamelCase? I don't see what you mean. If you think something's wrong, you may go ahead and change it. That's what wikis are for.--[[User:Saoshyant|Saoshyant]] 05:37, 27 February 2007 (PST)<br />
:[[WhatHappened|Historical reasons]]. The original wiki used software that only supported [http://c2.com/cgi/wiki?CamelCase CamelCase]. For new pages it is fine to use free links. I suggest not renaming pages, as many of them have good search ranking. [[User:Andrel|Andrel]] 07:03, 27 February 2007 (PST)<br />
I see now. And thanks for the WhatHappened link, Andrel. I managed to recover two pages so far from web archive. I wonder if I'll savage it further.--[[User:Saoshyant|Saoshyant]] 08:28, 27 February 2007 (PST)<br />
<br />
== ICECast2 vs vBulletin ==<br />
<br />
Hi there,<br />
Fisrt let me thank you all the great work and the self performance over the ICECast streaming server<br />
<br />
I also Wonder if anyone had included ICECast directly into a vBulletin board having it worked from there on ..meaning enbable to use same username,permission and prefference from the database itself running on MySQL 5 having as if setting permission on for a usergroupe from there to enable them streaming out on your ICECast server and others can apply and yet just participate into the main forum itself<br />
<br />
I do have both running-up over my dedicated server now meanwhile if any would want to help me out creating like this hack or template am willing to give them all access for working over it <br />
can YOU imagine how friendly and powerful that ICECast would mean then<br />
<br />
hey give me a shout if willing to try it<br />
<br />
admin@gysmo.net<br />
<br />
== News ==<br />
<br />
Hi,<br />
<br />
I would really strongly suggest adding this to your news items... Someone has made a graphical interface for ffmpeg2theora at http://www.softpedia.com/get/Multimedia/Video/Other-VIDEO-Tools/GFrontEnd-for-ffmpeg2theora.shtml<br />
<br />
I don't know the technical difficulties of building such a tool, but regardless, the ability for a common Windows user like myself to be able to just easily convert a proprietary file format to Ogg-Theora is really cool... I tested it out on the sample WMV file that came with this laptop, and the converted file worked great in Cortado... Of course, news about programs that allow one to record directly to Ogg-Theora would be even better, but this is still very important, imo... [[User:Brettz9|Brettz9]] 20:56, 4 July 2007 (PDT)<br />
<br />
== .NET :-( ==<br />
<br />
> I would really strongly suggest adding this to your news items<br />
<br />
Check it out: > Requirements: .NET Framework 2.0<br />
<br />
Also, with 1.5 MiB size it's bigger than FFMPEG2THEORA itself (1.3 MiB after recompressing with UPX 3.0 --ultra-brute) - not that VERY good IMHO.<br />
<br />
: Sorry, do you mean MB as in Megabytes? That's a drop in the bucket of most hard drives nowadays, no? And .NET was already on my system for something I had downloaded earlier (not sure what, but maybe others may have it already too). My interest in seeing it announced is not how well it is implemented--if there are better alternatives let them be known--but that such a tool exists and it works (at least if you get the requirements).<br />
<br />
== MiB ||| .NET ==<br />
<br />
> Sorry, do you mean MB as in Megabytes?<br />
<br />
NO. [[http://en.wikipedia.org/wiki/Binary_prefix]]<br />
<br />
> And .NET was already on my system for something I had downloaded earlier (not sure what, but maybe others may have it already too)<br />
<br />
I don't have .NET and don't like it :-( Finally, the important thing is the FFMPEG2THEOA core and it works perfectly for me without .NET ;-)<br />
<br />
== Link to Games in Demonstrations Section? ==<br />
<br />
Shouldn't there be a link to [[Games_that_use_Theora]] in the section with other demonstrations? Maybe there's not enough games listed on the page to warrant it?<br />
--[[User:Sim9|Sim9]] 11:47, 27 October 2007 (PDT)<br />
<br />
:Yes. There's only two games listed right now. I'm pretty sure there's more out there. Sim9, can you help us listing more games?--[[User:Saoshyant|Ivo]] 11:56, 28 October 2007 (PDT)<br />
<br />
::I'm sure you're right, there ''has'' to be more than two. Theora (and Vorbis) is now by default included in the Torque game engine, so there must be a lot of games using it by now. I just polled the Torque community to see if they know of any to help us fill up the list with some successful integrations! --[[User:Sim9|Sim9]] 19:02, 29 October 2007 (PDT)<br />
<br />
== Add xvid it's opensource ==<br />
<br />
Please add xvid to usable video format in ogv and others.<br />
It's an open source, mature codec and doesn't have encoder problems theora currently has.<br />
Embedding it makes possible to show off ogv files with a codec that shows the tru power of ogv.<br />
<br />
Please make it possible to put this in, so .ogv can be used immediately with xvid and vorbis/speex/flac to create a mature and temporary solution until theora 1.0 hits the digital streets.<br />
Then users can just batch convert it with their applications whenever they feel/want to do it.<br />
(When they think theora is ready.)<br />
Could someone please look into this and tell me if this is possible and/or will be integrated?<br />
--[[User:Vmol|Vmol]] 1 February 2008 <br />
<br />
:Vmol, you should read about the issues a bit before filling up the whole wiki with so many questions. Most of your questions, concerns and statements have already been thought about. In this case here, Xvid cannot be considered because it is a patented format. That means it's not a free format like Theora and Xiph cannot use it. Theora is currently now undergoing the last stages of beta to version 1.0 and quality is already at pair with Xvid. Also, users can't simply transcode from one video format to another; you lose quality everytime you do it, because most video formats are lossy.--[[User:Saoshyant|Ivo]] 12:37, 2 February 2008 (PST)<br />
<br />
== Random access Ogg Vorbis decoder written in Java. ==<br />
<br />
And I am very glad that now you have an encoder written in Java. Can vorbis-java-1.0.0 also do the decoding?<br />
Is there an example of how to use vorbis-java decoder?<br />
If yes, can it seek, i.e. decode an Ogg Vorbis bitstream from a random position?<br />
--[[User:Sergey|Sergey]] 12:53, 9 February 2008 (PST)<br />
<br />
== For lossless video compression, make it possible to have Lagarith codec as video ==<br />
<br />
Lagarith is a lossless video codec. Please support it, with supporting I mean that it can be used in the ogg and annodex containers as a native video format.<br />
--[[User:Vmol|Vmol]] 4 May 2008 <br />
<br />
:There is also HuffYUV besides Lagarith. Also the new Dirac codec supports lossless compression, reportedly better than anything else. Agree, a lossless codec should be added. Just carefully select one of them ;-) [[User:DOS386|DOS386]] 01:31, 4 May 2008 (PDT)<br />
<br />
:: Lossless compression would still be a good thing to have for Theora. <br />
:: Even if there are other formats available that can do lossless. <br />
:: Not convinced about using another codec, a lossless mode for Theora is useful. <br />
:: Link to Theora todo page where lossless mode is requested: <br />
:: [http://wiki.xiph.org/Talk:TheoraTodo]<br />
:: --[[User:Vmol|Vmol]] 25 Jul 2009<br />
<br />
== Add link to "Reporting Abuse" page on the front page? ==<br />
<br />
There's been a bunch of spam recently, but I couldn't find any way to report abuse. I've added a skeleton page at [[Reporting abuse]], could we add a link to the front page?<br />
<br />
== Abuse == <br />
<br />
It's necessary to something about the excesive abuse of this Wiki, link approval is the minimal step for now. Also some additional barriers for registration should be considered. Also a stronger captcha, "3+4" isn't that efficient. [[User:DOS386|DOS386]] 12:44, 16 November 2009 (UTC)<br />
<br />
== Editing Theora? ==<br />
<br />
Is Theora considered an 'editible' format? Theora seems to be lossy - Is there a lossless, open format for video for use as a 'source' file type? There are a couple editors listed, but they seem pretty 'fringe' - anything more mainstream? If one wanted to create a 'video warehouse' that was 'pure' with respect to open formats, which file type/codec type would i use? 2009-12-25 15:55 [[User:BenTes]]<br />
<br />
:: > Theora seems to be lossy <br />
:: It '''is''' lossy <br />
:: > Is there a lossless, open format for video for use as a 'source' file type<br />
:: See above, HuffYUV, Lagarith, and Dirac <br />
:: > one wanted to create a 'video warehouse' that was 'pure' with <br />
:: > respect to open formats,<br />
:: :-)<br />
:: > which file type/codec type would i use?<br />
:: For final video, Theora. For intermediate files:<br />
:: * HuffYUV or Lagarith (can exist only inside AVI ??? but this could be changed)<br />
:: * YUV4MPEG (is 'pure' but not compressed)<br />
:: * Dirac in lossles mode (very slow)<br />
:: 2009-12-26 15:36 [[User:DOS386]]<br />
<br />
== Plumi (Plone Plugin) - Open Source Web Content Management Software - Shares / Plays OGG / Theora videos ==<br />
<br />
Plone is an open source content management website. Plumi is a Plone plugin that supports sharing and playing OGG videos (OGV) using the open source Cortado applet. <br />
<br />
"Plumi is a package of Plone products that enable you to create your own video sharing site. By adding it to an existing Plone instance you can quickly have a wide array of functionality to facilitate video distribution and community creation."<br />
<br />
[http://plone.org/products/plumi/]<br />
<br />
== Suggestions ==<br />
=== Various ===<br />
# Remove Speex from the sidebar, move Opus on the top, same for the locked Main page content.<br />
# Create a [[AllXiphCodecs]] page, listing all codecs, including the historical, obsolete and abandoned ones.<br />
[[User:DOS386|DOS386]] 2012-Dec-22 2013-Feb-04<br />
<br />
=== Timed Text/Metadata ===<br />
CMML deprecated, so suggest change section to this: <br />
====Timed Text/Metadata====<br />
* [[OggKate|Kate]]: Format for lyrics and subtitles<br />
* [[CMML]]: Continuous Media Markup Language, used for [http://www.annodex.net/ Annodex] and subtitles (xine, vlc, gstreamer, and DirectShow support; obsoleted by [[OggKate|Kate]])<br />
Could somebody please copy & paste. [[User:Martin.leese|Martin Leese]] ([[User talk:Martin.leese|talk]]) 12:28, 23 November 2017 (PST)</div>Martin.leesehttps://wiki.xiph.org/index.php?title=Icecast_Server/Installing_latest_version_(official_Xiph_repositories)&diff=16650Icecast Server/Installing latest version (official Xiph repositories)2017-11-22T18:02:17Z<p>Martin.leese: /* Import the Multimedia signing key */ Typo + punctuation + grammar</p>
<hr />
<div>Xiph.org provides the latest version of Icecast packaged for [https://build.opensuse.org/package/repositories/multimedia:xiph/icecast various distributions]. The packages are built centrally from [https://build.opensuse.org/package/show/multimedia:xiph/icecast one set of sources] on the [https://build.opensuse.org/ openSUSE OpenBuildService instance] in the [https://build.opensuse.org/project/show/multimedia:xiph Multimedia/Xiph.org project].<br />
<br />
Packages are usually available on release day. Packaging follows closely the original distro packaging to stay a seamless drop in replacement. The packages are meant for users who need the latest version of Icecast or HTTPS support, while their distribution doesn't provide it.<br />
<br />
== Debian and Ubuntu (in all its flavors) ==<br />
It takes 4 simple commands to install the latest Icecast version on a deb based distro.<br />
<br />
==== Add the repository ====<br />
This expects that you have ''sudo'' installed, if not, open a root shell and run the ''echo'' command directly.<br />
<br />
Copy paste the command for your distribution release and make sure that it's executed as '''one''' line!<br />
{| class="wikitable"<br />
!Distribution Release<br />
!Command<br />
!Repository<br />
!Comments<br />
|-<br />
|Debian 8.0 (jessie)<br />
|<syntaxhighlight lang="bash">sudo sh -c "echo deb http://download.opensuse.org/repositories/multimedia:/xiph/Debian_8.0/ ./ >>/etc/apt/sources.list.d/icecast.list"</syntaxhighlight><br />
|[http://download.opensuse.org/repositories/multimedia:/xiph/Debian_8.0/ repository]<br />
|<br />
|-<br />
|Debian 7.0 (wheezy)<br />
|<syntaxhighlight lang="bash">sudo sh -c "echo deb http://download.opensuse.org/repositories/multimedia:/xiph/Debian_7.0/ ./ >>/etc/apt/sources.list.d/icecast.list"</syntaxhighlight><br />
|[http://download.opensuse.org/repositories/multimedia:/xiph/Debian_7.0/ repository]<br />
|<br />
|-<br />
|Debian 6.0 (squeeze)<br />
|<syntaxhighlight lang="bash">sudo sh -c "echo deb http://download.opensuse.org/repositories/multimedia:/xiph/Debian_6.0/ ./ >>/etc/apt/sources.list.d/icecast.list"</syntaxhighlight><br />
|[http://download.opensuse.org/repositories/multimedia:/xiph/Debian_6.0/ repository]<br />
|<br />
|-<br />
|Ubuntu 14.04 (trusty)<br />
|<syntaxhighlight lang="bash">sudo sh -c "echo deb http://download.opensuse.org/repositories/multimedia:/xiph/xUbuntu_14.04/ ./ >>/etc/apt/sources.list.d/icecast.list"</syntaxhighlight><br />
|[http://download.opensuse.org/repositories/multimedia:/xiph/xUbuntu_14.04/ repository]<br />
|<br />
|-<br />
|Ubuntu 15.04 (vivid)<br />
|<syntaxhighlight lang="bash">sudo sh -c "echo deb http://download.opensuse.org/repositories/multimedia:/xiph/xUbuntu_15.04/ ./ >>/etc/apt/sources.list.d/icecast.list"</syntaxhighlight><br />
|[http://download.opensuse.org/repositories/multimedia:/xiph/xUbuntu_15.04/ repository]<br />
|''not'' LTS<ref name="ubuntu-lts">Ubuntu releases that are not Long-Term-Support have a [https://wiki.ubuntu.com/Releases short life cycle]. Xiph.org will stop offering updated packages for those some time after Canonical/the Ubuntu Project end their support.</ref>!<br />
|-<br />
|Ubuntu 15.10 (wily)<br />
|<syntaxhighlight lang="bash">sudo sh -c "echo deb http://download.opensuse.org/repositories/multimedia:/xiph/xUbuntu_15.10/ ./ >>/etc/apt/sources.list.d/icecast.list"</syntaxhighlight><br />
|[http://download.opensuse.org/repositories/multimedia:/xiph/xUbuntu_15.10/ repository]<br />
|''not'' LTS<ref name="ubuntu-lts"/>!<br />
|-<br />
|Ubuntu 16.04 (xenial)<br />
|<syntaxhighlight lang="bash">sudo sh -c "echo deb http://download.opensuse.org/repositories/multimedia:/xiph/xUbuntu_16.04/ ./ >>/etc/apt/sources.list.d/icecast.list"</syntaxhighlight><br />
|[http://download.opensuse.org/repositories/multimedia:/xiph/xUbuntu_16.04/ repository]<br />
|LTS<ref name="ubuntu-lts"/><br />
|-<br />
|Ubuntu 17.04 (zesty)<br />
|<syntaxhighlight lang="bash">sudo sh -c "echo deb http://download.opensuse.org/repositories/multimedia:/xiph/xUbuntu_17.04/ ./ >>/etc/apt/sources.list.d/icecast.list"</syntaxhighlight><br />
|[http://download.opensuse.org/repositories/multimedia:/xiph/xUbuntu_17.04/ repository]<br />
|''not'' LTS<ref name="ubuntu-lts">Ubuntu releases that are not Long-Term-Support have a [https://wiki.ubuntu.com/Releases short life cycle]. Xiph.org will stop offering updated packages for those some time after Canonical/the Ubuntu Project end their support.</ref>!<br />
|-<br />
|Ubuntu 17.10 (artful)<br />
|<syntaxhighlight lang="bash">sudo sh -c "echo deb http://download.opensuse.org/repositories/multimedia:/xiph/xUbuntu_17.10/ ./ >>/etc/apt/sources.list.d/icecast.list"</syntaxhighlight><br />
|[http://download.opensuse.org/repositories/multimedia:/xiph/xUbuntu_17.10/ repository]<br />
|''not'' LTS<ref name="ubuntu-lts"/>!<br />
|-<br />
|source package, any deb distro<br />
|<syntaxhighlight lang="bash">sudo sh -c "echo deb-src http://download.opensuse.org/repositories/multimedia:/xiph/Debian_8.0/ ./ >>/etc/apt/sources.list.d/icecast.list"</syntaxhighlight><br />
|[http://download.opensuse.org/repositories/multimedia:/xiph/Debian_8.0/ repository]<br />
| actually available for ''all'' repository URLs<br />
|-<br />
|Linux Mint:<br />
|Use the information listed above for the [https://en.wikipedia.org/wiki/List_of_Linux_Mint_releases#Release_history corresponding Ubuntu release].<br />
|}<br />
<br />
==== Import the ''Multimedia'' signing key ====<br />
You need to add the [http://icecast.org/multimedia-obs.key openSUSE OBS '''Multimedia''' signing key] as a trusted key to your system.<br />
<br />
There are many ways to verify this key, e.g. by a simple web search.<br />
<br />
After downloading the key, you can run this command to verify your copy:<br />
<br />
<code>gpg multimedia-obs.key</code><br />
<br />
It should yield:<br />
<br />
pub rsa2048 2017-11-21 [SC] [expires: 2020-01-30]<br />
<nowiki> 0E313DB7936B4E76E720065B77EC2301F23C6AA3</nowiki><br />
uid multimedia OBS Project <multimedia@build.opensuse.org><br />
<br />
Then you can add the key to your system's Trusted Keys using:<br />
<br />
<code>sudo apt-key add multimedia-obs.key</code><br />
<br />
The simplest way (but not very secure, since you're not checking the key) is to add the key with one command line:<br />
<br />
<code>wget -qO - http://icecast.org/multimedia-obs.key | sudo apt-key add -</code><br />
<br />
==== Update repository index ====<br />
<code><nowiki>sudo apt-get update</nowiki></code><br />
==== Install Icecast ====<br />
<code><nowiki>sudo apt-get install icecast2</nowiki></code><br />
<br />
== RedHat and its derivatives ==<br />
{| class="wikitable"<br />
!Distribution Release<br />
!Command<br />
!Repository<br />
!Comments<br />
|-<br />
|EPEL5 (RHEL 5/CentOS 5)<br />
|<syntaxhighlight lang="bash"></syntaxhighlight><br />
|[http://download.opensuse.org/repositories/multimedia:/xiph/CentOS_5 repository]<br />
|<br />
|-<br />
|EPEL6 (RHEL 6/CentOS 6)<br />
|<syntaxhighlight lang="bash"></syntaxhighlight><br />
|[http://download.opensuse.org/repositories/multimedia:/xiph/CentOS_6 repository]<br />
|<br />
|-<br />
|EPEL7 (RHEL 7/CentOS 7)<br />
|<syntaxhighlight lang="bash"></syntaxhighlight><br />
|[http://download.opensuse.org/repositories/multimedia:/xiph/CentOS_7 repository]<br />
|<br />
|-<br />
|Fedora 22<br />
|<syntaxhighlight lang="bash"></syntaxhighlight><br />
|[http://download.opensuse.org/repositories/multimedia:/xiph/Fedora_22 repository]<br />
|<br />
|-<br />
|Fedora 23<br />
|<syntaxhighlight lang="bash"></syntaxhighlight><br />
|[http://download.opensuse.org/repositories/multimedia:/xiph/Fedora_23 repository]<br />
|<br />
|-<br />
<br />
|}<br />
<br />
== openSUSE ==<br />
{| class="wikitable"<br />
!Distribution Release<br />
!Command<br />
!Repository<br />
!Comments<br />
|-<br />
|SUSE Linux Enterprise 11.3<br />
|<syntaxhighlight lang="bash"></syntaxhighlight><br />
|[http://download.opensuse.org/repositories/multimedia:/xiph/SLE_11_SP3 repository]<br />
|<br />
|-<br />
|SUSE Linux Enterprise 11.4<br />
|<syntaxhighlight lang="bash"></syntaxhighlight><br />
|[http://download.opensuse.org/repositories/multimedia:/xiph/SLE_11_SP4 repository]<br />
|<br />
|-<br />
|SUSE Linux Enterprise 12<br />
|<syntaxhighlight lang="bash"></syntaxhighlight><br />
|[http://download.opensuse.org/repositories/multimedia:/xiph/SLE_12 repository]<br />
|<br />
|-<br />
|openSUSE 13.1<br />
|<syntaxhighlight lang="bash"></syntaxhighlight><br />
|[http://download.opensuse.org/repositories/multimedia:/xiph/openSUSE_13.1 repository]<br />
|<br />
|-<br />
|openSUSE 13.2<br />
|<syntaxhighlight lang="bash"></syntaxhighlight><br />
|[http://download.opensuse.org/repositories/multimedia:/xiph/openSUSE_13.2 repository]<br />
|<br />
|-<br />
|openSUSE Leap 42.1<br />
|<syntaxhighlight lang="bash"></syntaxhighlight><br />
|[http://download.opensuse.org/repositories/multimedia:/xiph/openSUSE_Leap_42.1 repository]<br />
|<br />
|-<br />
|openSUSE Tumbleweed<br />
|<syntaxhighlight lang="bash"></syntaxhighlight><br />
|[http://download.opensuse.org/repositories/multimedia:/xiph/openSUSE_Tumbleweed repository]<br />
|<br />
|-<br />
<br />
|}<br />
<br />
== Footnotes ==<br />
<references/><br />
[[Category: Icecast]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=Games_that_use_Vorbis&diff=16622Games that use Vorbis2017-10-17T15:28:19Z<p>Martin.leese: stylised => stylised; British English allows both spellings, so went with 'zed</p>
<hr />
<div>The following games use [[Vorbis]], most frequently for their in-game music or sound effects:<br />
<br />
* All Games By [http://www.reflexive.com/index.php?CAT=Search&SEARCH=dev%3AReflexive+Entertainment&PAGE=GameList Reflexive Entertainment].<br />
<br />
* [http://www.mobygames.com/game/windows/007-nightfire 007: Nightfire]: Uses Ogg Vorbis for background soundtrack.<br />
<br />
* [http://www.asciisector.net/ Ascii Sector]: Space combat/exploration/trading game. Uses Ogg Vorbis for music.<br />
<br />
* [http://www.ageofconan.com/ Age of Conan — Hyborian Adventures]: Uses Ogg Vorbis for all audio.<br />
<br />
* [http://www.americasarmy.com/ America’s Army]: Uses Ogg Vorbis for main theme.<br />
<br />
* [http://www.amnesiagame.com/ Amnesia: The Dark Descent]: Uses Ogg Vorbis for all audio.<br />
<br />
* [http://assault.cubers.net/ AssaultCube]: A free fast paced first-person shooter with little hardware requirements for Windows, Linux and OS X. Uses Ogg Vorbis for all game sounds and music.<br />
<br />
* [http://www.lionhead.com/bw2/ Black & White 2]: Uses Ogg Vorbis for music.<br />
<br />
* [http://www.pyrogon.com/games/candycruncher/ Candy Cruncher]: This cute puzzle game from Brian Hook’s company, Pyrogon, uses Vorbis for the addictive music you hear while you race the clock.<br />
<br />
* [http://www.callofcthulhu.com/ Call of Cthulhu] is a first-person horror game that combines intense action and adventure elements. It uses Ogg Vorbis for music and speech.<br />
<br />
* [http://www.mobygames.com/game/windows/catechumen Catechumen] is a Christian-themed FPS that uses Ogg Vorbis.<br />
<br />
* [http://www.civilization5.com/ Civilization V] is a turn-based strategy game that uses Ogg Vorbis for music.<br />
<br />
* [http://www.atari.com/crashday/ Crashday]: Stunt racing game, developed by independent German studio Moon Byte. Uses Ogg Vorbis for music.<br />
<br />
* [http://buenavistagames.go.com/product/chickenLittlePC.html Chicken Little]: Adventure game for children inspired by the motion picture in PC edition uses Vorbis for dialogs and music. (not sure if sound effects too)<br />
<br />
* [http://www.cossacks2.de/ Cossacks 2]: “Cossacks II: Napoleonic Wars” is a sequel of “Cossacks: European Wars”. Ogg Vorbis 1.0 files are in \data\music\<br />
<br />
* [http://www.darwinia.co.uk/ Darwinia]: The second title from Indy developer Introversion Software. Darwinia is a stylized retro — Tron meets Cannon Fodder. It uses Vorbis for all in game sound effects and music.<br />
<br />
* [http://www.introversion.co.uk/defcon/ DEFCON]: The third title from Introversion Software. Uses Vorbis for music, effects, everything, like Darwinia.<br />
<br />
* [http://devilmaycry.com/ Devil May Cry 4] (for the PC, at least): Uses (occasionally multichannel) Ogg Vorbis for ingame and cutscene music.<br />
<br />
* [http://www.eidos.co.uk/gss/dxiw/ Deus Ex: Invisible War] by Ion Storm/Eidos: Uses Ogg Vorbis for music and voice (and possibly for sound fx too).<br />
<br />
* [http://diablo3.com Diablo III] uses Vorbis for audio.<br />
<br />
* [http://www.idsoftware.com/games/doom/doom3/ DOOM 3]: The latest version of this famous first person shooter game from id software uses Vorbis for the theme music as well as their ambient and game sounds.<br />
<br />
* [http://mobygames.com/game/sheet/p,3/gameId,6505/ Duke Nukem: Manhattan Project]: This game from 3D Realms was released in 2002 and used Vorbis for their music. (Official website is down, using Mobygames link)<br />
<br />
* [http://www.popcap.com/games/free/dynomite Dynomite]: Puzzle Bobble/Bust A Move clone for Windows by PopCap Games, with mouse control. Uses Ogg Vorbis for nearly all sound effects.<br />
<br />
* [http://en.wikipedia.org/wiki/Eschalon:_Book_I Eschalon]: A classic-style roleplaying game, for Windows, Mac, and Linux. Music is in ''Ogg Vorbis'' format.<br />
<br />
* [http://www.mobygames.com/game/enclave/ Enclave] by Starbreeze/Black Label Games: Uses Ogg Vorbis for music (and possibly for sound fx and voice too).<br />
<br />
* [http://www.eve-online.com EVE Online] by CCP Games, the Icelandic-homed space-based single-shard persistent world game uses Ogg Vorbis for its music.<br />
<br />
* [http://www.lionhead.com/fabletlc/ Fable: The Lost Chapters]: Uses Ogg Vorbis for music and cutscenes (Ancient libVorbis version, 1.0 RC2).<br />
<br />
* [http://farcry.ubi.com/ FarCry] by Crytek: uses Ogg Vorbis for music and effects.<br />
<br />
* [http://www.freedom-fighters.co.uk/ Freedom Fighters] by IO Interactive: String search reveals “libVorbis I 20011217” in freedom.exe.<br />
<br />
* [http://www.siriusgames.dk/index.php?pageid=67 Gangland] by MediaMobsters: Uses Ogg Vorbis for music and cutscenes (Data\streams\). Encoded with Xiph.Org libVorbis I 20020717. Decoder library: FMOD 3.71.<br />
<br />
* [http://www.rockstargames.com/vicecity/ Grand Theft Auto: Vice City] by Rockstar Games/Rockstar North uses Ogg Vorbis to store music, radio, ambient sounds, police messages and cutscene audio. Players can also store their custom tracks (accessible in-game via the “User Track Player” radio station) in Ogg Vorbis.<br />
<br />
* [http://www.rockstargames.com/sanandreas/ Grand Theft Auto: San Andreas] by Rockstar Games/Rockstar North uses Ogg Vorbis to store music, radio, ambient sounds, police messages and cutscene audio. Players can also store their custom tracks (accessible in-game via the “User Track Player” radio station) in Ogg Vorbis.<br />
<br />
* [http://www.gothic3.com/ Gothic 3] by Piranha Bytes: Vorbis is used in the Ogg container for everything (music, speech, effects) except of the intro video. For example: Music @ 256 kb/s, Speech @ 86 kb/s. About 18 hours of speech compressed to 700 MB.<br />
<br />
* [http://www.guiltygearx2reload.com/ Guilty Gear XX]: The PC version, at least, uses Ogg Vorbis for all the music.<br />
<br />
* [http://www.guitarherogame.com/gh2/ Guitar Hero II] by Red Octane (Activision), XBox360 platform only (multichannel Vorbis with 5 or 6 channels per song)<br />
<br />
* [http://halo.bungie.org/ Halo]: Mac and PC versions of Halo use Ogg Vorbis for all audio, it seems. The Xiph license and dynamically linked libraries of Ogg and Vorbis are included in the Halo directory. XBox version does not use Ogg Vorbis.<br />
<br />
* [http://harrypotter.ea.com/cofs/index.html Harry Potter II (Chamber of Secrets)]: This is unsubstantiated, it was reported on one of the vorbis mailing lists, but there is little evidence either way on this title. EA has been supportive of Vorbis though, so it’s not entirely impossible. If anyone can give us a yay or nay on this, please do.<br />
<br />
* [http://www.mightandmagicgame.com/HeroesV/ Heroes of Might and Magic V]: Uses Vorbis for audio and Theora for video.<br />
<br />
* [http://www.eidosinteractive.com/games/info.html?gmid=118 Hitman 2]: uses Vorbis. (PC only or consoles too?)<br />
<br />
* [http://www.codemasters.com/igi2/front.htm IGI2: Covert Strike]: Not a Norwegian first-person shooter.<br />
<br />
* [http://www.inthegroove.com In The Groove]: The premier dance game created by [http://www.roxorgames.com Roxor Games, Inc.] Uses Vorbis for all of the in-game music.<br />
<br />
* [http://www.agdinteractive.com/games/kq1/ King's Quest I]: King's Quest I: Quest for the Crown (Enhanced) is a fan remake of the original Sierra classic. Uses Ogg Vorbis for sound and Ogg Theora for cutscene movies.<br />
<br />
* [http://www.p3int.com/KULT/ KULT Heretic Kingdoms] by 3D People/Project 3 Interactive: Uses Vorbis (1.0) for music, voice and sound effects.<br />
<br />
* Recent Legacy of Kain Games: On the PC, both '''Soul Reaver 2''' and '''Blood Omen 2''' by Crystal Dynamics/Eidos use Ogg Vorbis for music and sound effects. (Source: [http://www.thelostworlds.net/FAQ.HTML#ogg])<br />
<br />
* [http://www.ncsoft.net/eng/ncgames/lineage2_intro.asp Lineage II]: NCSoft Corporation’s 3D MMORPG Lineage II uses Ogg Vorbis for its music. They use 1.0beta3, though.<br />
<br />
* [http://www.liveforspeed.net/ Live for Speed]: Online racing simulator uses Ogg for all audio and sound effects.<br />
<br />
* [http://www.mobygames.com/game/lock-on-modern-air-combat Lock On: Modern Air Combat]: Published by Ubisoft; CD-ROM contains over 1800 Ogg Vorbis files for speech.<br />
<br />
* [http://www.mafia-game.com/ Mafia: The City Of Lost Heaven]: Not sure about any console version, but PC version is reported to use Ogg Vorbis.<br />
<br />
* [http://www.popcap.com/games/magicmatch Magic Match]: A very elaborate "Match 3" casual game that uses Ogg Vorbis for its audio.<br />
<br />
* [http://www.capcom.co.jp/rockmanx8/ Mega Man X8]: The PC version of Mega Man X8 makes use of Vorbis for music and dialogue during cutscenes.<br />
<br />
* [http://www.mobygames.com/game/gamecube/metal-gear-solid-the-twin-snakes Metal Gear Solid: The Twin Snakes]: Uses Ogg Vorbis for all speech in the game.<br />
<br />
* [http://minecraft.net Minecraft]: Uses Ogg Vorbis for music and sound effects.<br />
<br />
* MotoGP: This motorcycle racing sim uses Vorbis for the music and allows players to drop their own .ogg files into the music dir to listen to them in-game.<br />
<br />
* [http://www.mystrevelation.com/ Myst IV: Revelation]: Fourth game in the Myst series. Uses Ogg Vorbis for all music, speech and sound effects.<br />
<br />
* [http://www.mystvgame.com/ Myst V: End of Ages]: Fifth and final game in the Myst series. Uses Ogg Vorbis for all music, speech and sound effects.<br />
<br />
* Nascar Racing Games from Papyrus: They had this to say about their decision and experience:<br />
<blockquote style="background-color: #eeeeee"><br />
"We’re using a lot of spoken audio in this title (a first for us) and your codec has allowed us to reduce more than 350MB of audio data to about 40MB, a huge savings of memory and disk space! We are very impressed." — Tom Faiano, Producer<br />
</blockquote><br />
<blockquote style="background-color: #eeeeee"><br />
"Incorporating Ogg Vorbis into our codebase was quite painless, and in the end, even refreshing. No fuss no muss. Thank you for your efforts!" — Bill Farquhar, Soundguy du jour<br />
</blockquote><br />
<br />
* [http://www.nexuiz.com/ Nexuiz], a fast-paced FPS with roots in Quake I, uses Vorbis for background music. The minstagib mod uses Vorbis for all of its sound.<br />
<br />
* [http://www.codemasters.com/flashpoint/ Operation Flashpoint]: This highly successful military simulation/action game from Codemasters uses Vorbis for the in-game music.<br />
<br />
* [http://www.orunner.com/ Ostrich Runner] by Geleos: This funny Russian cartoon-style game for kids and not only kids uses Ogg Vorbis for sound, speech and music.<br />
<br />
* [http://www.ysagoon.com/glob2/ Globulation 2]: State of the art GPL-ed strategy game!<br />
<br />
* [http://www.penumbragame.com Penumbra: Black Plague]: Uses Ogg Vorbis for all audio.<br />
<br />
* [http://www.psobb.com/index.php Phantasy Star Online: Blue Burst]: Uses Ogg Vorbis for music, stored in data/ogg.<br />
<br />
* [http://www.gopostal.com/ Postal 2]: Probably not the game we want to use to showcase Vorbis, but it’s being used in this Unreal-engine-powered ultra-violent game.<br />
<br />
* [http://www.praetoriansgame.com/ Praetorians]: This very successful game from Pyro Studios uses Vorbis for its music.<br />
<br />
* [http://www.psychonauts.com/ Psychonauts]: Has vorbis.dll and vorbisfile.dll.<br />
<br />
* [http://www.quake4game.com/ Quake 4]: Quake 4 is the fourth title in the series of Quake FPS computer games. All game music, speech and sound effects make use of Vorbis.<br />
<br />
* [http://www.restricted-area.net/ Restricted Area]: by Master Creating uses Ogg Vorbis for music and VP3 for videos.<br />
<br />
* Ricochet: An addictive version of Break out.<br />
<br />
* [http://www.rockband.com/ Rock Band]: XBox360 version uses the same type of multichannel Vorbis files as Guitar Hero II, but with more channels to handle the drums and vocals separately.<br />
<br />
* [http://www.rockmanager.net/ Rock Manager]: Vorbis is used in this “new rock’n roll management sim for PC from Pan Vision and Monsterland”.<br />
<br />
* [http://www.sacred2.com/ Sacred 2] by Studio II: uses multichannel(!) Ogg Vorbis for music, speech and sound effects.<br />
<br />
* [http://www.s2games.com/savage/ Savage]: This S2 Games “RTSS” hybrid genre game uses Vorbis for all the in-game music.<br />
<br />
* [http://www.serioussam.com/se/ Serious Sam: The Second Encounter]: uses Vorbis for the music, although it is slightly obfuscated so as not to be easily playable by standard Ogg Vorbis players.<br />
<br />
* [http://www.serioussam2.com/ Serious Sam 2]: not only uses Vorbis for the music but even Theora for the videos<br />
<br />
* [http://www.totalwar.com/community/warlord.htm Shogun: Total War]: Shogun uses Vorbis, but only to distribute — everything is decompressed to wav during the install.<br />
<br />
* [http://www.singles2.com/englisch/index.html Singles 2]: Uses Ogg Vorbis for sound<br />
<br />
* [http://www.lart.pl/en/portfolioItem.php?id=91 Ski Jumping 2004]: A commerical game that accurately models the activity of ski jumping. The game also contains over 700 Ogg Vorbis files.<br />
<br />
* [http://mobygames.com/game/sheet/p,3/gameId,3453/ Star Trek: Away Team]: Vorbis is used for all sound in the game — music, voiceover and SFX. This squad-based strategy game is set in the Star Trek Next Generation universe. (Official website is down, using Mobygames link)<br />
<br />
* [http://starcraft2.com/ StarCraft II]: Uses Vorbis for audio<br />
<br />
* StoneLoops! Of Jurassica ([http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=315210057&mt=8 Apple iTunes App Store link]): Colorful puzzle game for the iPhone/iPod Touch that uses Ogg Vorbis for audio.<br />
<br />
* [http://supertux.lethargik.org/ Super Tux]: Uses Vorbis for music.<br />
<br />
* [http://www.splintercell3.com/ Tom Clancy’s Splinter Cell Chaos Theory]: .LS0 files are in fact Ogg Vorbis files.<br />
<br />
* [http://www.lucasarts.com/games/swrepubliccommando/ Star Wars Republic Commando]: Vorbis is used in the ambient and game music in this latest action game from LucasArts.<br />
<br />
* [http://www.reflexive.net/index.php?PAGE=game_detail&AID=30 Swarm]: A fun little arcade shooter.<br />
<br />
* [http://www.swat4.com/ SWAT 4]: SWAT 4 uses Ogg Vorbis for audio files.<br />
<br />
* [http://www.croteam.com/talosprinciple/ The Talos Principle] is a first-person puzzle game that uses Ogg Vorbis for music.<br />
<br />
* [http://www.there.com/ There]: uses both Ogg Vorbis for the sound effects and Ogg Speex for realtime group voice chat, a first for an immersive consumer-oriented world.<br />
<blockquote style="background-color: #eeeeee"><br />
"Voice has become a very popular part of our product!" — David Weekly, a There developer<br />
</blockquote><br />
<br />
* [http://www.wesnoth.org The Battle for Wesnoth]: uses Ogg Vorbis for it's music and for most of it's sounds.<br />
<br />
* [http://www.riddickgame.com/ The Chronicles of Riddick: Escape From Butcher’s Bay (Director’s Cut)]: Uses Vorbis for all audio and Theora for cutscenes.<br />
<br />
* [https://thimbleweedpark.com/ Thimbleweed Park]: Retro-looking point-and-click adventure, [https://blog.thimbleweedpark.com/tracking_talkies using Ogg Vorbis for its music, character voices and sound effects].<br />
<blockquote style="background-color: #eeeeee"><br />
"[The characters' dialog is] around 6GB of .wav files and we needed to compress them for inclusion in the game. We used .ogg files due to it being free of the patent and licensing issues that .mp3 has, although either would have worked." — Ron Gilbert<br />
</blockquote><br />
<br />
* [http://www.thethinggames.com/ The Thing]: Uses Vorbis<br />
<blockquote style="background-color: #eeeeee"><br />
"The original multilanguage distro took three CDs, and went down to only one after I converted all wavs to oggs. Nifty :) Sadly enough, marketing decided to not have one language per CD anyway (probably to annoy people who migrate) :/ Thanks for a very cool (and easy to use) lib/format!" — Vincent Penquerc’h<br />
</blockquote><br />
<br />
* [http://www.asahi-net.or.jp/~cs8k-cyu/windows/tt_e.html Torus Trooper]: Frantic 3D shootemup, using Vorbis for the music. (see also the [http://www.emhsoft.net/ttrooper/ Linux port] and [http://www.apple.com/downloads/macosx/games/action_adventure/torustrooper.html MacOS version])<br />
<br />
* [http://www.trackmania.com/ TrackMania] uses Vorbis for music in menu and tracks. [music in self-made tracks also need to be in Vorbis]<br />
<br />
* [http://www.mikeoldfield.com/ Tr3s Lunas] (aka Music VR episode 1): This game, featuring the music of Mike Oldfield, uses Vorbis for the music.<br />
<br />
* [http://www.tribesvengeance.com Tribes: Vengance] by Irration Games/Sierra use Ogg Vorbis for music.<br />
<br />
* [http://www.mobygames.com/game/gamecube/true-crime-new-york-city True Crime: New York City]: GameCube version contains over 11,500 Ogg Vorbis files. It is likely that other platform ports also use the same files (note that the [http://www.mobygames.com/game/xbox/true-crime-new-york-city Xbox version] uses Windows Media Audio files in place of Ogg Vorbis files)<br />
<br />
* [http://tuxtype.sourceforge.net/ Tuxtyping 2]: Educational typing tutor for kids of all ages! <br />
<br />
* [http://www.ufo-aftershock.com/ UFO: Aftershock]: Uses Vorbis for music.<br />
<br />
* [http://www.ufo-afterlight.com/ UFO: Afterlight]: Uses Vorbis for music.<br />
<br />
* [http://www.atari.com/us/games/unreal2/pc Unreal 2]: PC version uses Vorbis, usage on consoles not confirmed.<br />
<blockquote style="background-color: #eeeeee"><br />
"We went with Ogg Vorbis due to its excellent playback and compression, and we used it not only for music but also all of the in-game voice. Without it, we never would have been able to fit on two CDs." — [http://www.4unrealers.com/entrevistas/263/ 4unrealers.com]<br />
</blockquote><br />
<br />
* [http://www.unrealtournament.com/ut2003/ Unreal Tournament 2003]: This overwhelmingly-popular multiplayer first person shooter PC title uses Vorbis for its music.<br />
<br />
* [http://www.unrealtournament.com/ut2004/ Unreal Tournament 2004]: Yet another Unreal game which uses Vorbis for the music (What about effects and voice? Does anyone know?). The readme file of the demo even mentions Speex!<br />
<br />
* [http://sc2.sourceforge.net/ The Ur-Quan Masters]: Port of Star Control 2 to modern computers. Toys for Bob released the source of this amazing game under the GPL in 2002. Ogg Vorbis is used for the dialogue and the background music.<br />
<br />
* [http://uru.ubi.com/ Uru: Ages Beyond Myst]: Spinoff from the Myst series. Uses Ogg Vorbis for all music, speech and sound effects.<br />
<br />
* [http://mobygames.com/game/sheet/p,3/gameId,8635/ Lionheart — Legacy of the Crusader]: An 3/4 RPG from Black Isle. Uses Vorbis for all audio. Thanks to all the guys that made Vorbis great.. (I even donated money myself, someday maybe I can convince the company to kick in some bucks as well). Official site is down, using mobygames link.<br />
<br />
* [http://www.global-gaming.com/Dominion/ Urban Dominion] (beta): First Person Massively Multiplayer Online Role-Playing Game by Global-Gaming. Uses Ogg Vorbis for the sound system.<br />
<br />
* [http://www.vietcong-game.com/ Vietcong]: Vietnam War First Person Shooter by Pterodon. Uses Ogg Vorbis I believe for the background music.<br />
<br />
* [http://vegastrike.sourceforge.net/ Vega Strike]: It is a free spacesim. Ogg Vorbis files are stored in \music\ .<br />
<br />
* [http://www.gathering.com/wingsofwar/ Wings Of War]: It is an arcade shooter in times of WWI. Game has ogg.dll, vorbis.dll and vorbisfile.dll — but *.ogg files are not accessible.<br />
<br />
* [http://jonof.edgenetwork.org/winbuild/ WinBuild]: Winbuild is a port of Ken Silverman’s [http://www.advsys.net/ken/buildsrc/default.htm original Build engine demo] (for DOS) to Windows. It uses Vorbis compression for the music.<br />
<br />
* [http://www.worldofwarcraft.com/ World of Warcraft]: popular massively multiplayer online role-playing game from Blizzard Entertainment use Vorbis for speech and sound effects.<br />
<br />
* [http://www.zax-game.com/ Zax — The Alien Hunter]: A large 3/4 view action adventure game.<br />
<br />
[[Category:Vorbis]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=Games_that_use_Vorbis&diff=16621Games that use Vorbis2017-10-09T17:29:14Z<p>Martin.leese: More typos - left "stylised" as it might be British English</p>
<hr />
<div>The following games use [[Vorbis]], most frequently for their in-game music or sound effects:<br />
<br />
* All Games By [http://www.reflexive.com/index.php?CAT=Search&SEARCH=dev%3AReflexive+Entertainment&PAGE=GameList Reflexive Entertainment].<br />
<br />
* [http://www.mobygames.com/game/windows/007-nightfire 007: Nightfire]: Uses Ogg Vorbis for background soundtrack.<br />
<br />
* [http://www.asciisector.net/ Ascii Sector]: Space combat/exploration/trading game. Uses Ogg Vorbis for music.<br />
<br />
* [http://www.ageofconan.com/ Age of Conan — Hyborian Adventures]: Uses Ogg Vorbis for all audio.<br />
<br />
* [http://www.americasarmy.com/ America’s Army]: Uses Ogg Vorbis for main theme.<br />
<br />
* [http://www.amnesiagame.com/ Amnesia: The Dark Descent]: Uses Ogg Vorbis for all audio.<br />
<br />
* [http://assault.cubers.net/ AssaultCube]: A free fast paced first-person shooter with little hardware requirements for Windows, Linux and OS X. Uses Ogg Vorbis for all game sounds and music.<br />
<br />
* [http://www.lionhead.com/bw2/ Black & White 2]: Uses Ogg Vorbis for music.<br />
<br />
* [http://www.pyrogon.com/games/candycruncher/ Candy Cruncher]: This cute puzzle game from Brian Hook’s company, Pyrogon, uses Vorbis for the addictive music you hear while you race the clock.<br />
<br />
* [http://www.callofcthulhu.com/ Call of Cthulhu] is a first-person horror game that combines intense action and adventure elements. It uses Ogg Vorbis for music and speech.<br />
<br />
* [http://www.mobygames.com/game/windows/catechumen Catechumen] is a Christian-themed FPS that uses Ogg Vorbis.<br />
<br />
* [http://www.civilization5.com/ Civilization V] is a turn-based strategy game that uses Ogg Vorbis for music.<br />
<br />
* [http://www.atari.com/crashday/ Crashday]: Stunt racing game, developed by independent German studio Moon Byte. Uses Ogg Vorbis for music.<br />
<br />
* [http://buenavistagames.go.com/product/chickenLittlePC.html Chicken Little]: Adventure game for children inspired by the motion picture in PC edition uses Vorbis for dialogs and music. (not sure if sound effects too)<br />
<br />
* [http://www.cossacks2.de/ Cossacks 2]: “Cossacks II: Napoleonic Wars” is a sequel of “Cossacks: European Wars”. Ogg Vorbis 1.0 files are in \data\music\<br />
<br />
* [http://www.darwinia.co.uk/ Darwinia]: The second title from Indy developer Introversion Software. Darwinia is a stylised retro — Tron meets Cannon Fodder. It uses Vorbis for all in game sound effects and music.<br />
<br />
* [http://www.introversion.co.uk/defcon/ DEFCON]: The third title from Introversion Software. Uses Vorbis for music, effects, everything, like Darwinia.<br />
<br />
* [http://devilmaycry.com/ Devil May Cry 4] (for the PC, at least): Uses (occasionally multichannel) Ogg Vorbis for ingame and cutscene music.<br />
<br />
* [http://www.eidos.co.uk/gss/dxiw/ Deus Ex: Invisible War] by Ion Storm/Eidos: Uses Ogg Vorbis for music and voice (and possibly for sound fx too).<br />
<br />
* [http://diablo3.com Diablo III] uses Vorbis for audio.<br />
<br />
* [http://www.idsoftware.com/games/doom/doom3/ DOOM 3]: The latest version of this famous first person shooter game from id software uses Vorbis for the theme music as well as their ambient and game sounds.<br />
<br />
* [http://mobygames.com/game/sheet/p,3/gameId,6505/ Duke Nukem: Manhattan Project]: This game from 3D Realms was released in 2002 and used Vorbis for their music. (Official website is down, using Mobygames link)<br />
<br />
* [http://www.popcap.com/games/free/dynomite Dynomite]: Puzzle Bobble/Bust A Move clone for Windows by PopCap Games, with mouse control. Uses Ogg Vorbis for nearly all sound effects.<br />
<br />
* [http://en.wikipedia.org/wiki/Eschalon:_Book_I Eschalon]: A classic-style roleplaying game, for Windows, Mac, and Linux. Music is in ''Ogg Vorbis'' format.<br />
<br />
* [http://www.mobygames.com/game/enclave/ Enclave] by Starbreeze/Black Label Games: Uses Ogg Vorbis for music (and possibly for sound fx and voice too).<br />
<br />
* [http://www.eve-online.com EVE Online] by CCP Games, the Icelandic-homed space-based single-shard persistent world game uses Ogg Vorbis for its music.<br />
<br />
* [http://www.lionhead.com/fabletlc/ Fable: The Lost Chapters]: Uses Ogg Vorbis for music and cutscenes (Ancient libVorbis version, 1.0 RC2).<br />
<br />
* [http://farcry.ubi.com/ FarCry] by Crytek: uses Ogg Vorbis for music and effects.<br />
<br />
* [http://www.freedom-fighters.co.uk/ Freedom Fighters] by IO Interactive: String search reveals “libVorbis I 20011217” in freedom.exe.<br />
<br />
* [http://www.siriusgames.dk/index.php?pageid=67 Gangland] by MediaMobsters: Uses Ogg Vorbis for music and cutscenes (Data\streams\). Encoded with Xiph.Org libVorbis I 20020717. Decoder library: FMOD 3.71.<br />
<br />
* [http://www.rockstargames.com/vicecity/ Grand Theft Auto: Vice City] by Rockstar Games/Rockstar North uses Ogg Vorbis to store music, radio, ambient sounds, police messages and cutscene audio. Players can also store their custom tracks (accessible in-game via the “User Track Player” radio station) in Ogg Vorbis.<br />
<br />
* [http://www.rockstargames.com/sanandreas/ Grand Theft Auto: San Andreas] by Rockstar Games/Rockstar North uses Ogg Vorbis to store music, radio, ambient sounds, police messages and cutscene audio. Players can also store their custom tracks (accessible in-game via the “User Track Player” radio station) in Ogg Vorbis.<br />
<br />
* [http://www.gothic3.com/ Gothic 3] by Piranha Bytes: Vorbis is used in the Ogg container for everything (music, speech, effects) except of the intro video. For example: Music @ 256 kb/s, Speech @ 86 kb/s. About 18 hours of speech compressed to 700 MB.<br />
<br />
* [http://www.guiltygearx2reload.com/ Guilty Gear XX]: The PC version, at least, uses Ogg Vorbis for all the music.<br />
<br />
* [http://www.guitarherogame.com/gh2/ Guitar Hero II] by Red Octane (Activision), XBox360 platform only (multichannel Vorbis with 5 or 6 channels per song)<br />
<br />
* [http://halo.bungie.org/ Halo]: Mac and PC versions of Halo use Ogg Vorbis for all audio, it seems. The Xiph license and dynamically linked libraries of Ogg and Vorbis are included in the Halo directory. XBox version does not use Ogg Vorbis.<br />
<br />
* [http://harrypotter.ea.com/cofs/index.html Harry Potter II (Chamber of Secrets)]: This is unsubstantiated, it was reported on one of the vorbis mailing lists, but there is little evidence either way on this title. EA has been supportive of Vorbis though, so it’s not entirely impossible. If anyone can give us a yay or nay on this, please do.<br />
<br />
* [http://www.mightandmagicgame.com/HeroesV/ Heroes of Might and Magic V]: Uses Vorbis for audio and Theora for video.<br />
<br />
* [http://www.eidosinteractive.com/games/info.html?gmid=118 Hitman 2]: uses Vorbis. (PC only or consoles too?)<br />
<br />
* [http://www.codemasters.com/igi2/front.htm IGI2: Covert Strike]: Not a Norwegian first-person shooter.<br />
<br />
* [http://www.inthegroove.com In The Groove]: The premier dance game created by [http://www.roxorgames.com Roxor Games, Inc.] Uses Vorbis for all of the in-game music.<br />
<br />
* [http://www.agdinteractive.com/games/kq1/ King's Quest I]: King's Quest I: Quest for the Crown (Enhanced) is a fan remake of the original Sierra classic. Uses Ogg Vorbis for sound and Ogg Theora for cutscene movies.<br />
<br />
* [http://www.p3int.com/KULT/ KULT Heretic Kingdoms] by 3D People/Project 3 Interactive: Uses Vorbis (1.0) for music, voice and sound effects.<br />
<br />
* Recent Legacy of Kain Games: On the PC, both '''Soul Reaver 2''' and '''Blood Omen 2''' by Crystal Dynamics/Eidos use Ogg Vorbis for music and sound effects. (Source: [http://www.thelostworlds.net/FAQ.HTML#ogg])<br />
<br />
* [http://www.ncsoft.net/eng/ncgames/lineage2_intro.asp Lineage II]: NCSoft Corporation’s 3D MMORPG Lineage II uses Ogg Vorbis for its music. They use 1.0beta3, though.<br />
<br />
* [http://www.liveforspeed.net/ Live for Speed]: Online racing simulator uses Ogg for all audio and sound effects.<br />
<br />
* [http://www.mobygames.com/game/lock-on-modern-air-combat Lock On: Modern Air Combat]: Published by Ubisoft; CD-ROM contains over 1800 Ogg Vorbis files for speech.<br />
<br />
* [http://www.mafia-game.com/ Mafia: The City Of Lost Heaven]: Not sure about any console version, but PC version is reported to use Ogg Vorbis.<br />
<br />
* [http://www.popcap.com/games/magicmatch Magic Match]: A very elaborate "Match 3" casual game that uses Ogg Vorbis for its audio.<br />
<br />
* [http://www.capcom.co.jp/rockmanx8/ Mega Man X8]: The PC version of Mega Man X8 makes use of Vorbis for music and dialogue during cutscenes.<br />
<br />
* [http://www.mobygames.com/game/gamecube/metal-gear-solid-the-twin-snakes Metal Gear Solid: The Twin Snakes]: Uses Ogg Vorbis for all speech in the game.<br />
<br />
* [http://minecraft.net Minecraft]: Uses Ogg Vorbis for music and sound effects.<br />
<br />
* MotoGP: This motorcycle racing sim uses Vorbis for the music and allows players to drop their own .ogg files into the music dir to listen to them in-game.<br />
<br />
* [http://www.mystrevelation.com/ Myst IV: Revelation]: Fourth game in the Myst series. Uses Ogg Vorbis for all music, speech and sound effects.<br />
<br />
* [http://www.mystvgame.com/ Myst V: End of Ages]: Fifth and final game in the Myst series. Uses Ogg Vorbis for all music, speech and sound effects.<br />
<br />
* Nascar Racing Games from Papyrus: They had this to say about their decision and experience:<br />
<blockquote style="background-color: #eeeeee"><br />
"We’re using a lot of spoken audio in this title (a first for us) and your codec has allowed us to reduce more than 350MB of audio data to about 40MB, a huge savings of memory and disk space! We are very impressed." — Tom Faiano, Producer<br />
</blockquote><br />
<blockquote style="background-color: #eeeeee"><br />
"Incorporating Ogg Vorbis into our codebase was quite painless, and in the end, even refreshing. No fuss no muss. Thank you for your efforts!" — Bill Farquhar, Soundguy du jour<br />
</blockquote><br />
<br />
* [http://www.nexuiz.com/ Nexuiz], a fast-paced FPS with roots in Quake I, uses Vorbis for background music. The minstagib mod uses Vorbis for all of its sound.<br />
<br />
* [http://www.codemasters.com/flashpoint/ Operation Flashpoint]: This highly successful military simulation/action game from Codemasters uses Vorbis for the in-game music.<br />
<br />
* [http://www.orunner.com/ Ostrich Runner] by Geleos: This funny Russian cartoon-style game for kids and not only kids uses Ogg Vorbis for sound, speech and music.<br />
<br />
* [http://www.ysagoon.com/glob2/ Globulation 2]: State of the art GPL-ed strategy game!<br />
<br />
* [http://www.penumbragame.com Penumbra: Black Plague]: Uses Ogg Vorbis for all audio.<br />
<br />
* [http://www.psobb.com/index.php Phantasy Star Online: Blue Burst]: Uses Ogg Vorbis for music, stored in data/ogg.<br />
<br />
* [http://www.gopostal.com/ Postal 2]: Probably not the game we want to use to showcase Vorbis, but it’s being used in this Unreal-engine-powered ultra-violent game.<br />
<br />
* [http://www.praetoriansgame.com/ Praetorians]: This very successful game from Pyro Studios uses Vorbis for its music.<br />
<br />
* [http://www.psychonauts.com/ Psychonauts]: Has vorbis.dll and vorbisfile.dll.<br />
<br />
* [http://www.quake4game.com/ Quake 4]: Quake 4 is the fourth title in the series of Quake FPS computer games. All game music, speech and sound effects make use of Vorbis.<br />
<br />
* [http://www.restricted-area.net/ Restricted Area]: by Master Creating uses Ogg Vorbis for music and VP3 for videos.<br />
<br />
* Ricochet: An addictive version of Break out.<br />
<br />
* [http://www.rockband.com/ Rock Band]: XBox360 version uses the same type of multichannel Vorbis files as Guitar Hero II, but with more channels to handle the drums and vocals separately.<br />
<br />
* [http://www.rockmanager.net/ Rock Manager]: Vorbis is used in this “new rock’n roll management sim for PC from Pan Vision and Monsterland”.<br />
<br />
* [http://www.sacred2.com/ Sacred 2] by Studio II: uses multichannel(!) Ogg Vorbis for music, speech and sound effects.<br />
<br />
* [http://www.s2games.com/savage/ Savage]: This S2 Games “RTSS” hybrid genre game uses Vorbis for all the in-game music.<br />
<br />
* [http://www.serioussam.com/se/ Serious Sam: The Second Encounter]: uses Vorbis for the music, although it is slightly obfuscated so as not to be easily playable by standard Ogg Vorbis players.<br />
<br />
* [http://www.serioussam2.com/ Serious Sam 2]: not only uses Vorbis for the music but even Theora for the videos<br />
<br />
* [http://www.totalwar.com/community/warlord.htm Shogun: Total War]: Shogun uses Vorbis, but only to distribute — everything is decompressed to wav during the install.<br />
<br />
* [http://www.singles2.com/englisch/index.html Singles 2]: Uses Ogg Vorbis for sound<br />
<br />
* [http://www.lart.pl/en/portfolioItem.php?id=91 Ski Jumping 2004]: A commerical game that accurately models the activity of ski jumping. The game also contains over 700 Ogg Vorbis files.<br />
<br />
* [http://mobygames.com/game/sheet/p,3/gameId,3453/ Star Trek: Away Team]: Vorbis is used for all sound in the game — music, voiceover and SFX. This squad-based strategy game is set in the Star Trek Next Generation universe. (Official website is down, using Mobygames link)<br />
<br />
* [http://starcraft2.com/ StarCraft II]: Uses Vorbis for audio<br />
<br />
* StoneLoops! Of Jurassica ([http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=315210057&mt=8 Apple iTunes App Store link]): Colorful puzzle game for the iPhone/iPod Touch that uses Ogg Vorbis for audio.<br />
<br />
* [http://supertux.lethargik.org/ Super Tux]: Uses Vorbis for music.<br />
<br />
* [http://www.splintercell3.com/ Tom Clancy’s Splinter Cell Chaos Theory]: .LS0 files are in fact Ogg Vorbis files.<br />
<br />
* [http://www.lucasarts.com/games/swrepubliccommando/ Star Wars Republic Commando]: Vorbis is used in the ambient and game music in this latest action game from LucasArts.<br />
<br />
* [http://www.reflexive.net/index.php?PAGE=game_detail&AID=30 Swarm]: A fun little arcade shooter.<br />
<br />
* [http://www.swat4.com/ SWAT 4]: SWAT 4 uses Ogg Vorbis for audio files.<br />
<br />
* [http://www.croteam.com/talosprinciple/ The Talos Principle] is a first-person puzzle game that uses Ogg Vorbis for music.<br />
<br />
* [http://www.there.com/ There]: uses both Ogg Vorbis for the sound effects and Ogg Speex for realtime group voice chat, a first for an immersive consumer-oriented world.<br />
<blockquote style="background-color: #eeeeee"><br />
"Voice has become a very popular part of our product!" — David Weekly, a There developer<br />
</blockquote><br />
<br />
* [http://www.wesnoth.org The Battle for Wesnoth]: uses Ogg Vorbis for it's music and for most of it's sounds.<br />
<br />
* [http://www.riddickgame.com/ The Chronicles of Riddick: Escape From Butcher’s Bay (Director’s Cut)]: Uses Vorbis for all audio and Theora for cutscenes.<br />
<br />
* [https://thimbleweedpark.com/ Thimbleweed Park]: Retro-looking point-and-click adventure, [https://blog.thimbleweedpark.com/tracking_talkies using Ogg Vorbis for its music, character voices and sound effects].<br />
<blockquote style="background-color: #eeeeee"><br />
"[The characters' dialog is] around 6GB of .wav files and we needed to compress them for inclusion in the game. We used .ogg files due to it being free of the patent and licensing issues that .mp3 has, although either would have worked." — Ron Gilbert<br />
</blockquote><br />
<br />
* [http://www.thethinggames.com/ The Thing]: Uses Vorbis<br />
<blockquote style="background-color: #eeeeee"><br />
"The original multilanguage distro took three CDs, and went down to only one after I converted all wavs to oggs. Nifty :) Sadly enough, marketing decided to not have one language per CD anyway (probably to annoy people who migrate) :/ Thanks for a very cool (and easy to use) lib/format!" — Vincent Penquerc’h<br />
</blockquote><br />
<br />
* [http://www.asahi-net.or.jp/~cs8k-cyu/windows/tt_e.html Torus Trooper]: Frantic 3D shootemup, using Vorbis for the music. (see also the [http://www.emhsoft.net/ttrooper/ Linux port] and [http://www.apple.com/downloads/macosx/games/action_adventure/torustrooper.html MacOS version])<br />
<br />
* [http://www.trackmania.com/ TrackMania] uses Vorbis for music in menu and tracks. [music in self-made tracks also need to be in Vorbis]<br />
<br />
* [http://www.mikeoldfield.com/ Tr3s Lunas] (aka Music VR episode 1): This game, featuring the music of Mike Oldfield, uses Vorbis for the music.<br />
<br />
* [http://www.tribesvengeance.com Tribes: Vengance] by Irration Games/Sierra use Ogg Vorbis for music.<br />
<br />
* [http://www.mobygames.com/game/gamecube/true-crime-new-york-city True Crime: New York City]: GameCube version contains over 11,500 Ogg Vorbis files. It is likely that other platform ports also use the same files (note that the [http://www.mobygames.com/game/xbox/true-crime-new-york-city Xbox version] uses Windows Media Audio files in place of Ogg Vorbis files)<br />
<br />
* [http://tuxtype.sourceforge.net/ Tuxtyping 2]: Educational typing tutor for kids of all ages! <br />
<br />
* [http://www.ufo-aftershock.com/ UFO: Aftershock]: Uses Vorbis for music.<br />
<br />
* [http://www.ufo-afterlight.com/ UFO: Afterlight]: Uses Vorbis for music.<br />
<br />
* [http://www.atari.com/us/games/unreal2/pc Unreal 2]: PC version uses Vorbis, usage on consoles not confirmed.<br />
<blockquote style="background-color: #eeeeee"><br />
"We went with Ogg Vorbis due to its excellent playback and compression, and we used it not only for music but also all of the in-game voice. Without it, we never would have been able to fit on two CDs." — [http://www.4unrealers.com/entrevistas/263/ 4unrealers.com]<br />
</blockquote><br />
<br />
* [http://www.unrealtournament.com/ut2003/ Unreal Tournament 2003]: This overwhelmingly-popular multiplayer first person shooter PC title uses Vorbis for its music.<br />
<br />
* [http://www.unrealtournament.com/ut2004/ Unreal Tournament 2004]: Yet another Unreal game which uses Vorbis for the music (What about effects and voice? Does anyone know?). The readme file of the demo even mentions Speex!<br />
<br />
* [http://sc2.sourceforge.net/ The Ur-Quan Masters]: Port of Star Control 2 to modern computers. Toys for Bob released the source of this amazing game under the GPL in 2002. Ogg Vorbis is used for the dialogue and the background music.<br />
<br />
* [http://uru.ubi.com/ Uru: Ages Beyond Myst]: Spinoff from the Myst series. Uses Ogg Vorbis for all music, speech and sound effects.<br />
<br />
* [http://mobygames.com/game/sheet/p,3/gameId,8635/ Lionheart — Legacy of the Crusader]: An 3/4 RPG from Black Isle. Uses Vorbis for all audio. Thanks to all the guys that made Vorbis great.. (I even donated money myself, someday maybe I can convince the company to kick in some bucks as well). Official site is down, using mobygames link.<br />
<br />
* [http://www.global-gaming.com/Dominion/ Urban Dominion] (beta): First Person Massively Multiplayer Online Role-Playing Game by Global-Gaming. Uses Ogg Vorbis for the sound system.<br />
<br />
* [http://www.vietcong-game.com/ Vietcong]: Vietnam War First Person Shooter by Pterodon. Uses Ogg Vorbis I believe for the background music.<br />
<br />
* [http://vegastrike.sourceforge.net/ Vega Strike]: It is a free spacesim. Ogg Vorbis files are stored in \music\ .<br />
<br />
* [http://www.gathering.com/wingsofwar/ Wings Of War]: It is an arcade shooter in times of WWI. Game has ogg.dll, vorbis.dll and vorbisfile.dll — but *.ogg files are not accessible.<br />
<br />
* [http://jonof.edgenetwork.org/winbuild/ WinBuild]: Winbuild is a port of Ken Silverman’s [http://www.advsys.net/ken/buildsrc/default.htm original Build engine demo] (for DOS) to Windows. It uses Vorbis compression for the music.<br />
<br />
* [http://www.worldofwarcraft.com/ World of Warcraft]: popular massively multiplayer online role-playing game from Blizzard Entertainment use Vorbis for speech and sound effects.<br />
<br />
* [http://www.zax-game.com/ Zax — The Alien Hunter]: A large 3/4 view action adventure game.<br />
<br />
[[Category:Vorbis]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=Games_that_use_Vorbis&diff=16620Games that use Vorbis2017-10-09T16:50:18Z<p>Martin.leese: Typo - Incorprating</p>
<hr />
<div>The following games use [[Vorbis]], most frequently for their in-game music or sound effects:<br />
<br />
* All Games By [http://www.reflexive.com/index.php?CAT=Search&SEARCH=dev%3AReflexive+Entertainment&PAGE=GameList Reflexive Entertainment].<br />
<br />
* [http://www.mobygames.com/game/windows/007-nightfire 007: Nightfire]: Uses Ogg Vorbis for background soundtrack.<br />
<br />
* [http://www.asciisector.net/ Ascii Sector]: Space combat/exploration/trading game. Uses Ogg Vorbis for music.<br />
<br />
* [http://www.ageofconan.com/ Age of Conan — Hyborian Adventures]: Uses Ogg Vorbis for all audio.<br />
<br />
* [http://www.americasarmy.com/ America’s Army]: Uses Ogg Vorbis for main theme.<br />
<br />
* [http://www.amnesiagame.com/ Amnesia: The Dark Descent]: Uses Ogg Vorbis for all audio.<br />
<br />
* [http://assault.cubers.net/ AssaultCube]: A free fast paced first-person shooter with little hardware requirements for Windows, Linux and OS X. Uses Ogg Vorbis for all game sounds and music.<br />
<br />
* [http://www.lionhead.com/bw2/ Black & White 2]: Uses Ogg Vorbis for music.<br />
<br />
* [http://www.pyrogon.com/games/candycruncher/ Candy Cruncher]: This cute puzzle game from Brian Hook’s company, Pyrogon, uses Vorbis for the addictive music you hear while you race the clock.<br />
<br />
* [http://www.callofcthulhu.com/ Call of Cthulhu] is a first-person horror game that combines intense action and adventure elements. It uses Ogg Vorbis for music and speech.<br />
<br />
* [http://www.mobygames.com/game/windows/catechumen Catechumen] is a Christian-themed FPS that uses Ogg Vorbis.<br />
<br />
* [http://www.civilization5.com/ Civilization V] is a turn-based strategy game that uses Ogg Vorbis for music.<br />
<br />
* [http://www.atari.com/crashday/ Crashday]: Stunt racing game, developed by independent German studio Moon Byte. Uses Ogg Vorbis for music.<br />
<br />
* [http://buenavistagames.go.com/product/chickenLittlePC.html Chicken Litte]: Adventure game for children inspired by the motion picture in PC edition uses Vorbis for dialogs and music. (not sure if sound effects too)<br />
<br />
* [http://www.cossacks2.de/ Cossacks 2]: “Cossacks II: Napoleonic Wars” is a sequel of “Cossacks: European Wars”. Ogg Vorbis 1.0 files are in \data\music\<br />
<br />
* [http://www.darwinia.co.uk/ Darwinia]: The second title from Indy developer Introversion Software. Darwinia is a stylised retro — Tron meets Cannon Fodder. It uses Vorbis for all in game sound effects and music.<br />
<br />
* [http://www.introversion.co.uk/defcon/ DEFCON]: The third title from Introversion Software. Uses Vorbis for music, effects, everything, like Darwinia.<br />
<br />
* [http://devilmaycry.com/ Devil May Cry 4] (for the PC, at least): Uses (occasionally multichannel) Ogg Vorbis for ingame and cutscene music.<br />
<br />
* [http://www.eidos.co.uk/gss/dxiw/ Deus Ex: Invisible War] by Ion Storm/Eidos: Uses Ogg Vorbis for music and voice (and possibly for sound fx too).<br />
<br />
* [http://diablo3.com Diablo III] uses Vorbis for audio.<br />
<br />
* [http://www.idsoftware.com/games/doom/doom3/ DOOM 3]: The latest version of this famous first person shooter game from id software uses Vorbis for the theme music as well as their ambient and game sounds.<br />
<br />
* [http://mobygames.com/game/sheet/p,3/gameId,6505/ Duke Nukem: Manhattan Project]: This game from 3D Realms was released in 2002 and used Vorbis for their music. (Official website is down, using Mobygames link)<br />
<br />
* [http://www.popcap.com/games/free/dynomite Dynomite]: Puzzle Bobble/Bust A Move clone for Windows by PopCap Games, with mouse control. Uses Ogg Vorbis for nearly all sound effects.<br />
<br />
* [http://en.wikipedia.org/wiki/Eschalon:_Book_I Eschalon]: A classic-style roleplaying game, for Windows, Mac, and Linux. Music is in ''Ogg Vorbis'' format.<br />
<br />
* [http://www.mobygames.com/game/enclave/ Enclave] by Starbreeze/Black Label Games: Uses Ogg Vorbis for music (and possibly for sound fx and voice too).<br />
<br />
* [http://www.eve-online.com EVE Online] by CCP Games, the Icelandic-homed space-based single-shard persistent world game uses Ogg Vorbis for its music.<br />
<br />
* [http://www.lionhead.com/fabletlc/ Fable: The Lost Chapters]: Uses Ogg Vorbis for music and cutscenes (Ancient libVorbis version, 1.0 RC2).<br />
<br />
* [http://farcry.ubi.com/ FarCry] by Crytek: uses Ogg Vorbis for music and effects.<br />
<br />
* [http://www.freedom-fighters.co.uk/ Freedom Fighters] by IO Interactive: String search reveals “libVorbis I 20011217” in freedom.exe.<br />
<br />
* [http://www.siriusgames.dk/index.php?pageid=67 Gangland] by MediaMobsters: Uses Ogg Vorbis for music and cutscenes (Data\streams\). Encoded with Xiph.Org libVorbis I 20020717. Decoder library: FMOD 3.71.<br />
<br />
* [http://www.rockstargames.com/vicecity/ Grand Theft Auto: Vice City] by Rockstar Games/Rockstar North uses Ogg Vorbis to store music, radio, ambient sounds, police messages and cutscene audio. Players can also store their custom tracks (accessible in-game via the “User Track Player” radio station) in Ogg Vorbis.<br />
<br />
* [http://www.rockstargames.com/sanandreas/ Grand Theft Auto: San Andreas] by Rockstar Games/Rockstar North uses Ogg Vorbis to store music, radio, ambient sounds, police messages and cutscene audio. Players can also store their custom tracks (accessible in-game via the “User Track Player” radio station) in Ogg Vorbis.<br />
<br />
* [http://www.gothic3.com/ Gothic 3] by Piranha Bytes: Vorbis is used in the ogg container for everything (music, speech, effects) except of the intro video. For example: Music @ 256 kb/s, Speech @ 86 kb/s. About 18 hours of speech compressed to 700 MB.<br />
<br />
* [http://www.guiltygearx2reload.com/ Guilty Gear XX]: The PC version, at least, uses Ogg Vorbis for all the music.<br />
<br />
* [http://www.guitarherogame.com/gh2/ Guitar Hero II] by Red Octane (Activision), XBox360 platform only (multichannel Vorbis with 5 or 6 channels per song)<br />
<br />
* [http://halo.bungie.org/ Halo]: Mac and PC versions of Halo use Ogg Vorbis for all audio, it seems. The Xiph license and dynamically linked libraries of Ogg and Vorbis are included in the Halo directory. XBox version does not use Ogg Vorbis.<br />
<br />
* [http://harrypotter.ea.com/cofs/index.html Harry Potter II (Chamber of Secrets)]: This is unsubstantiated, it was reported on one of the vorbis mailing lists, but there is little evidence either way on this title. EA has been supportive of Vorbis though, so it’s not entirely impossible. If anyone can give us a yay or nay on this, please do.<br />
<br />
* [http://www.mightandmagicgame.com/HeroesV/ Heroes of Might and Magic V]: Uses Vorbis for audio and Theora for video.<br />
<br />
* [http://www.eidosinteractive.com/games/info.html?gmid=118 Hitman 2]: uses Vorbis. (PC only or consoles too?)<br />
<br />
* [http://www.codemasters.com/igi2/front.htm IGI2: Covert Strike]: Not a Norwegian first-person shooter.<br />
<br />
* [http://www.inthegroove.com In The Groove]: The premier dance game created by [http://www.roxorgames.com Roxor Games, Inc.] Uses Vorbis for all of the in-game music.<br />
<br />
* [http://www.agdinteractive.com/games/kq1/ King's Quest I]: King's Quest I: Quest for the Crown (Enchanced) is a fan remake of the original Sierra classic. Uses Ogg Vorbis for sound and Ogg Theora for cutscene movies.<br />
<br />
* [http://www.p3int.com/KULT/ KULT Heretic Kingdoms] by 3D People/Project 3 Interactive: Uses Vorbis (1.0) for music, voice and sound effects.<br />
<br />
* Recent Legacy of Kain Games: On the PC, both '''Soul Reaver 2''' and '''Blood Omen 2''' by Crystal Dynamics/Eidos use Ogg Vorbis for music and sound effects. (Source: [http://www.thelostworlds.net/FAQ.HTML#ogg])<br />
<br />
* [http://www.ncsoft.net/eng/ncgames/lineage2_intro.asp Lineage II]: NCSoft Corporation’s 3D MMORPG Lineage II uses Ogg Vorbis for its music. They use 1.0beta3, though.<br />
<br />
* [http://www.liveforspeed.net/ Live for Speed]: Online racing simulator uses Ogg for all audio and sound effects.<br />
<br />
* [http://www.mobygames.com/game/lock-on-modern-air-combat Lock On: Modern Air Combat]: Published by Ubisoft; CD-ROM contains over 1800 Ogg Vorbis files for speech.<br />
<br />
* [http://www.mafia-game.com/ Mafia: The City Of Lost Heaven]: Not sure about any console version, but PC version is reported to use Ogg Vorbis.<br />
<br />
* [http://www.popcap.com/games/magicmatch Magic Match]: A very elaborate "Match 3" casual game that uses Ogg Vorbis for its audio.<br />
<br />
* [http://www.capcom.co.jp/rockmanx8/ Mega Man X8]: The PC version of Mega Man X8 makes use of Vorbis for music and dialogue during cutscenes.<br />
<br />
* [http://www.mobygames.com/game/gamecube/metal-gear-solid-the-twin-snakes Metal Gear Solid: The Twin Snakes]: Uses Ogg Vorbis for all speech in the game.<br />
<br />
* [http://minecraft.net Minecraft]: Uses Ogg Vorbis for music and sound effects.<br />
<br />
* MotoGP: This motorcycle racing sim uses Vorbis for the music and allows players to drop their own .ogg files into the music dir to listen to them in-game.<br />
<br />
* [http://www.mystrevelation.com/ Myst IV: Revelation]: Fourth game in the Myst series. Uses Ogg Vorbis for all music, speech and sound effects.<br />
<br />
* [http://www.mystvgame.com/ Myst V: End of Ages]: Fifth and final game in the Myst series. Uses Ogg Vorbis for all music, speech and sound effects.<br />
<br />
* Nascar Racing Games from Papyrus: They had this to say about their decision and experience:<br />
<blockquote style="background-color: #eeeeee"><br />
"We’re using a lot of spoken audio in this title (a first for us) and your codec has allowed us to reduce more than 350MB of audio data to about 40MB, a huge savings of memory and disk space! We are very impressed." — Tom Faiano, Producer<br />
</blockquote><br />
<blockquote style="background-color: #eeeeee"><br />
"Incorporating Ogg Vorbis into our codebase was quite painless, and in the end, even refreshing. No fuss no muss. Thank you for your efforts!" — Bill Farquhar, Soundguy du jour<br />
</blockquote><br />
<br />
* [http://www.nexuiz.com/ Nexuiz], a fast-paced FPS with roots in Quake I, uses Vorbis for background music. The minstagib mod uses Vorbis for all of its sound.<br />
<br />
* [http://www.codemasters.com/flashpoint/ Operation Flashpoint]: This highly successful military simulation/action game from Codemasters uses Vorbis for the in-game music.<br />
<br />
* [http://www.orunner.com/ Ostrich Runner] by Geleos: This funny Russian cartoon-style game for kids and not only kids uses Ogg Vorbis for sound, speech and music.<br />
<br />
* [http://www.ysagoon.com/glob2/ Globulation 2]: State of the art GPL-ed strategy game!<br />
<br />
* [http://www.penumbragame.com Penumbra: Black Plague]: Uses Ogg Vorbis for all audio.<br />
<br />
* [http://www.psobb.com/index.php Phantasy Star Online: Blue Burst]: Uses Ogg Vorbis for music, stored in data/ogg.<br />
<br />
* [http://www.gopostal.com/ Postal 2]: Probably not the game we want to use to showcase Vorbis, but it’s being used in this Unreal-engine-powered ultra-violent game.<br />
<br />
* [http://www.praetoriansgame.com/ Praetorians]: This very successful game from Pyro Studios uses Vorbis for its music.<br />
<br />
* [http://www.psychonauts.com/ Psychonauts]: Has vorbis.dll and vorbisfile.dll.<br />
<br />
* [http://www.quake4game.com/ Quake 4]: Quake 4 is the fourth title in the series of Quake FPS computer games. All game music, speech and sound effects make use of Vorbis.<br />
<br />
* [http://www.restricted-area.net/ Restricted Area]: by Master Creating uses Ogg Vorbis for music and VP3 for videos.<br />
<br />
* Ricochet: An addictive version of Break out.<br />
<br />
* [http://www.rockband.com/ Rock Band]: XBox360 version uses the same type of multichannel Vorbis files as Guitar Hero II, but with more channels to handle the drums and vocals separately.<br />
<br />
* [http://www.rockmanager.net/ Rock Manager]: Vorbis is used in this “new rock ’n roll management sim for PC from Pan Vision and Monsterland”.<br />
<br />
* [http://www.sacred2.com/ Sacred 2] by Studio II: uses multichannel(!) Ogg Vorbis for music, speech and sound effects.<br />
<br />
* [http://www.s2games.com/savage/ Savage]: This S2 Games “RTSS” hybrid genre game uses Vorbis for all the in-game music.<br />
<br />
* [http://www.serioussam.com/se/ Serious Sam: The Second Encounter]: uses Vorbis for the music, although it is slightly obfuscated so as not to be easily playable by standard Ogg Vorbis players.<br />
<br />
* [http://www.serioussam2.com/ Serious Sam 2]: not only uses Vorbis for the music but even Theora for the videos<br />
<br />
* [http://www.totalwar.com/community/warlord.htm Shogun: Total War]: Shogun uses Vorbis, but only to distribute — everything is decompressed to wav during the install.<br />
<br />
* [http://www.singles2.com/englisch/index.html Singles 2]: Uses ogg vorbis for sound<br />
<br />
* [http://www.lart.pl/en/portfolioItem.php?id=91 Ski Jumping 2004]: A commerical game that accurately models the activity of ski jumping. The game also contains over 700 Ogg Vorbis files.<br />
<br />
* [http://mobygames.com/game/sheet/p,3/gameId,3453/ Star Trek: Away Team]: Vorbis is used for all sound in the game — music, voiceover and SFX. This squad-based strategy game is set in the Star Trek Next Generation universe. (Official website is down, using Mobygames link)<br />
<br />
* [http://starcraft2.com/ StarCraft II]: Uses Vorbis for audio<br />
<br />
* StoneLoops! Of Jurassica ([http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=315210057&mt=8 Apple iTunes App Store link]): Colorful puzzle game for the iPhone/iPod Touch that uses Ogg Vorbis for audio.<br />
<br />
* [http://supertux.lethargik.org/ Super Tux]: Uses Vorbis for music.<br />
<br />
* [http://www.splintercell3.com/ Tom Clancy’s Splinter Cell Chaos Theory]: .LS0 files are in fact Ogg Vorbis files.<br />
<br />
* [http://www.lucasarts.com/games/swrepubliccommando/ Star Wars Republic Commando]: Vorbis is used in the ambient and game music in this latest action game from LucasArts.<br />
<br />
* [http://www.reflexive.net/index.php?PAGE=game_detail&AID=30 Swarm]: A fun little arcade shooter.<br />
<br />
* [http://www.swat4.com/ SWAT 4]: SWAT 4 uses Ogg Vorbis for audio files.<br />
<br />
* [http://www.croteam.com/talosprinciple/ The Talos Principle] is a first-person puzzle game that uses Ogg Vorbis for music.<br />
<br />
* [http://www.there.com/ There]: uses both Ogg Vorbis for the sound effects and Ogg Speex for realtime group voice chat, a first for an immersive consumer-oriented world.<br />
<blockquote style="background-color: #eeeeee"><br />
"Voice has become a very popular part of our product!" — David Weekly, a There developer<br />
</blockquote><br />
<br />
* [http://www.wesnoth.org The Battle for Wesnoth]: uses Ogg Vorbis for it's music and for most of it's sounds.<br />
<br />
* [http://www.riddickgame.com/ The Chronicles of Riddick: Escape From Butcher’s Bay (Director’s Cut)]: Uses Vorbis for all audio and Theora for cutscenes.<br />
<br />
* [https://thimbleweedpark.com/ Thimbleweed Park]: Retro-looking point-and-click adventure, [https://blog.thimbleweedpark.com/tracking_talkies using Ogg Vorbis for its music, character voices and sound effects].<br />
<blockquote style="background-color: #eeeeee"><br />
"[The characters' dialog is] around 6GB of .wav files and we needed to compress them for inclusion in the game. We used .ogg files due to it being free of the patent and licensing issues that .mp3 has, although either would have worked." — Ron Gilbert<br />
</blockquote><br />
<br />
* [http://www.thethinggames.com/ The Thing]: Uses Vorbis<br />
<blockquote style="background-color: #eeeeee"><br />
"The original multilanguage distro took three CDs, and went down to only one after I converted all wavs to oggs. Nifty :) Sadly enough, marketing decided to not have one language per CD anyway (probably to annoy people who migrate) :/ Thanks for a very cool (and easy to use) lib/format!" — Vincent Penquerc’h<br />
</blockquote><br />
<br />
* [http://www.asahi-net.or.jp/~cs8k-cyu/windows/tt_e.html Torus Trooper]: Frantic 3D shootemup, using Vorbis for the music. (see also the [http://www.emhsoft.net/ttrooper/ Linux port] and [http://www.apple.com/downloads/macosx/games/action_adventure/torustrooper.html MacOS version])<br />
<br />
* [http://www.trackmania.com/ TrackMania] uses Vorbis for music in menu and tracks. [music in self-made tracks also need to be in Vorbis]<br />
<br />
* [http://www.mikeoldfield.com/ Tr3s Lunas] (aka Music VR episode 1): This game, featuring the music of Mike Oldfield, uses Vorbis for the music.<br />
<br />
* [http://www.tribesvengeance.com Tribes: Vengance] by Irration Games/Sierra use Ogg Vorbis for music.<br />
<br />
* [http://www.mobygames.com/game/gamecube/true-crime-new-york-city True Crime: New York City]: GameCube version contains over 11,500 Ogg Vorbis files. It is likely that other platform ports also use the same files (note that the [http://www.mobygames.com/game/xbox/true-crime-new-york-city Xbox version] uses Windows Media Audio files in place of Ogg Vorbis files)<br />
<br />
* [http://tuxtype.sourceforge.net/ Tuxtyping 2]: Educational typing tutor for kids of all ages! <br />
<br />
* [http://www.ufo-aftershock.com/ UFO: Aftershock]: Uses Vorbis for music.<br />
<br />
* [http://www.ufo-afterlight.com/ UFO: Afterlight]: Uses Vorbis for music.<br />
<br />
* [http://www.atari.com/us/games/unreal2/pc Unreal 2]: PC version uses Vorbis, usage on consoles not confirmed.<br />
<blockquote style="background-color: #eeeeee"><br />
"We went with Ogg Vorbis due to its excellent playback and compression, and we used it not only for music but also all of the in-game voice. Without it, we never would have been able to fit on two CDs." — [http://www.4unrealers.com/entrevistas/263/ 4unrealers.com]<br />
</blockquote><br />
<br />
* [http://www.unrealtournament.com/ut2003/ Unreal Tournament 2003]: This overwhelmingly-popular multiplayer first person shooter PC title uses Vorbis for its music.<br />
<br />
* [http://www.unrealtournament.com/ut2004/ Unreal Tournament 2004]: Yet another Unreal game which uses Vorbis for the music (What about effects and voice? Does anyone know?). The readme file of the demo even mentions Speex!<br />
<br />
* [http://sc2.sourceforge.net/ The Ur-Quan Masters]: Port of Star Control 2 to modern computers. Toys for Bob released the source of this amazing game under the GPL in 2002. Ogg Vorbis is used for the dialogue and the background music.<br />
<br />
* [http://uru.ubi.com/ Uru: Ages Beyond Myst]: Spinoff from the Myst series. Uses Ogg Vorbis for all music, speech and sound effects.<br />
<br />
* [http://mobygames.com/game/sheet/p,3/gameId,8635/ Lionheart — Legacy of the Crusader]: An 3/4 RPG from Black Isle. Uses Vorbis for all audio. Thanks to all the guys that made Vorbis great.. (I even donated money myself, someday maybe I can convince the company to kick in some bucks as well). Official site is down, using mobygames link.<br />
<br />
* [http://www.global-gaming.com/Dominion/ Urban Dominion] (beta): First Person Massively Multiplayer Online Role-Playing Game by Global-Gaming. Uses Ogg Vorbis for the sound system.<br />
<br />
* [http://www.vietcong-game.com/ Vietcong]: Vietnam War First Person Shooter by Pterodon. Uses Ogg Vorbis I believe for the background music.<br />
<br />
* [http://vegastrike.sourceforge.net/ Vega Strike]: It is a free spacesim. Ogg Vorbis files are stored in \music\ .<br />
<br />
* [http://www.gathering.com/wingsofwar/ Wings Of War]: It is an arcade shooter in times of WWI. Game has ogg.dll, vorbis.dll and vorbisfile.dll — but *.ogg files are not accesible.<br />
<br />
* [http://jonof.edgenetwork.org/winbuild/ WinBuild]: Winbuild is a port of Ken Silverman’s [http://www.advsys.net/ken/buildsrc/default.htm original Build engine demo] (for DOS) to Windows. It uses Vorbis compression for the music.<br />
<br />
* [http://www.worldofwarcraft.com/ World of Warcraft]: popular massively multiplayer online role-playing game from Blizzard Entertainment use Vorbis for speech and sound effects.<br />
<br />
* [http://www.zax-game.com/ Zax — The Alien Hunter]: A large 3/4 view action adventure game.<br />
<br />
[[Category:Vorbis]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=Games_that_use_Vorbis&diff=16618Games that use Vorbis2017-10-05T15:25:21Z<p>Martin.leese: On second thoughts, the Silver background looked nice</p>
<hr />
<div>The following games use [[Vorbis]], most frequently for their in-game music or sound effects:<br />
<br />
* All Games By [http://www.reflexive.com/index.php?CAT=Search&SEARCH=dev%3AReflexive+Entertainment&PAGE=GameList Reflexive Entertainment].<br />
<br />
* [http://www.mobygames.com/game/windows/007-nightfire 007: Nightfire]: Uses Ogg Vorbis for background soundtrack.<br />
<br />
* [http://www.asciisector.net/ Ascii Sector]: Space combat/exploration/trading game. Uses Ogg Vorbis for music.<br />
<br />
* [http://www.ageofconan.com/ Age of Conan — Hyborian Adventures]: Uses Ogg Vorbis for all audio.<br />
<br />
* [http://www.americasarmy.com/ America’s Army]: Uses Ogg Vorbis for main theme.<br />
<br />
* [http://www.amnesiagame.com/ Amnesia: The Dark Descent]: Uses Ogg Vorbis for all audio.<br />
<br />
* [http://assault.cubers.net/ AssaultCube]: A free fast paced first-person shooter with little hardware requirements for Windows, Linux and OS X. Uses Ogg Vorbis for all game sounds and music.<br />
<br />
* [http://www.lionhead.com/bw2/ Black & White 2]: Uses Ogg Vorbis for music.<br />
<br />
* [http://www.pyrogon.com/games/candycruncher/ Candy Cruncher]: This cute puzzle game from Brian Hook’s company, Pyrogon, uses Vorbis for the addictive music you hear while you race the clock.<br />
<br />
* [http://www.callofcthulhu.com/ Call of Cthulhu] is a first-person horror game that combines intense action and adventure elements. It uses Ogg Vorbis for music and speech.<br />
<br />
* [http://www.mobygames.com/game/windows/catechumen Catechumen] is a Christian-themed FPS that uses Ogg Vorbis.<br />
<br />
* [http://www.civilization5.com/ Civilization V] is a turn-based strategy game that uses Ogg Vorbis for music.<br />
<br />
* [http://www.atari.com/crashday/ Crashday]: Stunt racing game, developed by independent German studio Moon Byte. Uses Ogg Vorbis for music.<br />
<br />
* [http://buenavistagames.go.com/product/chickenLittlePC.html Chicken Litte]: Adventure game for children inspired by the motion picture in PC edition uses Vorbis for dialogs and music. (not sure if sound effects too)<br />
<br />
* [http://www.cossacks2.de/ Cossacks 2]: “Cossacks II: Napoleonic Wars” is a sequel of “Cossacks: European Wars”. Ogg Vorbis 1.0 files are in \data\music\<br />
<br />
* [http://www.darwinia.co.uk/ Darwinia]: The second title from Indy developer Introversion Software. Darwinia is a stylised retro — Tron meets Cannon Fodder. It uses Vorbis for all in game sound effects and music.<br />
<br />
* [http://www.introversion.co.uk/defcon/ DEFCON]: The third title from Introversion Software. Uses Vorbis for music, effects, everything, like Darwinia.<br />
<br />
* [http://devilmaycry.com/ Devil May Cry 4] (for the PC, at least): Uses (occasionally multichannel) Ogg Vorbis for ingame and cutscene music.<br />
<br />
* [http://www.eidos.co.uk/gss/dxiw/ Deus Ex: Invisible War] by Ion Storm/Eidos: Uses Ogg Vorbis for music and voice (and possibly for sound fx too).<br />
<br />
* [http://diablo3.com Diablo III] uses Vorbis for audio.<br />
<br />
* [http://www.idsoftware.com/games/doom/doom3/ DOOM 3]: The latest version of this famous first person shooter game from id software uses Vorbis for the theme music as well as their ambient and game sounds.<br />
<br />
* [http://mobygames.com/game/sheet/p,3/gameId,6505/ Duke Nukem: Manhattan Project]: This game from 3D Realms was released in 2002 and used Vorbis for their music. (Official website is down, using Mobygames link)<br />
<br />
* [http://www.popcap.com/games/free/dynomite Dynomite]: Puzzle Bobble/Bust A Move clone for Windows by PopCap Games, with mouse control. Uses Ogg Vorbis for nearly all sound effects.<br />
<br />
* [http://en.wikipedia.org/wiki/Eschalon:_Book_I Eschalon]: A classic-style roleplaying game, for Windows, Mac, and Linux. Music is in ''Ogg Vorbis'' format.<br />
<br />
* [http://www.mobygames.com/game/enclave/ Enclave] by Starbreeze/Black Label Games: Uses Ogg Vorbis for music (and possibly for sound fx and voice too).<br />
<br />
* [http://www.eve-online.com EVE Online] by CCP Games, the Icelandic-homed space-based single-shard persistent world game uses Ogg Vorbis for its music.<br />
<br />
* [http://www.lionhead.com/fabletlc/ Fable: The Lost Chapters]: Uses Ogg Vorbis for music and cutscenes (Ancient libVorbis version, 1.0 RC2).<br />
<br />
* [http://farcry.ubi.com/ FarCry] by Crytek: uses Ogg Vorbis for music and effects.<br />
<br />
* [http://www.freedom-fighters.co.uk/ Freedom Fighters] by IO Interactive: String search reveals “libVorbis I 20011217” in freedom.exe.<br />
<br />
* [http://www.siriusgames.dk/index.php?pageid=67 Gangland] by MediaMobsters: Uses Ogg Vorbis for music and cutscenes (Data\streams\). Encoded with Xiph.Org libVorbis I 20020717. Decoder library: FMOD 3.71.<br />
<br />
* [http://www.rockstargames.com/vicecity/ Grand Theft Auto: Vice City] by Rockstar Games/Rockstar North uses Ogg Vorbis to store music, radio, ambient sounds, police messages and cutscene audio. Players can also store their custom tracks (accessible in-game via the “User Track Player” radio station) in Ogg Vorbis.<br />
<br />
* [http://www.rockstargames.com/sanandreas/ Grand Theft Auto: San Andreas] by Rockstar Games/Rockstar North uses Ogg Vorbis to store music, radio, ambient sounds, police messages and cutscene audio. Players can also store their custom tracks (accessible in-game via the “User Track Player” radio station) in Ogg Vorbis.<br />
<br />
* [http://www.gothic3.com/ Gothic 3] by Piranha Bytes: Vorbis is used in the ogg container for everything (music, speech, effects) except of the intro video. For example: Music @ 256 kb/s, Speech @ 86 kb/s. About 18 hours of speech compressed to 700 MB.<br />
<br />
* [http://www.guiltygearx2reload.com/ Guilty Gear XX]: The PC version, at least, uses Ogg Vorbis for all the music.<br />
<br />
* [http://www.guitarherogame.com/gh2/ Guitar Hero II] by Red Octane (Activision), XBox360 platform only (multichannel Vorbis with 5 or 6 channels per song)<br />
<br />
* [http://halo.bungie.org/ Halo]: Mac and PC versions of Halo use Ogg Vorbis for all audio, it seems. The Xiph license and dynamically linked libraries of Ogg and Vorbis are included in the Halo directory. XBox version does not use Ogg Vorbis.<br />
<br />
* [http://harrypotter.ea.com/cofs/index.html Harry Potter II (Chamber of Secrets)]: This is unsubstantiated, it was reported on one of the vorbis mailing lists, but there is little evidence either way on this title. EA has been supportive of Vorbis though, so it’s not entirely impossible. If anyone can give us a yay or nay on this, please do.<br />
<br />
* [http://www.mightandmagicgame.com/HeroesV/ Heroes of Might and Magic V]: Uses Vorbis for audio and Theora for video.<br />
<br />
* [http://www.eidosinteractive.com/games/info.html?gmid=118 Hitman 2]: uses Vorbis. (PC only or consoles too?)<br />
<br />
* [http://www.codemasters.com/igi2/front.htm IGI2: Covert Strike]: Not a Norwegian first-person shooter.<br />
<br />
* [http://www.inthegroove.com In The Groove]: The premier dance game created by [http://www.roxorgames.com Roxor Games, Inc.] Uses Vorbis for all of the in-game music.<br />
<br />
* [http://www.agdinteractive.com/games/kq1/ King's Quest I]: King's Quest I: Quest for the Crown (Enchanced) is a fan remake of the original Sierra classic. Uses Ogg Vorbis for sound and Ogg Theora for cutscene movies.<br />
<br />
* [http://www.p3int.com/KULT/ KULT Heretic Kingdoms] by 3D People/Project 3 Interactive: Uses Vorbis (1.0) for music, voice and sound effects.<br />
<br />
* Recent Legacy of Kain Games: On the PC, both '''Soul Reaver 2''' and '''Blood Omen 2''' by Crystal Dynamics/Eidos use Ogg Vorbis for music and sound effects. (Source: [http://www.thelostworlds.net/FAQ.HTML#ogg])<br />
<br />
* [http://www.ncsoft.net/eng/ncgames/lineage2_intro.asp Lineage II]: NCSoft Corporation’s 3D MMORPG Lineage II uses Ogg Vorbis for its music. They use 1.0beta3, though.<br />
<br />
* [http://www.liveforspeed.net/ Live for Speed]: Online racing simulator uses Ogg for all audio and sound effects.<br />
<br />
* [http://www.mobygames.com/game/lock-on-modern-air-combat Lock On: Modern Air Combat]: Published by Ubisoft; CD-ROM contains over 1800 Ogg Vorbis files for speech.<br />
<br />
* [http://www.mafia-game.com/ Mafia: The City Of Lost Heaven]: Not sure about any console version, but PC version is reported to use Ogg Vorbis.<br />
<br />
* [http://www.popcap.com/games/magicmatch Magic Match]: A very elaborate "Match 3" casual game that uses Ogg Vorbis for its audio.<br />
<br />
* [http://www.capcom.co.jp/rockmanx8/ Mega Man X8]: The PC version of Mega Man X8 makes use of Vorbis for music and dialogue during cutscenes.<br />
<br />
* [http://www.mobygames.com/game/gamecube/metal-gear-solid-the-twin-snakes Metal Gear Solid: The Twin Snakes]: Uses Ogg Vorbis for all speech in the game.<br />
<br />
* [http://minecraft.net Minecraft]: Uses Ogg Vorbis for music and sound effects.<br />
<br />
* MotoGP: This motorcycle racing sim uses Vorbis for the music and allows players to drop their own .ogg files into the music dir to listen to them in-game.<br />
<br />
* [http://www.mystrevelation.com/ Myst IV: Revelation]: Fourth game in the Myst series. Uses Ogg Vorbis for all music, speech and sound effects.<br />
<br />
* [http://www.mystvgame.com/ Myst V: End of Ages]: Fifth and final game in the Myst series. Uses Ogg Vorbis for all music, speech and sound effects.<br />
<br />
* Nascar Racing Games from Papyrus: They had this to say about their decision and experience:<br />
<blockquote style="background-color: Silver"><br />
"We’re using a lot of spoken audio in this title (a first for us) and your codec has allowed us to reduce more than 350MB of audio data to about 40MB, a huge savings of memory and disk space! We are very impressed." — Tom Faiano, Producer<br />
</blockquote><br />
<blockquote style="background-color: Silver"><br />
"Incorprating Ogg Vorbis into our codebase was quite painless, and in the end, even refreshing. No fuss no muss. Thank you for your efforts!" — Bill Farquhar, Soundguy du jour<br />
</blockquote><br />
<br />
* [http://www.nexuiz.com/ Nexuiz], a fast-paced FPS with roots in Quake I, uses Vorbis for background music. The minstagib mod uses Vorbis for all of its sound.<br />
<br />
* [http://www.codemasters.com/flashpoint/ Operation Flashpoint]: This highly successful military simulation/action game from Codemasters uses Vorbis for the in-game music.<br />
<br />
* [http://www.orunner.com/ Ostrich Runner] by Geleos: This funny Russian cartoon-style game for kids and not only kids uses Ogg Vorbis for sound, speech and music.<br />
<br />
* [http://www.ysagoon.com/glob2/ Globulation 2]: State of the art GPL-ed strategy game!<br />
<br />
* [http://www.penumbragame.com Penumbra: Black Plague]: Uses Ogg Vorbis for all audio.<br />
<br />
* [http://www.psobb.com/index.php Phantasy Star Online: Blue Burst]: Uses Ogg Vorbis for music, stored in data/ogg.<br />
<br />
* [http://www.gopostal.com/ Postal 2]: Probably not the game we want to use to showcase Vorbis, but it’s being used in this Unreal-engine-powered ultra-violent game.<br />
<br />
* [http://www.praetoriansgame.com/ Praetorians]: This very successful game from Pyro Studios uses Vorbis for its music.<br />
<br />
* [http://www.psychonauts.com/ Psychonauts]: Has vorbis.dll and vorbisfile.dll.<br />
<br />
* [http://www.quake4game.com/ Quake 4]: Quake 4 is the fourth title in the series of Quake FPS computer games. All game music, speech and sound effects make use of Vorbis.<br />
<br />
* [http://www.restricted-area.net/ Restricted Area]: by Master Creating uses Ogg Vorbis for music and VP3 for videos.<br />
<br />
* Ricochet: An addictive version of Break out.<br />
<br />
* [http://www.rockband.com/ Rock Band]: XBox360 version uses the same type of multichannel Vorbis files as Guitar Hero II, but with more channels to handle the drums and vocals separately.<br />
<br />
* [http://www.rockmanager.net/ Rock Manager]: Vorbis is used in this “new rock ’n roll management sim for PC from Pan Vision and Monsterland”.<br />
<br />
* [http://www.sacred2.com/ Sacred 2] by Studio II: uses multichannel(!) Ogg Vorbis for music, speech and sound effects.<br />
<br />
* [http://www.s2games.com/savage/ Savage]: This S2 Games “RTSS” hybrid genre game uses Vorbis for all the in-game music.<br />
<br />
* [http://www.serioussam.com/se/ Serious Sam: The Second Encounter]: uses Vorbis for the music, although it is slightly obfuscated so as not to be easily playable by standard Ogg Vorbis players.<br />
<br />
* [http://www.serioussam2.com/ Serious Sam 2]: not only uses Vorbis for the music but even Theora for the videos<br />
<br />
* [http://www.totalwar.com/community/warlord.htm Shogun: Total War]: Shogun uses Vorbis, but only to distribute — everything is decompressed to wav during the install.<br />
<br />
* [http://www.singles2.com/englisch/index.html Singles 2]: Uses ogg vorbis for sound<br />
<br />
* [http://www.lart.pl/en/portfolioItem.php?id=91 Ski Jumping 2004]: A commerical game that accurately models the activity of ski jumping. The game also contains over 700 Ogg Vorbis files.<br />
<br />
* [http://mobygames.com/game/sheet/p,3/gameId,3453/ Star Trek: Away Team]: Vorbis is used for all sound in the game — music, voiceover and SFX. This squad-based strategy game is set in the Star Trek Next Generation universe. (Official website is down, using Mobygames link)<br />
<br />
* [http://starcraft2.com/ StarCraft II]: Uses Vorbis for audio<br />
<br />
* StoneLoops! Of Jurassica ([http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=315210057&mt=8 Apple iTunes App Store link]): Colorful puzzle game for the iPhone/iPod Touch that uses Ogg Vorbis for audio.<br />
<br />
* [http://supertux.lethargik.org/ Super Tux]: Uses Vorbis for music.<br />
<br />
* [http://www.splintercell3.com/ Tom Clancy’s Splinter Cell Chaos Theory]: .LS0 files are in fact Ogg Vorbis files.<br />
<br />
* [http://www.lucasarts.com/games/swrepubliccommando/ Star Wars Republic Commando]: Vorbis is used in the ambient and game music in this latest action game from LucasArts.<br />
<br />
* [http://www.reflexive.net/index.php?PAGE=game_detail&AID=30 Swarm]: A fun little arcade shooter.<br />
<br />
* [http://www.swat4.com/ SWAT 4]: SWAT 4 uses Ogg Vorbis for audio files.<br />
<br />
* [http://www.croteam.com/talosprinciple/ The Talos Principle] is a first-person puzzle game that uses Ogg Vorbis for music.<br />
<br />
* [http://www.there.com/ There]: uses both Ogg Vorbis for the sound effects and Ogg Speex for realtime group voice chat, a first for an immersive consumer-oriented world.<br />
<blockquote style="background-color: Silver"><br />
"Voice has become a very popular part of our product!" — David Weekly, a There developer<br />
</blockquote><br />
<br />
* [http://www.wesnoth.org The Battle for Wesnoth]: uses Ogg Vorbis for it's music and for most of it's sounds.<br />
<br />
* [http://www.riddickgame.com/ The Chronicles of Riddick: Escape From Butcher’s Bay (Director’s Cut)]: Uses Vorbis for all audio and Theora for cutscenes.<br />
<br />
* [https://thimbleweedpark.com/ Thimbleweed Park]: Retro-looking point-and-click adventure, [https://blog.thimbleweedpark.com/tracking_talkies using Ogg Vorbis for its music, character voices and sound effects].<br />
<blockquote style="background-color: Silver"><br />
"[The characters' dialog is] around 6GB of .wav files and we needed to compress them for inclusion in the game. We used .ogg files due to it being free of the patent and licensing issues that .mp3 has, although either would have worked." — Ron Gilbert<br />
</blockquote><br />
<br />
* [http://www.thethinggames.com/ The Thing]: Uses Vorbis<br />
<blockquote style="background-color: Silver"><br />
"The original multilanguage distro took three CDs, and went down to only one after I converted all wavs to oggs. Nifty :) Sadly enough, marketing decided to not have one language per CD anyway (probably to annoy people who migrate) :/ Thanks for a very cool (and easy to use) lib/format!" — Vincent Penquerc’h<br />
</blockquote><br />
<br />
* [http://www.asahi-net.or.jp/~cs8k-cyu/windows/tt_e.html Torus Trooper]: Frantic 3D shootemup, using Vorbis for the music. (see also the [http://www.emhsoft.net/ttrooper/ Linux port] and [http://www.apple.com/downloads/macosx/games/action_adventure/torustrooper.html MacOS version])<br />
<br />
* [http://www.trackmania.com/ TrackMania] uses Vorbis for music in menu and tracks. [music in self-made tracks also need to be in Vorbis]<br />
<br />
* [http://www.mikeoldfield.com/ Tr3s Lunas] (aka Music VR episode 1): This game, featuring the music of Mike Oldfield, uses Vorbis for the music.<br />
<br />
* [http://www.tribesvengeance.com Tribes: Vengance] by Irration Games/Sierra use Ogg Vorbis for music.<br />
<br />
* [http://www.mobygames.com/game/gamecube/true-crime-new-york-city True Crime: New York City]: GameCube version contains over 11,500 Ogg Vorbis files. It is likely that other platform ports also use the same files (note that the [http://www.mobygames.com/game/xbox/true-crime-new-york-city Xbox version] uses Windows Media Audio files in place of Ogg Vorbis files)<br />
<br />
* [http://tuxtype.sourceforge.net/ Tuxtyping 2]: Educational typing tutor for kids of all ages! <br />
<br />
* [http://www.ufo-aftershock.com/ UFO: Aftershock]: Uses Vorbis for music.<br />
<br />
* [http://www.ufo-afterlight.com/ UFO: Afterlight]: Uses Vorbis for music.<br />
<br />
* [http://www.atari.com/us/games/unreal2/pc Unreal 2]: PC version uses Vorbis, usage on consoles not confirmed.<br />
<blockquote style="background-color: Silver"><br />
"We went with Ogg Vorbis due to its excellent playback and compression, and we used it not only for music but also all of the in-game voice. Without it, we never would have been able to fit on two CDs." — [http://www.4unrealers.com/entrevistas/263/ 4unrealers.com]<br />
</blockquote><br />
<br />
* [http://www.unrealtournament.com/ut2003/ Unreal Tournament 2003]: This overwhelmingly-popular multiplayer first person shooter PC title uses Vorbis for its music.<br />
<br />
* [http://www.unrealtournament.com/ut2004/ Unreal Tournament 2004]: Yet another Unreal game which uses Vorbis for the music (What about effects and voice? Does anyone know?). The readme file of the demo even mentions Speex!<br />
<br />
* [http://sc2.sourceforge.net/ The Ur-Quan Masters]: Port of Star Control 2 to modern computers. Toys for Bob released the source of this amazing game under the GPL in 2002. Ogg Vorbis is used for the dialogue and the background music.<br />
<br />
* [http://uru.ubi.com/ Uru: Ages Beyond Myst]: Spinoff from the Myst series. Uses Ogg Vorbis for all music, speech and sound effects.<br />
<br />
* [http://mobygames.com/game/sheet/p,3/gameId,8635/ Lionheart — Legacy of the Crusader]: An 3/4 RPG from Black Isle. Uses Vorbis for all audio. Thanks to all the guys that made Vorbis great.. (I even donated money myself, someday maybe I can convince the company to kick in some bucks as well). Official site is down, using mobygames link.<br />
<br />
* [http://www.global-gaming.com/Dominion/ Urban Dominion] (beta): First Person Massively Multiplayer Online Role-Playing Game by Global-Gaming. Uses Ogg Vorbis for the sound system.<br />
<br />
* [http://www.vietcong-game.com/ Vietcong]: Vietnam War First Person Shooter by Pterodon. Uses Ogg Vorbis I believe for the background music.<br />
<br />
* [http://vegastrike.sourceforge.net/ Vega Strike]: It is a free spacesim. Ogg Vorbis files are stored in \music\ .<br />
<br />
* [http://www.gathering.com/wingsofwar/ Wings Of War]: It is an arcade shooter in times of WWI. Game has ogg.dll, vorbis.dll and vorbisfile.dll — but *.ogg files are not accesible.<br />
<br />
* [http://jonof.edgenetwork.org/winbuild/ WinBuild]: Winbuild is a port of Ken Silverman’s [http://www.advsys.net/ken/buildsrc/default.htm original Build engine demo] (for DOS) to Windows. It uses Vorbis compression for the music.<br />
<br />
* [http://www.worldofwarcraft.com/ World of Warcraft]: popular massively multiplayer online role-playing game from Blizzard Entertainment use Vorbis for speech and sound effects.<br />
<br />
* [http://www.zax-game.com/ Zax — The Alien Hunter]: A large 3/4 view action adventure game.<br />
<br />
[[Category:Vorbis]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=Games_that_use_Vorbis&diff=16617Games that use Vorbis2017-10-04T15:23:57Z<p>Martin.leese: Used <blockquote>s for block quotes</p>
<hr />
<div>The following games use [[Vorbis]], most frequently for their in-game music or sound effects:<br />
<br />
* All Games By [http://www.reflexive.com/index.php?CAT=Search&SEARCH=dev%3AReflexive+Entertainment&PAGE=GameList Reflexive Entertainment].<br />
<br />
* [http://www.mobygames.com/game/windows/007-nightfire 007: Nightfire]: Uses Ogg Vorbis for background soundtrack.<br />
<br />
* [http://www.asciisector.net/ Ascii Sector]: Space combat/exploration/trading game. Uses Ogg Vorbis for music.<br />
<br />
* [http://www.ageofconan.com/ Age of Conan — Hyborian Adventures]: Uses Ogg Vorbis for all audio.<br />
<br />
* [http://www.americasarmy.com/ America’s Army]: Uses Ogg Vorbis for main theme.<br />
<br />
* [http://www.amnesiagame.com/ Amnesia: The Dark Descent]: Uses Ogg Vorbis for all audio.<br />
<br />
* [http://assault.cubers.net/ AssaultCube]: A free fast paced first-person shooter with little hardware requirements for Windows, Linux and OS X. Uses Ogg Vorbis for all game sounds and music.<br />
<br />
* [http://www.lionhead.com/bw2/ Black & White 2]: Uses Ogg Vorbis for music.<br />
<br />
* [http://www.pyrogon.com/games/candycruncher/ Candy Cruncher]: This cute puzzle game from Brian Hook’s company, Pyrogon, uses Vorbis for the addictive music you hear while you race the clock.<br />
<br />
* [http://www.callofcthulhu.com/ Call of Cthulhu] is a first-person horror game that combines intense action and adventure elements. It uses Ogg Vorbis for music and speech.<br />
<br />
* [http://www.mobygames.com/game/windows/catechumen Catechumen] is a Christian-themed FPS that uses Ogg Vorbis.<br />
<br />
* [http://www.civilization5.com/ Civilization V] is a turn-based strategy game that uses Ogg Vorbis for music.<br />
<br />
* [http://www.atari.com/crashday/ Crashday]: Stunt racing game, developed by independent German studio Moon Byte. Uses Ogg Vorbis for music.<br />
<br />
* [http://buenavistagames.go.com/product/chickenLittlePC.html Chicken Litte]: Adventure game for children inspired by the motion picture in PC edition uses Vorbis for dialogs and music. (not sure if sound effects too)<br />
<br />
* [http://www.cossacks2.de/ Cossacks 2]: “Cossacks II: Napoleonic Wars” is a sequel of “Cossacks: European Wars”. Ogg Vorbis 1.0 files are in \data\music\<br />
<br />
* [http://www.darwinia.co.uk/ Darwinia]: The second title from Indy developer Introversion Software. Darwinia is a stylised retro — Tron meets Cannon Fodder. It uses Vorbis for all in game sound effects and music.<br />
<br />
* [http://www.introversion.co.uk/defcon/ DEFCON]: The third title from Introversion Software. Uses Vorbis for music, effects, everything, like Darwinia.<br />
<br />
* [http://devilmaycry.com/ Devil May Cry 4] (for the PC, at least): Uses (occasionally multichannel) Ogg Vorbis for ingame and cutscene music.<br />
<br />
* [http://www.eidos.co.uk/gss/dxiw/ Deus Ex: Invisible War] by Ion Storm/Eidos: Uses Ogg Vorbis for music and voice (and possibly for sound fx too).<br />
<br />
* [http://diablo3.com Diablo III] uses Vorbis for audio.<br />
<br />
* [http://www.idsoftware.com/games/doom/doom3/ DOOM 3]: The latest version of this famous first person shooter game from id software uses Vorbis for the theme music as well as their ambient and game sounds.<br />
<br />
* [http://mobygames.com/game/sheet/p,3/gameId,6505/ Duke Nukem: Manhattan Project]: This game from 3D Realms was released in 2002 and used Vorbis for their music. (Official website is down, using Mobygames link)<br />
<br />
* [http://www.popcap.com/games/free/dynomite Dynomite]: Puzzle Bobble/Bust A Move clone for Windows by PopCap Games, with mouse control. Uses Ogg Vorbis for nearly all sound effects.<br />
<br />
* [http://en.wikipedia.org/wiki/Eschalon:_Book_I Eschalon]: A classic-style roleplaying game, for Windows, Mac, and Linux. Music is in ''Ogg Vorbis'' format.<br />
<br />
* [http://www.mobygames.com/game/enclave/ Enclave] by Starbreeze/Black Label Games: Uses Ogg Vorbis for music (and possibly for sound fx and voice too).<br />
<br />
* [http://www.eve-online.com EVE Online] by CCP Games, the Icelandic-homed space-based single-shard persistent world game uses Ogg Vorbis for its music.<br />
<br />
* [http://www.lionhead.com/fabletlc/ Fable: The Lost Chapters]: Uses Ogg Vorbis for music and cutscenes (Ancient libVorbis version, 1.0 RC2).<br />
<br />
* [http://farcry.ubi.com/ FarCry] by Crytek: uses Ogg Vorbis for music and effects.<br />
<br />
* [http://www.freedom-fighters.co.uk/ Freedom Fighters] by IO Interactive: String search reveals “libVorbis I 20011217” in freedom.exe.<br />
<br />
* [http://www.siriusgames.dk/index.php?pageid=67 Gangland] by MediaMobsters: Uses Ogg Vorbis for music and cutscenes (Data\streams\). Encoded with Xiph.Org libVorbis I 20020717. Decoder library: FMOD 3.71.<br />
<br />
* [http://www.rockstargames.com/vicecity/ Grand Theft Auto: Vice City] by Rockstar Games/Rockstar North uses Ogg Vorbis to store music, radio, ambient sounds, police messages and cutscene audio. Players can also store their custom tracks (accessible in-game via the “User Track Player” radio station) in Ogg Vorbis.<br />
<br />
* [http://www.rockstargames.com/sanandreas/ Grand Theft Auto: San Andreas] by Rockstar Games/Rockstar North uses Ogg Vorbis to store music, radio, ambient sounds, police messages and cutscene audio. Players can also store their custom tracks (accessible in-game via the “User Track Player” radio station) in Ogg Vorbis.<br />
<br />
* [http://www.gothic3.com/ Gothic 3] by Piranha Bytes: Vorbis is used in the ogg container for everything (music, speech, effects) except of the intro video. For example: Music @ 256 kb/s, Speech @ 86 kb/s. About 18 hours of speech compressed to 700 MB.<br />
<br />
* [http://www.guiltygearx2reload.com/ Guilty Gear XX]: The PC version, at least, uses Ogg Vorbis for all the music.<br />
<br />
* [http://www.guitarherogame.com/gh2/ Guitar Hero II] by Red Octane (Activision), XBox360 platform only (multichannel Vorbis with 5 or 6 channels per song)<br />
<br />
* [http://halo.bungie.org/ Halo]: Mac and PC versions of Halo use Ogg Vorbis for all audio, it seems. The Xiph license and dynamically linked libraries of Ogg and Vorbis are included in the Halo directory. XBox version does not use Ogg Vorbis.<br />
<br />
* [http://harrypotter.ea.com/cofs/index.html Harry Potter II (Chamber of Secrets)]: This is unsubstantiated, it was reported on one of the vorbis mailing lists, but there is little evidence either way on this title. EA has been supportive of Vorbis though, so it’s not entirely impossible. If anyone can give us a yay or nay on this, please do.<br />
<br />
* [http://www.mightandmagicgame.com/HeroesV/ Heroes of Might and Magic V]: Uses Vorbis for audio and Theora for video.<br />
<br />
* [http://www.eidosinteractive.com/games/info.html?gmid=118 Hitman 2]: uses Vorbis. (PC only or consoles too?)<br />
<br />
* [http://www.codemasters.com/igi2/front.htm IGI2: Covert Strike]: Not a Norwegian first-person shooter.<br />
<br />
* [http://www.inthegroove.com In The Groove]: The premier dance game created by [http://www.roxorgames.com Roxor Games, Inc.] Uses Vorbis for all of the in-game music.<br />
<br />
* [http://www.agdinteractive.com/games/kq1/ King's Quest I]: King's Quest I: Quest for the Crown (Enchanced) is a fan remake of the original Sierra classic. Uses Ogg Vorbis for sound and Ogg Theora for cutscene movies.<br />
<br />
* [http://www.p3int.com/KULT/ KULT Heretic Kingdoms] by 3D People/Project 3 Interactive: Uses Vorbis (1.0) for music, voice and sound effects.<br />
<br />
* Recent Legacy of Kain Games: On the PC, both <b>Soul Reaver 2</b> and <b>Blood Omen 2</b> by Crystal Dynamics/Eidos use Ogg Vorbis for music and sound effects. (Source: [http://www.thelostworlds.net/FAQ.HTML#ogg])<br />
<br />
* [http://www.ncsoft.net/eng/ncgames/lineage2_intro.asp Lineage II]: NCSoft Corporation’s 3D MMORPG Lineage II uses Ogg Vorbis for its music. They use 1.0beta3, though.<br />
<br />
* [http://www.liveforspeed.net/ Live for Speed]: Online racing simulator uses Ogg for all audio and sound effects.<br />
<br />
* [http://www.mobygames.com/game/lock-on-modern-air-combat Lock On: Modern Air Combat]: Published by Ubisoft; CD-ROM contains over 1800 Ogg Vorbis files for speech.<br />
<br />
* [http://www.mafia-game.com/ Mafia: The City Of Lost Heaven]: Not sure about any console version, but PC version is reported to use Ogg Vorbis.<br />
<br />
* [http://www.popcap.com/games/magicmatch Magic Match]: A very elaborate "Match 3" casual game that uses Ogg Vorbis for its audio.<br />
<br />
* [http://www.capcom.co.jp/rockmanx8/ Mega Man X8]: The PC version of Mega Man X8 makes use of Vorbis for music and dialogue during cutscenes.<br />
<br />
* [http://www.mobygames.com/game/gamecube/metal-gear-solid-the-twin-snakes Metal Gear Solid: The Twin Snakes]: Uses Ogg Vorbis for all speech in the game.<br />
<br />
* [http://minecraft.net Minecraft]: Uses Ogg Vorbis for music and sound effects.<br />
<br />
* MotoGP: This motorcycle racing sim uses Vorbis for the music and allows players to drop their own .ogg files into the music dir to listen to them in-game.<br />
<br />
* [http://www.mystrevelation.com/ Myst IV: Revelation]: Fourth game in the Myst series. Uses Ogg Vorbis for all music, speech and sound effects.<br />
<br />
* [http://www.mystvgame.com/ Myst V: End of Ages]: Fifth and final game in the Myst series. Uses Ogg Vorbis for all music, speech and sound effects.<br />
<br />
* Nascar Racing Games from Papyrus: They had this to say about their decision and experience:<br />
<blockquote><br />
"We’re using a lot of spoken audio in this title (a first for us) and your codec has allowed us to reduce more than 350MB of audio data to about 40MB, a huge savings of memory and disk space! We are very impressed." — Tom Faiano, Producer<br />
</blockquote><br />
<blockquote><br />
"Incorprating Ogg Vorbis into our codebase was quite painless, and in the end, even refreshing. No fuss no muss. Thank you for your efforts!" — Bill Farquhar, Soundguy du jour<br />
</blockquote><br />
<br />
* [http://www.nexuiz.com/ Nexuiz], a fast-paced FPS with roots in Quake I, uses Vorbis for background music. The minstagib mod uses Vorbis for all of its sound.<br />
<br />
* [http://www.codemasters.com/flashpoint/ Operation Flashpoint]: This highly successful military simulation/action game from Codemasters uses Vorbis for the in-game music.<br />
<br />
* [http://www.orunner.com/ Ostrich Runner] by Geleos: This funny Russian cartoon-style game for kids and not only kids uses Ogg Vorbis for sound, speech and music.<br />
<br />
* [http://www.ysagoon.com/glob2/ Globulation 2]: State of the art GPL-ed strategy game!<br />
<br />
* [http://www.penumbragame.com Penumbra: Black Plague]: Uses Ogg Vorbis for all audio.<br />
<br />
* [http://www.psobb.com/index.php Phantasy Star Online: Blue Burst]: Uses Ogg Vorbis for music, stored in data/ogg.<br />
<br />
* [http://www.gopostal.com/ Postal 2]: Probably not the game we want to use to showcase Vorbis, but it’s being used in this Unreal-engine-powered ultra-violent game.<br />
<br />
* [http://www.praetoriansgame.com/ Praetorians]: This very successful game from Pyro Studios uses Vorbis for its music.<br />
<br />
* [http://www.psychonauts.com/ Psychonauts]: Has vorbis.dll and vorbisfile.dll.<br />
<br />
* [http://www.quake4game.com/ Quake 4]: Quake 4 is the fourth title in the series of Quake FPS computer games. All game music, speech and sound effects make use of Vorbis.<br />
<br />
* [http://www.restricted-area.net/ Restricted Area]: by Master Creating uses Ogg Vorbis for music and VP3 for videos.<br />
<br />
* Ricochet: An addictive version of Break out.<br />
<br />
* [http://www.rockband.com/ Rock Band]: XBox360 version uses the same type of multichannel Vorbis files as Guitar Hero II, but with more channels to handle the drums and vocals separately.<br />
<br />
* [http://www.rockmanager.net/ Rock Manager]: Vorbis is used in this “new rock ’n roll management sim for PC from Pan Vision and Monsterland”.<br />
<br />
* [http://www.sacred2.com/ Sacred 2] by Studio II: uses multichannel(!) Ogg Vorbis for music, speech and sound effects.<br />
<br />
* [http://www.s2games.com/savage/ Savage]: This S2 Games “RTSS” hybrid genre game uses Vorbis for all the in-game music.<br />
<br />
* [http://www.serioussam.com/se/ Serious Sam: The Second Encounter]: uses Vorbis for the music, although it is slightly obfuscated so as not to be easily playable by standard Ogg Vorbis players.<br />
<br />
* [http://www.serioussam2.com/ Serious Sam 2]: not only uses Vorbis for the music but even Theora for the videos<br />
<br />
* [http://www.totalwar.com/community/warlord.htm Shogun: Total War]: Shogun uses Vorbis, but only to distribute — everything is decompressed to wav during the install.<br />
<br />
* [http://www.singles2.com/englisch/index.html Singles 2]: Uses ogg vorbis for sound<br />
<br />
* [http://www.lart.pl/en/portfolioItem.php?id=91 Ski Jumping 2004]: A commerical game that accurately models the activity of ski jumping. The game also contains over 700 Ogg Vorbis files.<br />
<br />
* [http://mobygames.com/game/sheet/p,3/gameId,3453/ Star Trek: Away Team]: Vorbis is used for all sound in the game — music, voiceover and SFX. This squad-based strategy game is set in the Star Trek Next Generation universe. (Official website is down, using Mobygames link)<br />
<br />
* [http://starcraft2.com/ StarCraft II]: Uses Vorbis for audio<br />
<br />
* StoneLoops! Of Jurassica ([http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=315210057&mt=8 Apple iTunes App Store link]): Colorful puzzle game for the iPhone/iPod Touch that uses Ogg Vorbis for audio.<br />
<br />
* [http://supertux.lethargik.org/ Super Tux]: Uses Vorbis for music.<br />
<br />
* [http://www.splintercell3.com/ Tom Clancy’s Splinter Cell Chaos Theory]: .LS0 files are in fact Ogg Vorbis files.<br />
<br />
* [http://www.lucasarts.com/games/swrepubliccommando/ Star Wars Republic Commando]: Vorbis is used in the ambient and game music in this latest action game from LucasArts.<br />
<br />
* [http://www.reflexive.net/index.php?PAGE=game_detail&AID=30 Swarm]: A fun little arcade shooter.<br />
<br />
* [http://www.swat4.com/ SWAT 4]: SWAT 4 uses Ogg Vorbis for audio files.<br />
<br />
* [http://www.croteam.com/talosprinciple/ The Talos Principle] is a first-person puzzle game that uses Ogg Vorbis for music.<br />
<br />
* [http://www.there.com/ There]: uses both Ogg Vorbis for the sound effects and Ogg Speex for realtime group voice chat, a first for an immersive consumer-oriented world. Voice has become a very popular part of our product! ** posted by [http://david.weekly.org David Weekly], a There developer.<br />
<br />
* [http://www.wesnoth.org The Battle for Wesnoth]: uses Ogg Vorbis for it's music and for most of it's sounds.<br />
<br />
* [http://www.riddickgame.com/ The Chronicles of Riddick: Escape From Butcher’s Bay (Director’s Cut)]: Uses Vorbis for all audio and Theora for cutscenes.<br />
<br />
* [https://thimbleweedpark.com/ Thimbleweed Park]: Retro-looking point-and-click adventure, [https://blog.thimbleweedpark.com/tracking_talkies using Ogg Vorbis for its music, character voices and sound effects].<br />
<blockquote><br />
"[The characters' dialog is] around 6GB of .wav files and we needed to compress them for inclusion in the game. We used .ogg files due to it being free of the patent and licensing issues that .mp3 has, although either would have worked." — Ron Gilbert<br />
</blockquote><br />
<br />
* [http://www.thethinggames.com/ The Thing]: Uses Vorbis<br />
<blockquote><br />
"The original multilanguage distro took three CDs, and went down to only one after I converted all wavs to oggs. Nifty :) Sadly enough, marketing decided to not have one language per CD anyway (probably to annoy people who migrate) :/ Thanks for a very cool (and easy to use) lib/format!" — Vincent Penquerc’h<br />
</blockquote><br />
<br />
* [http://www.asahi-net.or.jp/~cs8k-cyu/windows/tt_e.html Torus Trooper]: Frantic 3D shootemup, using Vorbis for the music. (see also the [http://www.emhsoft.net/ttrooper/ Linux port] and [http://www.apple.com/downloads/macosx/games/action_adventure/torustrooper.html MacOS version])<br />
<br />
* [http://www.trackmania.com/ TrackMania] uses Vorbis for music in menu and tracks. [music in self-made tracks also need to be in Vorbis]<br />
<br />
* [http://www.mikeoldfield.com/ Tr3s Lunas] (aka Music VR episode 1): This game, featuring the music of Mike Oldfield, uses Vorbis for the music.<br />
<br />
* [http://www.tribesvengeance.com Tribes: Vengance] by Irration Games/Sierra use Ogg Vorbis for music.<br />
<br />
* [http://www.mobygames.com/game/gamecube/true-crime-new-york-city True Crime: New York City]: GameCube version contains over 11,500 Ogg Vorbis files. It is likely that other platform ports also use the same files (note that the [http://www.mobygames.com/game/xbox/true-crime-new-york-city Xbox version] uses Windows Media Audio files in place of Ogg Vorbis files)<br />
<br />
* [http://tuxtype.sourceforge.net/ Tuxtyping 2]: Educational typing tutor for kids of all ages! <br />
<br />
* [http://www.ufo-aftershock.com/ UFO: Aftershock]: Uses Vorbis for music.<br />
<br />
* [http://www.ufo-afterlight.com/ UFO: Afterlight]: Uses Vorbis for music.<br />
<br />
* [http://www.atari.com/us/games/unreal2/pc Unreal 2]: PC version uses Vorbis, usage on consoles not confirmed.<br />
<blockquote><br />
"We went with Ogg Vorbis due to its excellent playback and compression, and we used it not only for music but also all of the in-game voice. Without it, we never would have been able to fit on two CDs." — [http://www.4unrealers.com/entrevistas/263/ 4unrealers.com]<br />
</blockquote><br />
<br />
* [http://www.unrealtournament.com/ut2003/ Unreal Tournament 2003]: This overwhelmingly-popular multiplayer first person shooter PC title uses Vorbis for its music.<br />
<br />
* [http://www.unrealtournament.com/ut2004/ Unreal Tournament 2004]: Yet another Unreal game which uses Vorbis for the music (What about effects and voice? Does anyone know?). The readme file of the demo even mentions Speex!<br />
<br />
* [http://sc2.sourceforge.net/ The Ur-Quan Masters]: Port of Star Control 2 to modern computers. Toys for Bob released the source of this amazing game under the GPL in 2002. Ogg Vorbis is used for the dialogue and the background music.<br />
<br />
* [http://uru.ubi.com/ Uru: Ages Beyond Myst]: Spinoff from the Myst series. Uses Ogg Vorbis for all music, speech and sound effects.<br />
<br />
* [http://mobygames.com/game/sheet/p,3/gameId,8635/ Lionheart — Legacy of the Crusader]: An 3/4 RPG from Black Isle. Uses Vorbis for all audio. Thanks to all the guys that made Vorbis great.. (I even donated money myself, someday maybe I can convince the company to kick in some bucks as well). Official site is down, using mobygames link.<br />
<br />
* [http://www.global-gaming.com/Dominion/ Urban Dominion] (beta): First Person Massively Multiplayer Online Role-Playing Game by Global-Gaming. Uses Ogg Vorbis for the sound system.<br />
<br />
* [http://www.vietcong-game.com/ Vietcong]: Vietnam War First Person Shooter by Pterodon. Uses Ogg Vorbis I believe for the background music.<br />
<br />
* [http://vegastrike.sourceforge.net/ Vega Strike]: It is a free spacesim. Ogg Vorbis files are stored in \music\ .<br />
<br />
* [http://www.gathering.com/wingsofwar/ Wings Of War]: It is an arcade shooter in times of WWI. Game has ogg.dll, vorbis.dll and vorbisfile.dll — but *.ogg files are not accesible.<br />
<br />
* [http://jonof.edgenetwork.org/winbuild/ WinBuild]: Winbuild is a port of Ken Silverman’s [http://www.advsys.net/ken/buildsrc/default.htm original Build engine demo] (for DOS) to Windows. It uses Vorbis compression for the music.<br />
<br />
* [http://www.worldofwarcraft.com/ World of Warcraft]: popular massively multiplayer online role-playing game from Blizzard Entertainment use Vorbis for speech and sound effects.<br />
<br />
* [http://www.zax-game.com/ Zax — The Alien Hunter]: A large 3/4 view action adventure game.<br />
<br />
[[Category:Vorbis]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=Oggless&diff=16610Oggless2017-07-29T18:10:47Z<p>Martin.leese: /* FLAC */ Added Native FLAC. (Is there a better link?)</p>
<hr />
<div>{{draft}}<br />
<br />
==Explicit mappings==<br />
The preferred method to map Xiph formats into other containers is to write an explicit mapping. Some mappings are documented below.<br />
<br />
===FLAC===<br />
* MP4: https://bug1286097.bmoattachments.org/attachment.cgi?id=8805161<br />
* [https://xiph.org/flac/format.html#stream Native FLAC]<br />
<br />
===Opus===<br />
* MP4: [[Mp4Opus]]<br />
* TS: [[OpusTS]]<br />
<br />
The rest of the page describes a generic mapping. It is strongly preferred to instead write an explicit mapping. The generic mapping is not compatible with the explicit mappings above.<br />
<br />
==Abstract==<br />
This page documents how to embed the different Xiph codecs like Vorbis or Theora in containers other than Ogg. It's still in the drafting stage, and most of it was taken from a [http://svn.mplayerhq.hu/nut/docs/oggless-xiph-codecs.txt?revision=486&pathrev=577 version] that was previously a part of the NUT Subversion repository.<br />
Said document was originally authored by Michael Niedermayer.<br />
<br />
==Current Version==<br />
* 2007-07-21<br />
<br />
==Status==<br />
Information on how to convert losslessly from one format to another is missing, as is Ogg timestamping. Regardless, it is mostly finished and likely won't be updated further.<br />
<br />
==Minimum container requirements==<br />
This appendix only explains how to store Xiph codecs in containers which <br />
support at least one global header per stream, can separate individual codec packets and in principle support the codec. So for example in the case of Vorbis, that would be variable bitrate and variable number of samples/packet. Storage in other containers is outside the scope of this appendix.<br />
<br />
===Global header:===<br />
If the container can store 3 headers per stream in an unambiguous and ordered way then they shall be stored in that way. If OTOH the container is only capable of storing a single global header, then the 3 codec headers shall be concatenated without any additional header, footer or separator between them. To recover the 3 headers from such a global header the following procedure shall be used:<br />
<br />
: 1) Search for the 1st occurrence of ID1. The found match and the following ID1_LEN bytes are the 1st header packet.<br />
: 2) search for the 1st occurrence of ID2 after here<br />
:: 3) read an unsigned integer of 32 bits and skip that many bytes<br />
:: 4) [user_comment_list_length] = read an unsigned integer of 32 bits<br />
:: 5) iterate [user_comment_list_length] times {<br />
::: 6) read an unsigned integer of 32 bits and skip that many bytes<br />
:: }<br />
:: 7) skip 1 byte<br />
: 8) the match in 2) and what follows until here is the 2nd header packet<br />
: 9) Search for the 1st occurrence of ID3 after here. The matching part and what follows is the 3rd header packet.<br />
<br />
====Constants:====<br />
{| border="1" cellpadding="4"<br />
! Codec<br />
! ID1<br />
! ID2<br />
! ID3<br />
! ID1_LEN<br />
|-<br />
| Vorbis<br />
| 0x01,'v','o','r','b','i','s'<br />
| 0x03,'v','o','r','b','i','s' <br />
| 0x05,'v','o','r','b','i','s'<br />
| 23<br />
|-<br />
| Theora<br />
| 0x80,'t','h','e','o','r','a'<br />
| 0x81,'t','h','e','o','r','a'<br />
| 0x82,'t','h','e','o','r','a'<br />
| 35<br />
|}<br />
<br />
If the container needs an identifier for the global header, for example a fourcc for a global header chunk then glbl shall be used.<br />
<br />
<br />
===Storing packets:===<br />
Each codec packet shall be stored in exactly one "container packet" and one "container packet" must not contain more then one codec packet. "container packet" here means the smallest separable data unit in the container.<br />
<br />
<br />
===Codec Identifier:===<br />
{| border="1" cellpadding="4"<br />
! Xiph codec<br />
! fourcc ID<br />
! long ID<br />
|-<br />
| Vorbis <br />
| vrbs <br />
| vorbis<br />
|-<br />
| Theora<br />
| ther<br />
| theora<br />
|-<br />
| Tarkin<br />
| trkn<br />
| tarkin<br />
|-<br />
| FLAC<br />
| flac<br />
| flac<br />
|-<br />
| Speex<br />
| spex<br />
| speex<br />
|-<br />
|}<br />
<br />
If the container uses 4-character codes, the fourcc identifier from the table above shall be used. If the container uses arbitrary length strings as identifiers, then the long ID from the table above shall be used.<br />
<br />
===Examples and Discussions about specific containers===<br />
What follows are some notes about specific containers, these notes are just informative as they just repeat what is written above or in the <br />
specification of the specific container.<br />
<br />
====Example and Discussion of the AVI container====<br />
AVI supports everything needed to store Vorbis, this does not mean that all applications will support Vorbis in AVI, as Vorbis is rather different from other audio codecs commonly stored in AVI.<br />
<br />
AVI supports a single global header like WAV does, the 3 Vorbis headers<br />
shall be stored in it and only in it as described above. dwSampleSize must be set to zero as vorbis is VBR, many applications do this incorrectly for other VBR codecs and consequently VBR audio in AVI<br />
becomes problematic.<br />
<br />
AVI does not have timestamps, but each chunk has a constant duration,<br />
while Vorbis packets can have one of 2 durations.<br />
If now the AVI header is set up in a way that each AVI chunk has the<br />
same duration as the smaller duration of the 2 possibilities in Vorbis,<br />
then simply inserting empty AVI chunks will allow every AVI chunk to<br />
have the correct duration.<br />
This is of course not the most beautiful solution but it is the only way<br />
to keep things exact.<br />
Additionally, note that empty chunks have been used since ages in AVI to<br />
lengthen the duration of video chunks.<br />
<br />
Some Links:<br />
* [http://svn.xiph.org/tags/vorbisacm_20020708/ Vorbisacm]<br />
* [http://www.alexander-noe.com/video/documentation/avi.pdf AVI File Format] (PDF), 5.7 (p.21) VFR Audio - Storing Vorbis in AVI<br />
<br />
====Example and Discussion of the ASF container====<br />
ASF supports a single global header per stream and has timestamps, so<br />
storing Xiph codecs in it should be possible, but ASF is patented and <br />
Microsoft has already threatened individuals, so we strongly urge you to <br />
avoid this container.<br />
<br />
====Example and Discussion of the Matroska container====<br />
Matroska supports storing 3 headers using a codec-specific format.<br />
This should be used for storing the 3 headers.<br />
<br />
Note that the above procedure to split one header into 3 works with the<br />
Vorbis-Matroska-specific format, too.<br />
<br />
====Example and Discussion of the NUT container====<br />
NUT supports a single global header per stream so the 1<->3 merge/split<br />
procedure above must be used. Except that there is nothing special with <br />
storing Xiph codecs in NUT.<br />
<br />
====Example and Discussion of MPEG-PS / MPEG-TS container====<br />
These containers neither support a global header nor do they provide<br />
the necessary packet separation / framing.<br />
Storing Xiph codecs in them is thus outside the scope of this appendix.<br />
<br />
====Example and Discussion of WAV container====<br />
WAV does not provide the necessary packet separation / framing, so storing Xiph codecs in it is outside the scope of this appendix.<br />
<br />
====Example and Discussion of the MOV container====<br />
A single glbl atom shall be placed in the stsd atom in which the the global header shall be stored.</div>Martin.leesehttps://wiki.xiph.org/index.php?title=Icecast_Server&diff=16466Icecast Server2016-08-12T15:44:18Z<p>Martin.leese: /* External Links */ No such word</p>
<hr />
<div>[[File:Icecast_Logo.svg|100px|left]]<br />
Icecast is a streaming media server which currently supports [[Ogg]] ([[Vorbis]] and [[Theora]]), [[Opus]] and WebM streams.<br /><br />
MP3 works too, but it is not officially supported due to its non-free nature.<br />
<br />
It can be used to create an Internet radio station or a privately-running jukebox and many things in between.<br /><br />
It is very versatile in that new formats can be added relatively easily and supports open standards for communication and interaction.<br />
<br />
Icecast is distributed under the GNU GPL, version 2.<br />
<br />
== Icecast Articles ==<br />
<br />
{{Special:PrefixIndex/Icecast Server/}}<br />
<br />
== External Links ==<br />
<br />
* [http://www.icecast.org/ Icecast homepage]<br />
* [http://dir.xiph.org/index.php Stream directory]<br />
* [http://dir.gmane.org/gmane.comp.audio.icecast.general Icecast mailing list archive] - You can search or browse Icecast user discussions here.<br />
* [http://dir.gmane.org/gmane.comp.audio.icecast.devel Icecast developer mailing list archive] - You can search or browse Icecast discussions on icecast development here.<br />
* [http://icecast.imux.net/index.php Unofficial Icecast forum]<br />
<br />
== Development ==<br />
<br />
You can find more information about the [[Icecast/Git_workflow|development workflow]] on a dedicated wiki page.<br />
<br />
== Wish List ==<br />
<br />
As good ideas are never a waste (and for tracking purposes) please list all the features you're missing in the icecast trunk as separate tickets on [https://trac.xiph.org/newticket?component=Icecast%20Server trac.xiph.org].<br />
<br />
Note: please check that the feature you request is not already in trunk before posting!<br />
<br />
[[Category:Icecast]]<br />
<br />
__NOTOC__</div>Martin.leesehttps://wiki.xiph.org/index.php?title=Subtle&diff=16417Subtle2016-06-25T16:33:13Z<p>Martin.leese: Tidy</p>
<hr />
<div>Subtle is a subtitling application designed and built for professional use. It tries to comply with all the needs of a professional translator and the field industry standards.<br />
<br />
== Project History ==<br />
<br />
This project was initiated as a GSoC project in 2006. After some time, the project developer left and the project became frozen. The current project developer was looking for a multiplatform opensource subtitling solution when he came across Souffleur (the project former name) and decided to pick up the project from where it was left.<br />
<br />
Since there was no history on the real project intentions other then its main goal, this current maintainer has given new directions to it and the project became what it is now.<br />
<br />
== Current Status ==<br />
<br />
We are struggling to get the first binary release. I have made too many promises about dates before, so right now I wil stick to '''this year''' dead line, after all, we all have jobs, wifes, kids ... :)<br />
<br />
== Features ==<br />
<br />
* Online mode and editing mode to ease the revision process<br />
* Configurable hotkeys for almost everything<br />
* Detachable panels to ease the work on multiple screens<br />
* Support for as many subtitle formats as possible (in the near future, not only text based)<br />
* Embedded player using GStreamer with slow motion features and fast forward<br />
* Spell checker using several dictionary backends<br />
* High precision frame based or time based spotting<br />
<br />
== Subtitle Formats ==<br />
<br />
* SubRip (.srt)<br />
* OggKate (currently being worked on)<br />
* Softni (not yet implemented)<br />
* CMML (not yet implemented)<br />
<br />
== Download ==<br />
<br />
For those who want to dive into the wild of alpha testing, here is the svn location<br />
* svn co https://svn.xiph.org/trunk/subtle<br />
<br />
For those interested on Souffleur (the old version)<br />
* svn co https://svn.xiph.org/branches/souffleur<br />
<br />
== Authors ==<br />
<br />
* Joao Mesquita - Main developer<br />
* Mariana Zir - Professional translator that is helping to specify the software<br />
<br />
== Contributors ==<br />
<br />
* ogg.k.ogg.k - Developing support for OggKate</div>Martin.leesehttps://wiki.xiph.org/index.php?title=Ogg_Skeleton_4&diff=16372Ogg Skeleton 42016-05-23T16:03:25Z<p>Martin.leese: /* Previous version */ No point displaying a broken link</p>
<hr />
<div>'''Ogg Skeleton''' provides structuring information for multitrack [[Ogg]] files. It is compatible with Ogg [[Theora]] and provides extra clues for synchronization and content negotiation such as language selection. The latest version of Skeleton, version 4.0, also provides keyframe indexes to enable optimal seeking over high-latency connections, such as the internet.<br />
<br />
Ogg is a generic container format, enabling interleaving of several tracks of frame-wise encoded content in a time-multiplexed manner. As an example, an Ogg physical bitstream could encapsulate several tracks of video encoded in Theora and multiple tracks of audio encoded in Speex or Vorbis or FLAC at the same time. A player that decodes such a bitstream could then, for example, play one video channel as the main video playback, alpha-blend another one on top of it (e.g. a caption track), play a main Vorbis audio together with several FLAC audio tracks simultaneously (e.g. as sound effects), and provide a choice of Speex channels (e.g. providing commentary in different languages). Such a file is generally possible to create with Ogg, it is however not possible to generically parse such a file, seek on it, understand what codecs are contained in such a file, and dynamically handle and play back such content. <br />
<br />
Ogg does not know anything about the content it carries and leaves it to the media mapping of each codec to declare and describe itself. There is no meta information available at the Ogg level about the content tracks encapsulated within an Ogg physical bitstream. This is particularly a problem if you don't have all the decoder libraries available and just want to parse an Ogg file to find out what type of data it encapsulates (such as the "file" command under *nix to determine what file it is through magic numbers), or want to seek to a temporal offset without having to decode the data (such as on a Web server that just serves out Ogg files and parts thereof).<br />
<br />
Ogg Skeleton is designed to overcome these problems. Ogg Skeleton is a logical bitstream within an Ogg stream that contains information about the other encapsulated logical bitstreams. For each logical bitstream it provides information such as its media type, and explains the way the granulepos field in Ogg pages is mapped to time. <br />
<br />
Seeking in an Ogg file is typically implemented as a bisection search for the seek target timestamp. However when seeking over a high latency connection, such as the internet, such searches can be slow. Some bitstreams, notably Theora, have keyframes, and so in order to seek to a given temporal offset in a Theora stream, you must first perform a bisection search to find the target Theora frame, determine its keyframe, and then perform another bisection search to locate that keyframe and decode forwards to the temoporal offset. This can be very slow. The Ogg Skeleton 4.0 provides an index of keyframes, and indexes periodic samples on streams without the concept of a keyframe, so that seeking over high-latency connections can simply be performed optimally with "one hop".<br />
<br />
Ogg Skeleton is also designed to allow the creation of substreams from Ogg physical bitstreams that retain the original timing information. For example, when cutting out the segment between the 7th and the 59th second of an Ogg file, it would be nice to continue to start this cut out file with a playback time of 7 seconds and not of 0. This is of particular interest if you're streaming this file from a Web server after a query for a temporal subpart such as in http://example.com/video.ogv?t=7-59 .<br />
<br />
=== Previous version ===<br />
<br />
The previous version of Ogg Skeleton was version 3, and its specification can be found on the wiki page [[Ogg Skeleton 3]].<br />
<br />
=== How to describe the logical bitstreams within an Ogg container? ===<br />
<br />
The following information about a logical bitstream is of interest to contain as meta information in the Skeleton:<br />
* the serial number: it identifies a content track<br />
* the mime type: it identifies the content type<br />
* other generic name-value fields that can provide meta information such as the language of a track or the video height and width<br />
* the number of header packets: this informs a parser about the number of actual header packets in an Ogg logical bitstream<br />
* the granule rate: the granule rate represents the data rate in Hz at which content is sampled for the particular logical bitstream. Note that when using this to interpret timestamps, the granulepos of a data page must first be parsed to extract a granule value using the method described in [[GranulePosAndSeeking]]. This value can then be mapped to time by calculating "granules / granulerate".<br />
* the preroll: the number of past content packets to take into account when decoding the current Ogg page, which is necessary for seeking (vorbis has generally 2, speex 3)<br />
* the granuleshift: the number of lower bits from the granulepos field that are used to provide position information for sub-seekable units (like the keyframe shift in theora)<br />
* a basetime: it provides a mapping for granule position 0 (for all logical bitstreams) to a playback time; an example use: most content in professional analog video creation actually starts at a time of 1 hour and thus adding this additional field allows them retain this mapping on digitizing their content<br />
* a UTC time: it provides a mapping for granule position 0 (for all logical bitstreams) to a real-world clock time allowing to remember e.g. the recording or broadcast time of some content<br />
<br />
=== How to allow the creation of substreams from an Ogg physical bitstream? ===<br />
<br />
When cutting out a subpart of an Ogg physical bitstream, the aim is to keep all the content pages intact (including the framing and granule positions) and just change some information in the Skeleton that allows reconstruction of the accurate time mapping. When remultiplexing such a bitstream, it is necessary to take into account all the different contained logical bitstreams. A given cut-in time maps to several different byte positions in the Ogg physical bitstream because each logical bitstream has its relevant information for that time at a different location. In addition, the resolution of each logical bitstream may not be high enough to accommodate for the given cut-in time and thus there may be some surplus information necessary to be remuxed into the new bitstream.<br />
<br />
The following information is necessary to be added to the Skeleton to allow a correct presentation of a subpart of an Ogg bitstream:<br />
* the presentation time: this is the actual cut-in time and all logical bitstreams are meant to start presenting from this time onwards, not from the time their data starts, which may be some time before that (because this time may have mapped right into the middle of a packet, or because the logical bitstream has a preroll or a keyframe shift)<br />
* the basegranule: this represents the granule number with which this logical bitstream starts in the remuxed stream and provides for each logical bitstream the accurate start time of its data stream; this information is necessary to allow correct decoding and timing of the first data packets contained in a logcial bitstream of a remuxed Ogg stream<br />
<br />
=== Keyframe indexes for faster seeking ===<br />
<br />
Seeking in an Ogg file is typically implemented as a bisection search over the pages in the file. The bisection method above works fine for seeking in local files, but for seeking in files served over the Internet via HTTP, each bisection or non sequential read can trigger a new HTTP request, which can have very high latency, making seeking very slow. Seeking is further complicated by the fact that packets often span multiple <br />
Ogg pages, and that Ogg pages from different streams can be interleaved <br />
between spanning packets. <br />
<br />
Each content track has a separate index, which is stored in its own packet in the Skeleton 4.0 track. The index for streams without the concept of a keyframe, such as Vorbis streams, can instead record the time position at periodic intervals, which achieves the same result. When this document refers to keyframes, it also implicitly refers to these independent periodic samples from keyframe-less streams. <br />
<br />
Because all the Skeleton track's index packets appear in the header pages of the Ogg segment, all the keyframe indexes are immediately available once the header packets have been read when playing the media over a network connection. <br />
<br />
For every content stream in an Ogg segment, the Skeleton provides seek algorithms with an index, or ordered table of "key points". A key point is intrinsically associated with exactly one stream, and stores the offset, o, of the last page which lies before all data required to decode the keyframe, as well as the presentation time of the keyframe t, as a fraction of seconds.<br />
<br />
The offset is relative from the beginning of the Ogg segment, and is exactly the first byte of a page in the indexed stream, so if you seek to a keypoint's offset and don't find the beginning of a page there, or you find a page from another stream, you can assume that the Ogg segment has been modified since the index was constructed, and the index can be considered invalid. The time t is the keyframe's presentation time corresponding to the granulepos, and is represented as a fraction in seconds. Note that if a stream requires any preroll, this will be accounted for in the time stored in the keypoint. <br />
<br />
The Skeleton 4.0 track contains one index for each content stream in the file. To seek in an Ogg file which contains keyframe indexes, first construct the set which contains every active streams' last keypoint which has time less than or equal to the seek target time. This tells you a known point on every stream which lies before the seek target. Then from that set of key points, select the key point with the smallest byte offset. You then verify that there's a page from the keypoint's stream found at exactly that offset, and if so, you can begin decoding. You are guaranteed to pass keyframes on all streams with time less than or equal to your seek target time while decoding up to the seek target. However if you don't encounter a keyframe with the same presentation time as is stored in the keypoint, then the index is invalid (possibly the file has been changed without updating the index) and you must either fallback to a bisection search, or keep decoding if you've landed "close enough" to the seek target.<br />
<br />
Be aware that you cannot assume that any or all Ogg files will contain keyframe indexes, so when implementing Ogg seeking, you must gracefully fall-back to a bisection search or other seek algorithm when the index is not present, or when it is invalid.<br />
<br />
The Skeleton 4.0 index packets also stores meta data about the segment in which it resides. It stores the timestamps of the first and last samples in its track. This also allows you to determine the duration of the indexed Ogg media without having to decode the start and end of the Ogg segment to calculate the difference (which is the duration). With the index packets storing the start and end times of every track, you can calculate the duration as the end time of the last active stream minus the start time of first active stream.<br />
<br />
The Skeleton 4.0 BOS packet contains the length of the indexed segment in bytes. This is so that if the seek target is outside of the indexed range, you can immediately move to the next/previous segment and either seek using that segment's index, or narrow the bisection window if that segment has no index. You can also use the segement length to verify if the index is valid. If the contents of the segment have changed, it's highly likely that the length of the segment has changed as well. When you load the segment's header pages, you should check the length of the physical segment, and if it doesn't match the length stored in the Skeleton header packet, you know that either the index is out of date, or the file has been chained since indexing.<br />
<br />
The Skeleton 4.0 BOS packet also contains the offset of the first non header page in the Ogg segment. This means that if you wish to delay loading of an index for whatever reason, you can skip forward to that offset, and start decoding from that offset forwards.<br />
<br />
When using the index to seek, you must verify that the index is still correct. You can consider the index invalid if any of the following are true:<br />
<br />
* The segment doesn't end at the segment length offset stored in the Skeleton BOS packet (note that a new "link" in a "chain" can start at the end of the segment), or<br />
* after a seek to a keypoint's offset, you don't land exactly on a page boundary, or<br />
* after a seek to a keypoint's offset, you don't land on a page which belongs to that keypoint's stream.<br />
<br />
While loading the Skeleton BOS header, you should always check the Skeleton version field to ensure your decoder correctly knows how to parse the Skeleton track. <br />
<br />
Be aware that a keyframe index may not index all keyframes in the Ogg segment, it may only index periodic keyframes instead.<br />
<br />
<br />
=== Ogg Skeleton version 4.0 Format Specification ===<br />
<br />
Adding the above information into an Ogg bitstream without breaking existing Ogg functionality and code requires the use of a logical bitstream for Ogg Skeleton. This logical bitstream may be ignored on decoding such that existing players can still continue to play back Ogg files that have a Skeleton bitstream. Skeleton enriches the Ogg bitstream to provide meta information about structure and content of the Ogg bitstream.<br />
<br />
The Skeleton logical bitstream starts with an ident header that contains information about all of the logical bitstreams and is mapped into the Skeleton bos page.<br />
The first 8 bytes provide the magic identifier "fishead\0".<br />
After the fishead follows a set of secondary header packets, each of which contains information about one logical bitstream. These secondary header packets are identified by an 8 byte code of "fisbone\0". The Skeleton logical bitstream has no actual content packets. Its EOS page is included into the stream before any data pages of the other logical bitstreams appear and contains a packet of length 0. Note the EOS packet appears by itself on its own page (the "EOS page").<br />
<br />
The fishead ident header looks as follows ([http://annodex.org/w/images/3/39/FishHeads.JPG inspiration]):<br />
<br />
0 1 2 3<br />
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<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| Identifier 'fishead\0' | 0-3<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| | 4-7<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| Version major | Version minor | 8-11<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| Presentationtime numerator | 12-15<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| | 16-19<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| Presentationtime denominator | 20-23<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| | 24-27<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| Basetime numerator | 28-31<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| | 32-35<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| Basetime denominator | 36-39<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| | 40-43<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| UTC | 44-47<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| | 48-51<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| | 52-55<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| | 56-59<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| | 60-63<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| Segment length in bytes | 64-67<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| | 68-71<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| Content byte offset | 72-75<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| | 76-79<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
<br />
The version fields provide version information for the Skeleton track, currently being 4.0 (the number having evolved within the Annodex project).<br />
Presentation time and basetime are specified as a rational number, the denominator providing the temporal resolution at which the time is given (e.g. to specify time in milliseconds, provide a denominator of 1000).<br />
<br />
<br />
The fisbone secondary header packet looks as follows:<br />
<br />
0 1 2 3<br />
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<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| Identifier 'fisbone\0' | 0-3<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| | 4-7<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| Offset to message header fields | 8-11<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| Serial number | 12-15<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| Number of header packets | 16-19<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| Granulerate numerator | 20-23<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| | 24-27<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| Granulerate denominator | 28-31<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| | 32-35<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| Basegranule | 36-39<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| | 40-43<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| Preroll | 44-47<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| Granuleshift | Padding/future use | 48-51<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| Message header fields ... | 52-<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
<br />
The mime type is provided as a message header field specified in the same way that HTTP header fields are given, e.g. "Content-Type: audio/vorbis". Message header fields are terminated/delimited by "\r\n". Further meta information (such as language and screen size) are also included as message header fields. The offset to the message header fields at the beginning of a fisbone packet is included for forward compatibility - to allow further fields to be included into the packet without disrupting the message header field parsing.<br />
The granule rate is again given as a rational number in the same way that presentation time and basetime were provided above.<br />
<br />
The following message headers are compulsory in Skeleton 4.0:<br />
* Content-type: mime type of the content encoded in this stream, e.g. audio/vorbis, video/theora, etc. The mime types in use here are listed at http://wiki.xiph.org/MIME_Types_and_File_Extensions#Codec_MIME_types.<br />
* Role: describes the function of this track. Common examples are "video/main", "audio/main", "text/caption". For a complete list of possibilities, see http://wiki.xiph.org/SkeletonHeaders#Role.<br />
* Name: a unique free text string which can be used to directly address the track in scripting applications, such as an HTML5 viewer.<br />
<br />
For more message headers, see [[SkeletonHeaders]].<br />
<br />
Before the Skeleton EOS page in the segment header pages come the Skeleton 4.0 keyframe index packets. There should be one index packet foreach content track in the Ogg segment, but index packets are not required for a Skeleton 4.0 track to be considered valid. Each keyframe in the index is stored in a "keypoint", which in turn stores an offset, and timestamp. In order to save space, the offsets and timestamps are stored as deltas, and then variable byte-encoded. The offset and timestamp deltas store the difference between the keypoint's offset and timestamp from the previous keypoint's offset and timestamp. So to calculate the page offset of a keypoint you must sum the offset deltas of up to and including the keypoint in the index.<br />
<br />
The variable byte encoded integers are encoded using 7 bits per byte to store the integer's bits, and the high bit is set in the last byte used to encode the integer. The bits and bytes are in little endian byte order. For example, the integer 7843, or 0001 1110 1010 0011 in binary, would be stored as two bytes: 0xBD 0x23, or 1011 1101 0010 0011 in binary.<br />
<br />
Each index packet contains the following: <br />
<br />
0 1 2 3<br />
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<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| Identifier 'index\0' | 0-3<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| ... |Serial number | 4-7<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| ... |Number of keypoints | 8-11<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| ... | 12-15<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| ... | Timestamp denominator | 16-19<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| ... | 20-23<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| ... | First sample time numerator | 24-27<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| ... | 28-31<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| ... | Last sample end time numerator| 32-35<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| ... | 36-39<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
| ... |Keypoints... | 40-43<br />
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<br />
<br />
The fields of the index packet are as follows:<br />
<br />
# Identifier 6 bytes: "index\0". Bytes [0...5].<br />
# The serialno of the stream this index applies to, as a 4 byte field. Bytes [6...9]<br />
# The number of keypoints in this index packet, 'n' as a 8 byte unsigned integer. This can be 0. Bytes [10...17].<br />
# The presentation time denominator for this stream, as an 8 byte signed integer. All timestamps, including keypoint timestamps, first and last sample timestamps are fractions of seconds over this denominator. This must not be 0. Bytes [18...25].<br />
# First-sample-time numerator: 8 byte signed integer representing the numerator for the presentation time of the first sample in the track. Bytes [26...33]<br />
# Last-sample-time numerator: 8 byte signed integer representing the end time of the last sample in the track. Bytes [34...41]<br />
# 'n' key points, starting with the first keypoint at byte 42. Each keypoint contains, in the following order:<br />
## the keyframe's page's byte offset delta, as a variable byte encoded integer. This is the number of bytes that this keypoint is after the preceeding keypoint's offset, or from the start of the segment if this is the first keypoint. The keypoint's page start is therefore the sum of the byte-offset-deltas of all the keypoints which come before it.<br />
## the presentation time numerator delta, of the first key frame which starts on the page at the keypoint's offset, as a variable byte encoded integer. This is the difference from the previous keypoint's timestamp numerator. The keypoint's timestamp numerator is therefore the sum of all the timestamp numerator deltas up to and including the keypoint's. Divide the timestamp numerator sum by the timestamp denominator stored earlier in the index packet to determine the presentation time of the keyframe in seconds.<br />
<br />
The key points are stored in increasing order by offset (and thus by presentation time as well).<br />
<br />
The byte offsets stored in keypoints are relative to the start of the Ogg bitstream segment. So if you have a physical Ogg bitstream made up of two chained Oggs, the offsets in the second Ogg segment's bitstream's index are relative to the beginning of the second Ogg in the chain, not the first. Also note that if a physical Ogg bitstream is made up of chained Oggs, the presence of an index in one segment does not imply that there will be an index in any other segment. <br />
<br />
The first-sample-time and last-sample-time are rational numbers, in units of seconds. If the denominator is 0 for the first-sample-time or the last-sample-time, then that value was unable to be determined at indexing time, and is unknown.<br />
<br />
The exact number of keyframes used to construct key points in the index is up to the indexer, but to limit the index size, we recommend including at most one key point per every 64KB of data, or every 1000ms, whichever is least frequent.<br />
<br />
=== Further restrictions === <br />
<br />
A further restriction on how to encapsulate Skeleton into Ogg is proposed to allow for easier parsing:<br />
* there can only be one Skeleton logical bitstream in a Ogg bitstream.<br />
* the Skeleton bos page is the very first bos page in the Ogg stream such that it can be identified straight away and decoders don't get confused about it being e.g. Ogg Vorbis without this meta information<br />
* the bos pages of all the other logical bistreams come next (a requirement of Ogg)<br />
* the secondary header pages of all logical bitstreams come next, including Skeleton's secondary header packets (the fisbone and index packets)<br />
* the Skeleton EOS packet appears by itself on the the last page of the Skeleton stream (the "EOS page").<br />
* the Skeleton EOS page ends the control section of the Ogg stream before any content pages of any of the other logical bitstreams appear.<br />
<br />
== Development ==<br />
<br />
Ogg Skeleton 4 is being supported by the following projects:<br />
* ffmpeg2theora (version 0.27 and above) <br />
* OggIndex: [http://firefogg.org/nightly/ binaries], [http://git.xiph.org/?p=OggIndex.git;a=summary source]<br />
* Mozilla Firefox 4<br />
<br />
The following projects currently support Ogg Skeleton 3, support for Ogg Skeleton 4 is planned:<br />
* speexenc (with --skeleton) & speexdec<br />
* the Ogg Directshow filters: see [http://www.illiminable.com/ogg/ illiminable]<br />
* liboggz: [https://git.xiph.org/liboggz.git git]<br />
* the Annodex technology: (not available any more)<br />
* [http://www.kfish.org/software/hogg/ HOgg] (Haskell)<br />
* many more ...<br />
<br />
== External links ==<br />
<br />
* Ogg Skeleton is described in more detail in the [http://svn.annodex.net/standards/draft-pfeiffer-oggskeleton-current.txt Skeleton I-D in svn]<br />
* Ogg Skeleton was originally specified in Annodex v3: [http://svn.annodex.net/standards/ I-D in svn] or [http://annodex.net/specifications.html I-D]<br />
<br />
<br />
[[Category:Ogg]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=GST_cookbook&diff=16322GST cookbook2016-04-09T17:17:24Z<p>Martin.leese: /* Two v4l2 sources combined side-by-side into rectangular video + ALSA -> Ogg Theora -> IceCast */ IceCast => Icecast</p>
<hr />
<div>[http://gstreamer.freedesktop.org/ GStreamer] is a powerful multimedia infrastructure for applications—providing a number of programming language constructs and bindings—but also provides easy-to-use rapid prototyping tools to test new multimedia pipelines. Additionally, Gstreamer usually has good support for Xiph-related formats.<br />
<br />
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point. This page is a collection of gst-launch pipelines that can be used on an as-needed basis. [http://gentrans.sourceforge.net/ GEntrans] is a command-line tool helpful in visualizing queue states (i.e., static/under/overfilled), dynamically, for a given gst-launch pipeline. Queues can have a large impact on "even" pipeline performance, for example in avoiding intermittent frame pauses as the pipeline blocks on some other operation.<br />
<br />
Texas Instruments offers a [http://processors.wiki.ti.com/index.php/Example_GStreamer_Pipelines list of example pipelines] for TI mobile devices.<br />
<br />
Hold down the 'control' key in combination with BASH cursor-left (left arrow) or cursor-right (right arrow) to quickly edit the commands listed here. Note that GStreamer 0.10 (gst-launch-'''0.10''') has been deprecated for several years and that use of the newer 1.x series (gst-launch-'''1.0''') is strongly recommended.<br />
<br />
__TOC__<br />
<br />
<center><br />
<div style="background-color: #ffffff; border: 1px solid #000000; color: black; font-weight: bold; margin: 2em 0 1em; padding: .5em 1em; vertical-align: middle;">Note that some examples are "high-performance" pipelines which require purpose-built systems.<br>[https://gitorious.org/openvideo_reference_build 'Open Video' Reference Build Script]</div> </center><br />
<br />
<br />
===Encode a .wav to Vorbis:===<br />
*gst-launch-0.10 filesrc location="INPUT.wav" ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location="OUTPUT.ogg"<br />
<br />
===Dump a Theora video to PNGs:===<br />
*gst-launch-0.10 filesrc location="INPUT.ogv" ! oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location="OUTPUT%04d.png"<br />
<br />
===Generate Ogg Vorbis audio from MP4 video (+progress monitoring)===<br />
gst-launch-1.0 filesrc location=original.mp4 ! queue max-size-time=0 max-size-bytes=100000000 ! qtdemux name=demux ! progressreport update-freq=5 demux.audio_0 ! queue ! decodebin ! queue ! audioconvert ! queue ! vorbisenc ! queue ! oggmux ! queue ! filesink location=vorbis-audio.oga<br />
<br />
===Transmux a MKV (containing vorbis and theora) to Ogg:===<br />
*gst-launch-0.10 filesrc location="INPUT.mkv" ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location="OUTPUT.ogv" d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.<br />
<br />
===Encode a y4m to lossless Dirac in Ogg:===<br />
*gst-launch-0.10 filesrc location="INPUT.y4m" ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location="OUTPUT.ogv"<br />
<br />
===Pull from a windows media stream, transcode to Ogg/Theora+Vorbis and send to an Icecast server:===<br />
(may require purchasing Fluendo plugins for decoding the encumbered codecs)<br />
*gst-launch-0.10 uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.<br />
<br />
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===<br />
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.<br />
<br />
===A v4l2 source + ALSA source -> Dual Ogg Theora + Ogg Vorbis Streams -> Icecast ===<br />
*dov4l -i [0|1] -m NTSC<br />
*gst-launch-0.10 --eos-on-shutdown v4l2src device=/dev/video0 ! queue max-size-bytes=100000000 max-size-time=0 ! deinterlace mode=interlaced ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv,width=360,height=240,pixel-aspect-ratio=1/1 ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:0,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! queue max-size-bytes=100000000 max-size-time=0 ! audioamplify amplification=[1-6 or so] ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=vorbisaudio ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=server.com port=[80|8000] password=hackme mount=/mountpoint.ogv vorbisaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=server.com port=[80|8000] password=hackme mount=/mountpoint.oga<br />
<br />
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples. FireWire and SDI-based capture does not have these limitations.<br />
<br />
===Two v4l2 sources combined side-by-side into rectangular video + ALSA -> Ogg Theora -> Icecast===<br />
*mplayer tv:// -tv device=/dev/video0:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null<br />
*mplayer tv:// -tv device=/dev/video1:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null<br />
*gst-launch-0.10 --eos-on-shutdown v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com password=hackme mount=/mountpoint.ogv v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=5/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videobox border-alpha=0 fill=green left=-320 ! mix.<br />
<br />
===Create a video with an alpha channel from a sequence of PNG files===<br />
*gst-launch-0.10 multifilesrc location=images%05d.png caps="image/png,framerate=1/1,pixel-aspect-ratio=1/1" num-buffers=95 ! pngdec ! videorate ! alphacolor ! "video/x-raw-yuv,format=(fourcc)AYUV" ! matroskamux ! filesink location=images_raw.mkv<br />
<br />
===Capture from a 1280x800 (1680x1050) GNOME Desktop -> Ogg Theora -> Icecast===<br />
gst-launch-1.0 --eos-on-shutdown ximagesrc ! capsfilter caps=video/x-raw,framerate=4/1,width=1280,height=800 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw, width=1056, height=660 ! queue max-size-bytes=100000000 max-size-time=0 ! videoconvert ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 keyframe-auto=false keyframe-force=12 keyframe-freq=12 speed-level=1 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv<br />
<br />
===Capture from a 1680x1050 GNOME Desktop, Combine with Desktop Audio (Pulse) -> Ogg Theora + Vorbis -> Icecast===<br />
*gst-launch-1.0 --eos-on-shutdown ximagesrc use-damage=false ! capsfilter caps=video/x-raw,framerate=4/1,width=1680,height=1050 ! queue max-size-bytes=100000000 max-size-time=0 ! videoconvert ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=350 keyframe-auto=false keyframe-force=12 keyframe-freq=12 speed-level=1 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux pulsesrc device=alsa_output.pci-0000_00_1b.0.analog-stereo.monitor ! queue max-size-bytes=100000000 ! audioconvert ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv<br />
<br />
*The pulseaudio/pulsesrc device may need to be changed depending on the machine: run 'pactl list short sources | cut -f2' to see options<br />
*Viewers will need better-than-average internet connectivity (around 1.2Mbits/sec)<br />
<br />
===Live-stream a high-resolution Mac OSX Desktop at 1 FPS===<br />
*Tested on Version 10.6.8, newer releases not compatible with [https://github.com/davibe/osximagesrc osximagesrc]<br />
<br />
gst-launch-0.10 --eos-on-shutdown osximagesrc ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! videoscale method=4-tap ! video/x-raw-yuv, width=960, height=600 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=360 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=host.com password=hackme mount=/mountpoint.ogv<br />
<br />
If the screen resolution is set to mirrored 1024x640 (?), start the following ''then'' plug in the video display cable:<br />
*gst-launch-0.10 --eos-on-shutdown osximagesrc ! queue max-size-time=0 max-size-bytes=100000000 ! ffmpegcolorspace ! queue max-size-time=0 max-size-bytes=100000000 ! videocrop right=256 top=32 ! queue max-size-time=0 max-size-bytes=100000000 ! videoscale ! video/x-raw-yuv, width=658, height=486 ! queue max-size-time=0 max-size-bytes=100000000 ! theoraenc bitrate=300 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-time=0 max-size-bytes=100000000 ! oggmux ! queue max-size-time=0 max-size-bytes=100000000 ! shout2send ip=host.com port=8000 password=hackme mount=/mountpoint.ogv<br />
<br />
*Streamed Keynote talks will stream the Presenter's View -- no switching between display mirrors<br />
*Full-screen Flash video doesn't stream, but doesn't halt the pipeline<br />
<br />
===Live-stream an Elphel 353L camera, combine with on-laptop audio capture, save a high-res copy to disk, and view live audio+video on-screen===<br />
*Tested on an 2.4GHz Core i3 running at ≥2.0GHz. Both CPU cores should be at ~50% continuously-smooth utilization after the first ~15 seconds; battery-only power or overheating may throttle the CPU leading to dropped frames.<br />
*Set the camera to 2592x1120 @ 18FPS. Adjust camera controls to ensure the camera achieves this framerate.<br />
*Kill/renice any resource-competitive applications (file indexing services, Firefox, Audacity, etc.)<br />
*qjackctl & → Start JACK in realtime priority<br />
<br /><br />
*gst-launch-1.0 -e rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec max-errors=-1 ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=halfres ! queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux jackaudiosrc connect=1 client-name="GStreamer Input" ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=jackaudio ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=vorbisaudio ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%s`.mkv sync=false halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw,width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=500 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=livestream vorbisaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! livestream. livestream. ! queue max-size-bytes=0 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv halfres. ! videoscale add-borders=true ! queue max-size-bytes=100000000 max-size-time=0 ! videoconvert ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! queue max-size-bytes=100000000 max-size-time=0 ! alsasink<br />
<br /><br />
*Expect a ~50GB recording for 8hrs. of recording depending on image complexity. The Matroska recording may be viewed directly in VLC (≥2.0 recommended) and may be transcoded to commonly-used formats ''via'' [http://www.mirovideoconverter.com/ Miro Video Converter] or [http://firefogg.org/ Firefogg].<br />
:Alternatively: ffmpeg -i elphel_recording.mkv -acodec libfaac -ab 128k -pass 1 -vcodec libx264 -vpre slow -vpre main -b 8000k -threads 8 -f mp4 -y elphel_recording.mp4 <br />
<br />
====Same as above, but simultaneously broadcast in H.264 ====<br />
Tested with [http://www.rtmpd.com/ crtmpserver] (works) and [https://gitorious.org/moment-archive Moment Video Server] (in theory)<br />
<br />
For crtmpserver:<br />
*Remove a 'tags_written++' line from './gst/flv/gstflvmux.c' as per [https://bugzilla.gnome.org/show_bug.cgi?id=661624 Bug 661624]<br />
*crtmpserver.lua should be customized for the streaming application (a mostly undocumented step...)<br />
<br />
For Moment:<br />
*Remove 'pingTimerTick' 'from moment/rtmp_connection.cpp' to avoid stream resets<br />
<br />
For both:<br />
*Toggle 'byte-stream=[true|false]' and '[tcpclientsink|rtmpsink]' as necessary, possibly '[flvmux|mp4mux]' if needed.<br />
*Test stream availability with [http://dl.dropbox.com/u/2918563/flvplayback.swf this tool.]<br />
*Substitute 'videotestsrc is-live=true' for 'rtspsrc ... jpegdec' and 'audiotestsrc freq=432' for 'jackaudiosrc connect=1' for testing.<br />
*'rtmpsink' isn't yet(?) compatible with Akamai<br />
<br />
*gst-launch-0.10 -e rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=halfres ! queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mkvmux jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=jackaudio ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=vorbisaudio ! queue max-size-bytes=100000000 max-size-time=0 ! mkvmux. mkvmux. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=quarterres ! queue max-size-bytes=100000000 max-size-time=0 ! x264enc sliced-threads=true cabac=true intra-refresh=false quantizer=22 rc-lookahead=15 bitrate=600 tune=zerolatency byte-stream=false ! queue max-size-bytes=100000000 max-size-time=0 ! flvmux streamable=true name=flvmux jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! queue max-size-bytes=100000000 max-size-time=0 ! faac ! queue max-size-bytes=100000000 max-size-time=0 ! flvmux. flvmux. ! queue max-size-bytes=0 max-size-time=0 ! tcpclientsink host=127.0.0.1 port=6666 quarterres. ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=livestream jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! livestream. livestream. ! queue max-size-bytes=0 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false<br />
<br />
===<div id=ElphelJP46>Live-stream an Elphel 353L camera set at 'FullHD' JP46, combine with realtime audio, save a high-res copy to disk, and monitor live audio+video on-screen</div>===<br />
*[https://media.xiph.org/jp46_cookbook/ Video samples]<br />
*Setup a high-performance system: tested on Gigabyte GA-MA785GMT-UD2H + (non-overclocked) Phenom II X4 [[GST_cookbook/gNewSense|built using gNewSense.]] CPU utilization approaches 100%, continuously, across all four 3.2GHz cores.<br />
*Set the camera to 1920x1088, JPEG Image Quality @ 90%, JP46 color mode<br />
In separate tabs:<br />
*jackd -R -d alsa -C -d hw:2 -r 48000 -i 1<br />
*gst-launch-0.10 -e rtspsrc location=rtsp://192.168.1.50:554 protocols=0x00000001 latency=100 ! rtpjpegdepay ! queue max-size-bytes=1000000000 max-size-time=0 ! videorate force-fps=18 ! queue max-size-bytes=1000000000 max-size-time=0 ! jpegdec max-errors=-1 idct-method=2 ! queue max-size-bytes=1000000000 max-size-time=0 ! jp462bayer threads=4 ! "video/x-raw-bayer, width=(int)1920, height=(int)1088, format=(string)grbg" ! queue max-size-bytes=1000000000 max-size-time=0 ! bayer2rgb2 method=0 ! queue max-size-bytes=1000000000 max-size-time=0 ! ffmpegcolorspace ! "video/x-raw-yuv, format=(fourcc)I420" ! queue max-size-bytes=1000000000 max-size-time=0 ! videobalance saturation=1.9 ! queue max-size-bytes=1000000000 max-size-time=0 ! tee name=fullHD ! queue max-size-bytes=100000000 max-size-time=0 ! jpegenc idct-method=2 ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux jackaudiosrc connect=1 ! queue max-size-time=0 ! audio/x-raw-float,channels=1 ! queue max-size-time=0 ! tee name=jackaudio ! queue max-size-time=0 ! vorbisenc max-bitrate=80000 ! queue max-size-time=0 ! tee name=vorbisaudio ! queue max-size-time=0 ! mux. mux. ! queue max-size-bytes=1000000000 max-size-time=0 ! filesink location=elphel_recording_`date +%s`.mkv sync=false fullHD. ! queue max-size-bytes=1000000000 max-size-time=0 ! videoscale ! "video/x-raw-yuv, width=640, height=363, aspect-ratio=(fraction)1/1" ! queue max-size-bytes=1000000000 max-size-time=0 ! tee name=downsample ! queue max-size-bytes=1000000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=1000000000 max-size-time=0 ! ximagesink pixel-aspect-ratio=1/1 sync=false downsample. ! queue max-size-bytes=100000000 max-size-time=0 ! queue max-size-bytes=1000000000 max-size-time=0 ! theoraenc bitrate=550 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=livestream vorbisaudio. ! queue max-size-time=0 ! livestream. livestream. ! queue max-size-bytes=0 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv jackaudio. ! queue max-size-time=0 ! audioconvert ! queue max-size-time=0 ! alsasink<br />
<br />
===Select an Elphel 353L camera as the video source, widescreen, as a video4linux loopback device / webcam (Linux-only)===<br />
*Requires the [https://github.com/umlaeute/v4l2loopback v4l2loopback kernel module] loaded (w/o parameters). Note an unresolved [https://github.com/umlaeute/v4l2loopback/issues/60 v4l2loopback bug] will generate GStreamer "Internal data flow error" pipeline failures; the finial 'tee' element is a workaround for this issue.<br />
*Set the camera to 2592x1120 @ 18FPS. Adjust camera controls to ensure the camera achieves this framerate.<br />
*gst-launch-1.0 -e rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! "video/x-raw,framerate=(fraction)30/1" ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! "video/x-raw,width=640,height=480" ! queue max-size-bytes=100000000 max-size-time=0 ! videoconvert ! "video/x-raw,format=(string)YUY2,pixel-aspect-ratio=(fraction)1/1" ! tee ! queue max-size-bytes=100000000 max-size-time=0 ! v4l2sink device=/dev/video0<br />
*Launch pipeline above then run video-conferencing software (e.g., Firefox Hello, Skype, Google[+] Hangouts)<br />
*Synchronized audio ''via'' the v4l2 API is untested -- select an ALSA audio source as appropriate.<br />
*It may be helpful to re-nice video processes to '-15'.<br />
<br />
===Debayer + convert to RGB a single JP46 frame using Elphel 353L===<br />
*Use the following to extracting the highest-quality image possible (save JP4):<br />
*Set the Elphel camera to operate in JP46 mode using full-frame imaging (''i.e.'', 2592x1936)<br />
*"Shift+Click" on the "view image" icon in the Elphel Camera Control Interface to save an image still<br />
*gst-launch-0.10 filesrc location="/path/to/elphelimg_nnnnnnn.jp46" ! queue max-size-bytes=1000000000 ! jpegdec idct-method=2 ! queue max-size-bytes=1000000000 ! jp462bayer ! "video/x-raw-bayer, width=(int)2592, height=(int)1936, format=(string)grbg" ! queue max-size-bytes=1000000000 ! bayer2rgb2 method=4 ! queue max-size-bytes=1000000000 ! pngenc compression-level=9 ! queue max-size-bytes=1000000000 ! filesink location="/path/to/outputimage.png"<br />
*Open with GIMP<br />
<br />
===Extract a series of individual JPEGs from Matroska+M-JPEG video into a folder and monitor progress in "fast forward" mode===<br />
*GST_DEBUG=GST_BUS:5 gst-launch-1.0 filesrc location=recording.mkv ! queue ! matroskademux ! queue ! videorate ! image/jpeg,framerate=1/5 ! queue ! tee name=split ! jpegdec ! queue ! videoconvert ! queue ! xvimagesink sync=false split. ! multifilesink post-messages=true location="image_%04d.jpg" sync=false &>gst-bus-debug.log<br />
*Remove any colons in input filenames to avoid BASH interpretation issues<br />
*Change the framerate to control the time interval between image stills and number of produced stills. "1/5" translates to "one image per five seconds of video."<br />
<br /><br />
*To add EXIF timestamps to individual JPGs:<br />
*cat gst-bus-debug.log | grep timestamp | grep dispatch | sed -e s/^.*filename[=].string.//g -e s/..stream.time.*//g -e s/[,].*\)/=/g -e s/000000000//g >timestamps.log<br />
*[TODO: create a BASH script or similar for the next step]<br />
*exiftool -DateTimeOriginal="`date -d @start-of-recording_unixtimestamp+offset-for-this-image-from-log-file --rfc-3339=seconds`" -overwrite_original *.jpg<br />
<br />
====Extract video clips using specified timecodes====<br />
*mkvmerge --split parts:hh:mm:ss-hh:mm:ss -o clip.mkv recording.mkv<br />
*Requires recent builds of MKVToolNix<br />
*With short-duration time codes, extract ''all'' frames from the generated clip using the above GST pipeline for "frame-by-frame" still selection<br />
*Also generally helpful to split long recordings into manageable sections for further editing<br />
<br />
====Run color-correction on the extracted JPEGs with G'MIC====<br />
*for i in *jpg; do mv $i tmp.jpg ; gmic tmp.jpg --apply_curve 0,1,1,10,1,116,172,183,204,255,255 -o[1] $i,90; done<br />
<br /><br />
*for i in *jpg; do mv $i tmp.jpg ; gmic tmp.jpg --balance_gamma 68,68,68 -o[1] $i,90; done<br />
*The specified reference color must be in RGB, not hexadecimal. Use the gimp-gmic plugin to interactively find values that work well for your particular photoset.<br />
<br />
===Add EXIF Metadata to generated image stills===<br />
*This command will ''replace'' images in a directory with the same image, metadata included - be sure to have backup copies.<br />
*"-flash#=0x0020" indicates that the camera has no flash capability.<br />
*Generally compatible with [http://mediagoblin.org/ MediaGoblin]<br />
*exiftool -Author='Your name' -Copyright='copyright license + URL' -make='Elphel Inc.' -model='Elphel NC353L-12V' -Xresolution=72 -Yresolution=72 -resolutionunit=inches -flash#=0x0020 -DateTimeOriginal='2012:05:04 10:00:00-5' -exposuremode='Manual' -FNumber='1.4' -UserComment='Lens or adapter used, or other notes' -GPSLatitude=42.36160 -GPSLatitudeRef=N -GPSLongitude=71.09064 -GPSLongitudeRef=W -overwrite_original *.jpg<br />
<br />
===[https://github.com/timvideos/HDMI2USB HDMI2USB] (timvideos.us) capture with ALSA audio input===<br />
*The board produces 15FPS at JPEG quality 85, resulting in a large recording file size.<br />
*a/v sync is not yet addressed<br />
*gst-launch-1.0 -e v4l2src device=/dev/video1 ! image/jpeg,width=1280,height=720 ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux alsasrc device=hw:CARD=CODEC latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=test4.mkv<br />
<br />
===Mix Three Video Sources Side-by-Side-by-Side===<br />
*May be sensitive to internal element-construction race conditions using gst-launch -- this is a proof-of-concept template for programming applications.<br />
*gst-launch-1.0 --eos-on-shutdown videotestsrc pattern=6 is-live=true ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw,width=320,height=240 ! queue max-size-bytes=100000000 max-size-time=0 ! clockoverlay halignment=1 valignment=1 shaded-background=true font-desc="Sans Bold 80" ypad=80 ! queue max-size-bytes=100000000 max-size-time=0 ! videobox border-alpha=0 fill=green left=-320 ! queue max-size-bytes=100000000 max-size-time=0 ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=trivideo ! queue max-size-bytes=100000000 max-size-time=0 ! ximagesink sync=false videotestsrc pattern=22 ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw,width=320,height=240 ! queue max-size-bytes=100000000 max-size-time=0 ! mix. videotestsrc is-live=true ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw,width=320,height=240 ! queue max-size-bytes=100000000 max-size-time=0 ! videobox border-alpha=0 fill=blue left=-640 ! queue max-size-bytes=100000000 max-size-time=0 ! mix.</div>Martin.leesehttps://wiki.xiph.org/index.php?title=GST_cookbook&diff=16321GST cookbook2016-04-09T17:14:22Z<p>Martin.leese: /* Pull from a windows media stream, transcode to Ogg/Theora+Vorbis and send to a Icecast server: */ a => an</p>
<hr />
<div>[http://gstreamer.freedesktop.org/ GStreamer] is a powerful multimedia infrastructure for applications—providing a number of programming language constructs and bindings—but also provides easy-to-use rapid prototyping tools to test new multimedia pipelines. Additionally, Gstreamer usually has good support for Xiph-related formats.<br />
<br />
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point. This page is a collection of gst-launch pipelines that can be used on an as-needed basis. [http://gentrans.sourceforge.net/ GEntrans] is a command-line tool helpful in visualizing queue states (i.e., static/under/overfilled), dynamically, for a given gst-launch pipeline. Queues can have a large impact on "even" pipeline performance, for example in avoiding intermittent frame pauses as the pipeline blocks on some other operation.<br />
<br />
Texas Instruments offers a [http://processors.wiki.ti.com/index.php/Example_GStreamer_Pipelines list of example pipelines] for TI mobile devices.<br />
<br />
Hold down the 'control' key in combination with BASH cursor-left (left arrow) or cursor-right (right arrow) to quickly edit the commands listed here. Note that GStreamer 0.10 (gst-launch-'''0.10''') has been deprecated for several years and that use of the newer 1.x series (gst-launch-'''1.0''') is strongly recommended.<br />
<br />
__TOC__<br />
<br />
<center><br />
<div style="background-color: #ffffff; border: 1px solid #000000; color: black; font-weight: bold; margin: 2em 0 1em; padding: .5em 1em; vertical-align: middle;">Note that some examples are "high-performance" pipelines which require purpose-built systems.<br>[https://gitorious.org/openvideo_reference_build 'Open Video' Reference Build Script]</div> </center><br />
<br />
<br />
===Encode a .wav to Vorbis:===<br />
*gst-launch-0.10 filesrc location="INPUT.wav" ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location="OUTPUT.ogg"<br />
<br />
===Dump a Theora video to PNGs:===<br />
*gst-launch-0.10 filesrc location="INPUT.ogv" ! oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location="OUTPUT%04d.png"<br />
<br />
===Generate Ogg Vorbis audio from MP4 video (+progress monitoring)===<br />
gst-launch-1.0 filesrc location=original.mp4 ! queue max-size-time=0 max-size-bytes=100000000 ! qtdemux name=demux ! progressreport update-freq=5 demux.audio_0 ! queue ! decodebin ! queue ! audioconvert ! queue ! vorbisenc ! queue ! oggmux ! queue ! filesink location=vorbis-audio.oga<br />
<br />
===Transmux a MKV (containing vorbis and theora) to Ogg:===<br />
*gst-launch-0.10 filesrc location="INPUT.mkv" ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location="OUTPUT.ogv" d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.<br />
<br />
===Encode a y4m to lossless Dirac in Ogg:===<br />
*gst-launch-0.10 filesrc location="INPUT.y4m" ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location="OUTPUT.ogv"<br />
<br />
===Pull from a windows media stream, transcode to Ogg/Theora+Vorbis and send to an Icecast server:===<br />
(may require purchasing Fluendo plugins for decoding the encumbered codecs)<br />
*gst-launch-0.10 uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.<br />
<br />
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===<br />
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.<br />
<br />
===A v4l2 source + ALSA source -> Dual Ogg Theora + Ogg Vorbis Streams -> Icecast ===<br />
*dov4l -i [0|1] -m NTSC<br />
*gst-launch-0.10 --eos-on-shutdown v4l2src device=/dev/video0 ! queue max-size-bytes=100000000 max-size-time=0 ! deinterlace mode=interlaced ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv,width=360,height=240,pixel-aspect-ratio=1/1 ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:0,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! queue max-size-bytes=100000000 max-size-time=0 ! audioamplify amplification=[1-6 or so] ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=vorbisaudio ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=server.com port=[80|8000] password=hackme mount=/mountpoint.ogv vorbisaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=server.com port=[80|8000] password=hackme mount=/mountpoint.oga<br />
<br />
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples. FireWire and SDI-based capture does not have these limitations.<br />
<br />
===Two v4l2 sources combined side-by-side into rectangular video + ALSA -> Ogg Theora -> IceCast===<br />
*mplayer tv:// -tv device=/dev/video0:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null<br />
*mplayer tv:// -tv device=/dev/video1:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null<br />
*gst-launch-0.10 --eos-on-shutdown v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com password=hackme mount=/mountpoint.ogv v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=5/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videobox border-alpha=0 fill=green left=-320 ! mix.<br />
<br />
===Create a video with an alpha channel from a sequence of PNG files===<br />
*gst-launch-0.10 multifilesrc location=images%05d.png caps="image/png,framerate=1/1,pixel-aspect-ratio=1/1" num-buffers=95 ! pngdec ! videorate ! alphacolor ! "video/x-raw-yuv,format=(fourcc)AYUV" ! matroskamux ! filesink location=images_raw.mkv<br />
<br />
===Capture from a 1280x800 (1680x1050) GNOME Desktop -> Ogg Theora -> Icecast===<br />
gst-launch-1.0 --eos-on-shutdown ximagesrc ! capsfilter caps=video/x-raw,framerate=4/1,width=1280,height=800 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw, width=1056, height=660 ! queue max-size-bytes=100000000 max-size-time=0 ! videoconvert ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 keyframe-auto=false keyframe-force=12 keyframe-freq=12 speed-level=1 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv<br />
<br />
===Capture from a 1680x1050 GNOME Desktop, Combine with Desktop Audio (Pulse) -> Ogg Theora + Vorbis -> Icecast===<br />
*gst-launch-1.0 --eos-on-shutdown ximagesrc use-damage=false ! capsfilter caps=video/x-raw,framerate=4/1,width=1680,height=1050 ! queue max-size-bytes=100000000 max-size-time=0 ! videoconvert ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=350 keyframe-auto=false keyframe-force=12 keyframe-freq=12 speed-level=1 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux pulsesrc device=alsa_output.pci-0000_00_1b.0.analog-stereo.monitor ! queue max-size-bytes=100000000 ! audioconvert ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv<br />
<br />
*The pulseaudio/pulsesrc device may need to be changed depending on the machine: run 'pactl list short sources | cut -f2' to see options<br />
*Viewers will need better-than-average internet connectivity (around 1.2Mbits/sec)<br />
<br />
===Live-stream a high-resolution Mac OSX Desktop at 1 FPS===<br />
*Tested on Version 10.6.8, newer releases not compatible with [https://github.com/davibe/osximagesrc osximagesrc]<br />
<br />
gst-launch-0.10 --eos-on-shutdown osximagesrc ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! videoscale method=4-tap ! video/x-raw-yuv, width=960, height=600 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=360 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=host.com password=hackme mount=/mountpoint.ogv<br />
<br />
If the screen resolution is set to mirrored 1024x640 (?), start the following ''then'' plug in the video display cable:<br />
*gst-launch-0.10 --eos-on-shutdown osximagesrc ! queue max-size-time=0 max-size-bytes=100000000 ! ffmpegcolorspace ! queue max-size-time=0 max-size-bytes=100000000 ! videocrop right=256 top=32 ! queue max-size-time=0 max-size-bytes=100000000 ! videoscale ! video/x-raw-yuv, width=658, height=486 ! queue max-size-time=0 max-size-bytes=100000000 ! theoraenc bitrate=300 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-time=0 max-size-bytes=100000000 ! oggmux ! queue max-size-time=0 max-size-bytes=100000000 ! shout2send ip=host.com port=8000 password=hackme mount=/mountpoint.ogv<br />
<br />
*Streamed Keynote talks will stream the Presenter's View -- no switching between display mirrors<br />
*Full-screen Flash video doesn't stream, but doesn't halt the pipeline<br />
<br />
===Live-stream an Elphel 353L camera, combine with on-laptop audio capture, save a high-res copy to disk, and view live audio+video on-screen===<br />
*Tested on an 2.4GHz Core i3 running at ≥2.0GHz. Both CPU cores should be at ~50% continuously-smooth utilization after the first ~15 seconds; battery-only power or overheating may throttle the CPU leading to dropped frames.<br />
*Set the camera to 2592x1120 @ 18FPS. Adjust camera controls to ensure the camera achieves this framerate.<br />
*Kill/renice any resource-competitive applications (file indexing services, Firefox, Audacity, etc.)<br />
*qjackctl & → Start JACK in realtime priority<br />
<br /><br />
*gst-launch-1.0 -e rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec max-errors=-1 ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=halfres ! queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux jackaudiosrc connect=1 client-name="GStreamer Input" ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=jackaudio ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=vorbisaudio ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%s`.mkv sync=false halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw,width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=500 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=livestream vorbisaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! livestream. livestream. ! queue max-size-bytes=0 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv halfres. ! videoscale add-borders=true ! queue max-size-bytes=100000000 max-size-time=0 ! videoconvert ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! queue max-size-bytes=100000000 max-size-time=0 ! alsasink<br />
<br /><br />
*Expect a ~50GB recording for 8hrs. of recording depending on image complexity. The Matroska recording may be viewed directly in VLC (≥2.0 recommended) and may be transcoded to commonly-used formats ''via'' [http://www.mirovideoconverter.com/ Miro Video Converter] or [http://firefogg.org/ Firefogg].<br />
:Alternatively: ffmpeg -i elphel_recording.mkv -acodec libfaac -ab 128k -pass 1 -vcodec libx264 -vpre slow -vpre main -b 8000k -threads 8 -f mp4 -y elphel_recording.mp4 <br />
<br />
====Same as above, but simultaneously broadcast in H.264 ====<br />
Tested with [http://www.rtmpd.com/ crtmpserver] (works) and [https://gitorious.org/moment-archive Moment Video Server] (in theory)<br />
<br />
For crtmpserver:<br />
*Remove a 'tags_written++' line from './gst/flv/gstflvmux.c' as per [https://bugzilla.gnome.org/show_bug.cgi?id=661624 Bug 661624]<br />
*crtmpserver.lua should be customized for the streaming application (a mostly undocumented step...)<br />
<br />
For Moment:<br />
*Remove 'pingTimerTick' 'from moment/rtmp_connection.cpp' to avoid stream resets<br />
<br />
For both:<br />
*Toggle 'byte-stream=[true|false]' and '[tcpclientsink|rtmpsink]' as necessary, possibly '[flvmux|mp4mux]' if needed.<br />
*Test stream availability with [http://dl.dropbox.com/u/2918563/flvplayback.swf this tool.]<br />
*Substitute 'videotestsrc is-live=true' for 'rtspsrc ... jpegdec' and 'audiotestsrc freq=432' for 'jackaudiosrc connect=1' for testing.<br />
*'rtmpsink' isn't yet(?) compatible with Akamai<br />
<br />
*gst-launch-0.10 -e rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=halfres ! queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mkvmux jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=jackaudio ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=vorbisaudio ! queue max-size-bytes=100000000 max-size-time=0 ! mkvmux. mkvmux. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=quarterres ! queue max-size-bytes=100000000 max-size-time=0 ! x264enc sliced-threads=true cabac=true intra-refresh=false quantizer=22 rc-lookahead=15 bitrate=600 tune=zerolatency byte-stream=false ! queue max-size-bytes=100000000 max-size-time=0 ! flvmux streamable=true name=flvmux jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! queue max-size-bytes=100000000 max-size-time=0 ! faac ! queue max-size-bytes=100000000 max-size-time=0 ! flvmux. flvmux. ! queue max-size-bytes=0 max-size-time=0 ! tcpclientsink host=127.0.0.1 port=6666 quarterres. ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=livestream jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! livestream. livestream. ! queue max-size-bytes=0 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false<br />
<br />
===<div id=ElphelJP46>Live-stream an Elphel 353L camera set at 'FullHD' JP46, combine with realtime audio, save a high-res copy to disk, and monitor live audio+video on-screen</div>===<br />
*[https://media.xiph.org/jp46_cookbook/ Video samples]<br />
*Setup a high-performance system: tested on Gigabyte GA-MA785GMT-UD2H + (non-overclocked) Phenom II X4 [[GST_cookbook/gNewSense|built using gNewSense.]] CPU utilization approaches 100%, continuously, across all four 3.2GHz cores.<br />
*Set the camera to 1920x1088, JPEG Image Quality @ 90%, JP46 color mode<br />
In separate tabs:<br />
*jackd -R -d alsa -C -d hw:2 -r 48000 -i 1<br />
*gst-launch-0.10 -e rtspsrc location=rtsp://192.168.1.50:554 protocols=0x00000001 latency=100 ! rtpjpegdepay ! queue max-size-bytes=1000000000 max-size-time=0 ! videorate force-fps=18 ! queue max-size-bytes=1000000000 max-size-time=0 ! jpegdec max-errors=-1 idct-method=2 ! queue max-size-bytes=1000000000 max-size-time=0 ! jp462bayer threads=4 ! "video/x-raw-bayer, width=(int)1920, height=(int)1088, format=(string)grbg" ! queue max-size-bytes=1000000000 max-size-time=0 ! bayer2rgb2 method=0 ! queue max-size-bytes=1000000000 max-size-time=0 ! ffmpegcolorspace ! "video/x-raw-yuv, format=(fourcc)I420" ! queue max-size-bytes=1000000000 max-size-time=0 ! videobalance saturation=1.9 ! queue max-size-bytes=1000000000 max-size-time=0 ! tee name=fullHD ! queue max-size-bytes=100000000 max-size-time=0 ! jpegenc idct-method=2 ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux jackaudiosrc connect=1 ! queue max-size-time=0 ! audio/x-raw-float,channels=1 ! queue max-size-time=0 ! tee name=jackaudio ! queue max-size-time=0 ! vorbisenc max-bitrate=80000 ! queue max-size-time=0 ! tee name=vorbisaudio ! queue max-size-time=0 ! mux. mux. ! queue max-size-bytes=1000000000 max-size-time=0 ! filesink location=elphel_recording_`date +%s`.mkv sync=false fullHD. ! queue max-size-bytes=1000000000 max-size-time=0 ! videoscale ! "video/x-raw-yuv, width=640, height=363, aspect-ratio=(fraction)1/1" ! queue max-size-bytes=1000000000 max-size-time=0 ! tee name=downsample ! queue max-size-bytes=1000000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=1000000000 max-size-time=0 ! ximagesink pixel-aspect-ratio=1/1 sync=false downsample. ! queue max-size-bytes=100000000 max-size-time=0 ! queue max-size-bytes=1000000000 max-size-time=0 ! theoraenc bitrate=550 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=livestream vorbisaudio. ! queue max-size-time=0 ! livestream. livestream. ! queue max-size-bytes=0 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv jackaudio. ! queue max-size-time=0 ! audioconvert ! queue max-size-time=0 ! alsasink<br />
<br />
===Select an Elphel 353L camera as the video source, widescreen, as a video4linux loopback device / webcam (Linux-only)===<br />
*Requires the [https://github.com/umlaeute/v4l2loopback v4l2loopback kernel module] loaded (w/o parameters). Note an unresolved [https://github.com/umlaeute/v4l2loopback/issues/60 v4l2loopback bug] will generate GStreamer "Internal data flow error" pipeline failures; the finial 'tee' element is a workaround for this issue.<br />
*Set the camera to 2592x1120 @ 18FPS. Adjust camera controls to ensure the camera achieves this framerate.<br />
*gst-launch-1.0 -e rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! "video/x-raw,framerate=(fraction)30/1" ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! "video/x-raw,width=640,height=480" ! queue max-size-bytes=100000000 max-size-time=0 ! videoconvert ! "video/x-raw,format=(string)YUY2,pixel-aspect-ratio=(fraction)1/1" ! tee ! queue max-size-bytes=100000000 max-size-time=0 ! v4l2sink device=/dev/video0<br />
*Launch pipeline above then run video-conferencing software (e.g., Firefox Hello, Skype, Google[+] Hangouts)<br />
*Synchronized audio ''via'' the v4l2 API is untested -- select an ALSA audio source as appropriate.<br />
*It may be helpful to re-nice video processes to '-15'.<br />
<br />
===Debayer + convert to RGB a single JP46 frame using Elphel 353L===<br />
*Use the following to extracting the highest-quality image possible (save JP4):<br />
*Set the Elphel camera to operate in JP46 mode using full-frame imaging (''i.e.'', 2592x1936)<br />
*"Shift+Click" on the "view image" icon in the Elphel Camera Control Interface to save an image still<br />
*gst-launch-0.10 filesrc location="/path/to/elphelimg_nnnnnnn.jp46" ! queue max-size-bytes=1000000000 ! jpegdec idct-method=2 ! queue max-size-bytes=1000000000 ! jp462bayer ! "video/x-raw-bayer, width=(int)2592, height=(int)1936, format=(string)grbg" ! queue max-size-bytes=1000000000 ! bayer2rgb2 method=4 ! queue max-size-bytes=1000000000 ! pngenc compression-level=9 ! queue max-size-bytes=1000000000 ! filesink location="/path/to/outputimage.png"<br />
*Open with GIMP<br />
<br />
===Extract a series of individual JPEGs from Matroska+M-JPEG video into a folder and monitor progress in "fast forward" mode===<br />
*GST_DEBUG=GST_BUS:5 gst-launch-1.0 filesrc location=recording.mkv ! queue ! matroskademux ! queue ! videorate ! image/jpeg,framerate=1/5 ! queue ! tee name=split ! jpegdec ! queue ! videoconvert ! queue ! xvimagesink sync=false split. ! multifilesink post-messages=true location="image_%04d.jpg" sync=false &>gst-bus-debug.log<br />
*Remove any colons in input filenames to avoid BASH interpretation issues<br />
*Change the framerate to control the time interval between image stills and number of produced stills. "1/5" translates to "one image per five seconds of video."<br />
<br /><br />
*To add EXIF timestamps to individual JPGs:<br />
*cat gst-bus-debug.log | grep timestamp | grep dispatch | sed -e s/^.*filename[=].string.//g -e s/..stream.time.*//g -e s/[,].*\)/=/g -e s/000000000//g >timestamps.log<br />
*[TODO: create a BASH script or similar for the next step]<br />
*exiftool -DateTimeOriginal="`date -d @start-of-recording_unixtimestamp+offset-for-this-image-from-log-file --rfc-3339=seconds`" -overwrite_original *.jpg<br />
<br />
====Extract video clips using specified timecodes====<br />
*mkvmerge --split parts:hh:mm:ss-hh:mm:ss -o clip.mkv recording.mkv<br />
*Requires recent builds of MKVToolNix<br />
*With short-duration time codes, extract ''all'' frames from the generated clip using the above GST pipeline for "frame-by-frame" still selection<br />
*Also generally helpful to split long recordings into manageable sections for further editing<br />
<br />
====Run color-correction on the extracted JPEGs with G'MIC====<br />
*for i in *jpg; do mv $i tmp.jpg ; gmic tmp.jpg --apply_curve 0,1,1,10,1,116,172,183,204,255,255 -o[1] $i,90; done<br />
<br /><br />
*for i in *jpg; do mv $i tmp.jpg ; gmic tmp.jpg --balance_gamma 68,68,68 -o[1] $i,90; done<br />
*The specified reference color must be in RGB, not hexadecimal. Use the gimp-gmic plugin to interactively find values that work well for your particular photoset.<br />
<br />
===Add EXIF Metadata to generated image stills===<br />
*This command will ''replace'' images in a directory with the same image, metadata included - be sure to have backup copies.<br />
*"-flash#=0x0020" indicates that the camera has no flash capability.<br />
*Generally compatible with [http://mediagoblin.org/ MediaGoblin]<br />
*exiftool -Author='Your name' -Copyright='copyright license + URL' -make='Elphel Inc.' -model='Elphel NC353L-12V' -Xresolution=72 -Yresolution=72 -resolutionunit=inches -flash#=0x0020 -DateTimeOriginal='2012:05:04 10:00:00-5' -exposuremode='Manual' -FNumber='1.4' -UserComment='Lens or adapter used, or other notes' -GPSLatitude=42.36160 -GPSLatitudeRef=N -GPSLongitude=71.09064 -GPSLongitudeRef=W -overwrite_original *.jpg<br />
<br />
===[https://github.com/timvideos/HDMI2USB HDMI2USB] (timvideos.us) capture with ALSA audio input===<br />
*The board produces 15FPS at JPEG quality 85, resulting in a large recording file size.<br />
*a/v sync is not yet addressed<br />
*gst-launch-1.0 -e v4l2src device=/dev/video1 ! image/jpeg,width=1280,height=720 ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux alsasrc device=hw:CARD=CODEC latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=test4.mkv<br />
<br />
===Mix Three Video Sources Side-by-Side-by-Side===<br />
*May be sensitive to internal element-construction race conditions using gst-launch -- this is a proof-of-concept template for programming applications.<br />
*gst-launch-1.0 --eos-on-shutdown videotestsrc pattern=6 is-live=true ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw,width=320,height=240 ! queue max-size-bytes=100000000 max-size-time=0 ! clockoverlay halignment=1 valignment=1 shaded-background=true font-desc="Sans Bold 80" ypad=80 ! queue max-size-bytes=100000000 max-size-time=0 ! videobox border-alpha=0 fill=green left=-320 ! queue max-size-bytes=100000000 max-size-time=0 ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=trivideo ! queue max-size-bytes=100000000 max-size-time=0 ! ximagesink sync=false videotestsrc pattern=22 ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw,width=320,height=240 ! queue max-size-bytes=100000000 max-size-time=0 ! mix. videotestsrc is-live=true ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw,width=320,height=240 ! queue max-size-bytes=100000000 max-size-time=0 ! videobox border-alpha=0 fill=blue left=-640 ! queue max-size-bytes=100000000 max-size-time=0 ! mix.</div>Martin.leesehttps://wiki.xiph.org/index.php?title=Translations&diff=16294Translations2016-02-19T19:25:59Z<p>Martin.leese: icecast => Icecast + tidy</p>
<hr />
<div>The Xiph.org projects are mainly in English. Some of these projects are used by many non-English speaking users. They will be happy to find some '''help''' in their own language.<br />
The main goal of this page is to answer those two questions:<br />
<br />
- how are we going to translate the docs?<br />
<br />
- how are the translated docs going to be integrated on the websites?<br />
<br />
== How are we going to translate the docs? ==<br />
<br />
* First a translation need some translators. The Xiph Foundation needs to call for help. Many users are ready to help but need a sign and a clear TODO list. Prior to translate all the docs, users can write some howtos in their mother language or a simple FAQ.<br />
<br />
The more simple it is, the more I love it.<br />
You're going to read the Icecast doc, you see a link "Won't you help us in translating or reviewing this doc?" this link takes you to a ''simple'' webpage with a mailform; you send a mail and that's it.<br />
This link can drive the users to a simple web form with some checkboxes: what would I translate, have I ever made some translation work, etc. Then the form sends a mail to a translation coordinator. The coordinator sends some parts of the docs to the users and when the docs is translated, it is merged into the main doc tree. At the beginning a new user can start in re-reading an already translated doc.<br />
<br />
== How are the translated docs going to be integrated on the websites? ==<br />
<br />
* a newly translated doc can only be integrated on a website by a coordinator or a webmaster. The coordinator needs to be informed by the webmaster in order to produce usable webpages. The coordinator has to produce some translation how-tos for the translators (some useful KDE translator stuff here).<br />
<br />
On a FTP point of view, that's quite simple:<br />
<br />
/docs<br><br />
/docs/index.php<br><br />
/docs/en/... -> all the doc in english<br><br />
/docs/fr/... -> all the doc in french<br><br />
/docs/de/... -> all the doc in german<br><br />
And so on.<br />
<br />
* Instead maybe we could use something like: <br />
<br />
/docs/index.php<br><br />
/docs/index.fr.php<br><br />
/docs/index.de.php<br />
<br />
There probably isn't any reason to use a .en as all of the official docs are in English anyway.<br />
<br />
The main index.php page lists the docs for every language.<br />
<br />
- if the doc is fully translated and reviewed, the doc is ok<br />
<br />
- if the doc needs to be re-read, a link, at the top of the page asks for some volunteers<br />
<br />
- if the doc needs to be translated, a link, at the top of the page asks for some volunteers.<br />
<br />
== How are we going to start? ==<br />
<br />
IMHO Icecast is the Xiph project having the biggest need in translation. I suggest that we begin with it.<br />
<br />
'''1''' - Modify the http://www.icecast.org/docs/ page.<br />
<br />
Quoting and editing : "''Here is an index to the Icecast documentation we know about. If there is something out there on the Web that you know about, but is not listed here, contact us."<br />
The icecast documentation is going to be available in many languages. Feel free to volunteer and give your help: click on your flag''<br />
<br />
'''2''' - Add a flag list.<br />
<br />
Each flag takes the user on its http://www.icecast.org/docs/ page. (This page needs a PHP file in order to simply list the docs.)<br />
<br />
'''3''' - Each doc links takes the user to a specific doc homepage with the call for help.<br />
<br />
'''4''' - Produce some translation guidelines.</div>Martin.leesehttps://wiki.xiph.org/index.php?title=Icebreaker::UserWantedFeatures&diff=16293Icebreaker::UserWantedFeatures2016-02-19T19:08:42Z<p>Martin.leese: /* Compatibility */ icecast => Icecast + tidy</p>
<hr />
<div>{{historical}}<br />
== List of features requested by Users ==<br />
<br />
=== GUI ===<br />
<br />
I think an interesting alternative for a GUI would be a XUL interface.<br />
I once saw a XUL interface for the Amarok music collection, and it was very neat.<br />
<br />
=== Compatibility ===<br />
<br />
I don't know a lot about the internals from Icecast and the like, but it would be really cool if it would be possible to use your software with StreamTranscoder. (Have a look at this: http://www.oddsock.org/tools/streamTranscoderV3/) I think it's important to be able to split up streams, f.ex. to offer users with a low bandwidth a resampled stream with a lower quality.<br />
<br />
Though, the problem is, if you want to be compatible you propably will have to abandon any direct interaction with the actual streaming server, and i don't know if that is in your interest.<br />
<br />
=== I/O ===<br />
<br />
- XSPF playlist output format by default<br />
- Amarok (http://amarok.kde.org) compatibility => XSPF as input format<br />
<br />
- generation of xml config file for Ices<br />
<br />
=== Scheduling ===<br />
<br />
- hourly news / logo / commercial support<br />
- scheduling differents playlists at different timeboxes (e.g. dub from 8-10, rock from 10-12, ...)<br />
<br />
[[Category:Icebreaker]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=VorbisRTP&diff=16292VorbisRTP2016-02-19T18:59:05Z<p>Martin.leese: /* Issues */ icecast => Icecast</p>
<hr />
<div>== Vorbis over RTP ==<br />
<br />
This page documents current consensus on the RTP payload format for Vorbis audio. This encapsulation is useful for interactive and multicast streaming.<br />
<br />
=== Standard ===<br />
<br />
In 2008, the Vorbis RTP specification was accepted by the IETF's Network Working Group as RFC 5215. It may be found at<br />
*[http://tools.ietf.org/rfc/rfc5215.txt rfc5215.txt]<br />
*[http://xiph.org/vorbis/doc/rfc5215.xml rfc5215.xml]<br />
<br />
=== Issues ===<br />
<br />
Basically, we pack Vorbis packets into RTP packets; that's been part of the draft for some time. The hard part is achieving reliable header transmission, since RTP is usually used in combination with a no-guaranteed-delivery networking mechanism. Equally important, in multicast the headers can't be prepended on connection the way Icecast does with HTTP streams.<br />
<br />
The current suggestion (due to Jack) is that we dispense with the chaining feature of Ogg streams, and only allow a single set of vorbis headers per RTP stream. Since RTP is most often used to stream live or at least individual events, this is not a serious limitation. Even in the "simulated live" case encoded files often have the same set of codebooks, and those that do not can be re-encoded on the fly.<br />
<br />
The only real drawback is the loss of a metadata update mechanism. This can be resolved either by using a completely separate metadata stream (which we've always wanted to do anyway) or by altering the spec to allow comment header packets to occur outside the headers. In the later case a recording application would need to insert chaining boundaries and duplicate headers at each metadata change. The former offers the client more control over the metadata stream bandwidth.<br />
<br />
=== Design ===<br />
<br />
* Vorbis packets get packed into RTP packets<br />
* Header parameters are fixed per stream, so they can be passed in the SDP<br />
* inline in the SDP?<br />
* HTTP reference or other protocol?<br />
* some kind of hash so clients can cache codebooks/parameters<br />
* inline in the RTP stream should also be allowed<br />
* Granulepos becomes timestamp (still in samples)<br />
<br />
=== Implementation ===<br />
<br />
Tor-Einar Jarnbjo has an [http://www.j-ogg.de/rtp/index.html example implementation] that extends the ideas in the kerr 03 draft a bit.<br />
<br />
[[Category:Vorbis]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=TheoraSoftwareEncoders&diff=16291TheoraSoftwareEncoders2016-02-19T18:57:06Z<p>Martin.leese: /* Linux/BSD */ icecast => Icecast</p>
<hr />
<div>== Multi-platform ==<br />
*[http://www.v2v.cc/~j/ffmpeg2theora/ ffmpeg2theora] a commandline encoder from any format read by ffmpeg to Theora/Vorbis: [http://svn.xiph.org/trunk/ffmpeg2theora/ svn], [http://www.v2v.cc/~j/ffmpeg2theora/download.html major releases], [http://firefogg.org/nightly/ very latest versions of ffmpeg2theora (also ptalarbvorm) and some more stuff], [http://jafile.com/uploads/dos386/ft017027.zi7 mirror package (all-in-one, includes older versions)]<br />
* [http://diracvideo.org/download/ffmpeg2dirac/ ffmpeg2dirac] - fork of ffmpeg2theora, can enode into OGG Dirac but also Theora (obsolete)<br />
*[http://www.videolan.org/ VLC Media Player] Can transcode from any source it supports into Ogg/Theora. WARNING: Apparently creates broken Ogg streams.<br />
*[http://gstreamer.freedesktop.org/ GStreamer] GStreamer is a library that allows the construction of graphs of media-handling components, ranging from simple Vorbis playback to complex audio (mixing) and video (non-linear editing) processing.<br />
*[http://sarava.org/theorur/ Theorur] is a GUI for Ogg/Theora streaming (Icecast2 system), written using gtk2.<br />
*[http://handbrake.fr Handbrake] is a GUI/CLI free software for ripping/encoding DVD/Files into various containers and formats including theora & vorbis since September 2008. <br />
*[http://firefogg.org/ firefogg] is a Firefox extension that encodes locally and uploads in chunks or when encoding finishes<br />
<br />
== Windows ==<br />
*[http://chaiware.org/about-me/commandline-wra/video-theora/ Video to Theora] Simple and clear video (any format) converter to Theora (serves as a frontend to ffmpeg2theora), Released at FEB 2013.<br />
*[http://sourceforge.net/apps/phpwebsite/theoraconverter/ Theora Converter .NET] Batch converts almost any video file to OGG (.ogv) Theora format. This application is a graphical user interface for ffmpeg2theora 0.27. A GUI that supports 2 pass video encoding with Theora 1.1.1 (Thusnelda). <br />
*[http://dir.visonair.tv/streamer.php Visonair.tv Ogg Streamer] A Windows application to stream directly from a webcam to an Icecast server.<br />
*[http://www.visonair.tv/ Visonair.tv Virtual Stage] Includes an application to encode to Theora, forces fixed size and encoding parameters though. Registration required.<br />
*[http://mediacoder.sourceforge.net/ MediaCoder] Application to encode media files into many target formats, including Theora.<br />
*[http://www.erightsoft.com/ SUPER] General purpose converter application, also serves as a frontend to ffmpeg2theora.<br />
*[http://teejee2008.wordpress.com/ffcoder/ FFCoder], general purpose converter<br />
*[http://en.wikipedia.org/wiki/Theora#Encoding The Wikipedia Theora Page] provides an up to date list of software that can encode Theora.<br />
*[http://www.xiph.org/dshow/Ogg DSF DirectShow Filters for Windows] allows playback and encoding of Ogg Theora/Vorbis in all Windows apps that use the DirectShow framework.<br />
<br />
== Linux/BSD ==<br />
*[http://thoggen.net/ Thoggen] is a DVD backup utility ('DVD ripper') for Linux, based on GStreamer and Gtk+.<br />
*[http://freej.org/ Freej] Freej is a realtime video mixer. It can stream Theora and Vorbis live to [http://icecast.org Icecast]. Check [http://lab.dyne.org/FreejStreaming here] for more info.<br />
* [http://oggconvert.tristanb.net/ OggConvert] is a small Gnome utility which uses GStreamer to convert (almost) any media file to Vorbis, Theora and Dirac.<br />
* [http://kde-apps.org/content/show.php/Frontend+for+ffmpeg2theora?content=45172 Frontend for ffmpeg2theora] is a KDE GUI for ffmpeg2theora.<br />
* [http://kde-apps.org/content/show.php?content=17831 Katiuska] is a KDE theora encoder GUI. It uses ffmpeg2theora, mencoder, the encoder_example that comes with the theora libs and a little gpl bash script.<br />
<br />
== Mac OS X ==<br />
*[http://xiph.org/quicktime XiphQT] allows you to export from Quicktime, or any application supporting Quicktime (i.e. Final Cut Pro), to Theora/Vorbis.<br />
*[http://v2v.cc/~j/SimpleTheoraEncoder/ Simple Theora Encoder] an ffmpeg2theora frontend<br />
<br />
== See also== <br />
{{Template:Theora}}<br />
<br />
[[Category:Theora]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=IceS&diff=16290IceS2016-02-19T18:55:27Z<p>Martin.leese: /* Stable Releases */ icecast => Icecast</p>
<hr />
<div>== Stable Releases ==<br />
[http://icecast.org/ices IceS Website]<br />
<br />
Ices comes in two flavors: <br />
* 0.x flavor, which supports sending an MP3 stream to an Icecast server.<br />
* 2.x flavor, which supports sending an [[Ogg]] [[Vorbis]] stream to an Icecast server.<br />
<br />
== Development ==<br />
<br />
=== ices0 ===<br />
For the latest version of ices0 hav a look in the svn repository at http://svn.xiph.org/icecast/trunk/ices0/<br />
<br />
=== ices2 ===<br />
At the moment, the development of ices2 is split up into two branches: <br />
<br />
* http://svn.xiph.org/icecast/trunk/ices for the latest version of the ices2.0 release.<br />
* http://svn.xiph.org/icecast/branches/kh/ices for the kh branch of ices2 containing several new features (depends on [http://svn.xiph.org/icecast/branches/kh/libshout a modified version of libshout]).<br />
<br />
One of the new features in ices2-kh is a new input plugin for [http://jackit.sf.net jack]. Using this you can send a live [[Ogg]] [[Vorbis]] stream from any jack capable audio application. Some notes on [http://ices.reboot.fm/ using ices2 with jack].<br />
<br />
[[Category:Icecast]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=TheoraSoftwareEncoders&diff=16289TheoraSoftwareEncoders2016-02-19T18:54:54Z<p>Martin.leese: /* Multi-platform */ icecast => Icecast</p>
<hr />
<div>== Multi-platform ==<br />
*[http://www.v2v.cc/~j/ffmpeg2theora/ ffmpeg2theora] a commandline encoder from any format read by ffmpeg to Theora/Vorbis: [http://svn.xiph.org/trunk/ffmpeg2theora/ svn], [http://www.v2v.cc/~j/ffmpeg2theora/download.html major releases], [http://firefogg.org/nightly/ very latest versions of ffmpeg2theora (also ptalarbvorm) and some more stuff], [http://jafile.com/uploads/dos386/ft017027.zi7 mirror package (all-in-one, includes older versions)]<br />
* [http://diracvideo.org/download/ffmpeg2dirac/ ffmpeg2dirac] - fork of ffmpeg2theora, can enode into OGG Dirac but also Theora (obsolete)<br />
*[http://www.videolan.org/ VLC Media Player] Can transcode from any source it supports into Ogg/Theora. WARNING: Apparently creates broken Ogg streams.<br />
*[http://gstreamer.freedesktop.org/ GStreamer] GStreamer is a library that allows the construction of graphs of media-handling components, ranging from simple Vorbis playback to complex audio (mixing) and video (non-linear editing) processing.<br />
*[http://sarava.org/theorur/ Theorur] is a GUI for Ogg/Theora streaming (Icecast2 system), written using gtk2.<br />
*[http://handbrake.fr Handbrake] is a GUI/CLI free software for ripping/encoding DVD/Files into various containers and formats including theora & vorbis since September 2008. <br />
*[http://firefogg.org/ firefogg] is a Firefox extension that encodes locally and uploads in chunks or when encoding finishes<br />
<br />
== Windows ==<br />
*[http://chaiware.org/about-me/commandline-wra/video-theora/ Video to Theora] Simple and clear video (any format) converter to Theora (serves as a frontend to ffmpeg2theora), Released at FEB 2013.<br />
*[http://sourceforge.net/apps/phpwebsite/theoraconverter/ Theora Converter .NET] Batch converts almost any video file to OGG (.ogv) Theora format. This application is a graphical user interface for ffmpeg2theora 0.27. A GUI that supports 2 pass video encoding with Theora 1.1.1 (Thusnelda). <br />
*[http://dir.visonair.tv/streamer.php Visonair.tv Ogg Streamer] A Windows application to stream directly from a webcam to an Icecast server.<br />
*[http://www.visonair.tv/ Visonair.tv Virtual Stage] Includes an application to encode to Theora, forces fixed size and encoding parameters though. Registration required.<br />
*[http://mediacoder.sourceforge.net/ MediaCoder] Application to encode media files into many target formats, including Theora.<br />
*[http://www.erightsoft.com/ SUPER] General purpose converter application, also serves as a frontend to ffmpeg2theora.<br />
*[http://teejee2008.wordpress.com/ffcoder/ FFCoder], general purpose converter<br />
*[http://en.wikipedia.org/wiki/Theora#Encoding The Wikipedia Theora Page] provides an up to date list of software that can encode Theora.<br />
*[http://www.xiph.org/dshow/Ogg DSF DirectShow Filters for Windows] allows playback and encoding of Ogg Theora/Vorbis in all Windows apps that use the DirectShow framework.<br />
<br />
== Linux/BSD ==<br />
*[http://thoggen.net/ Thoggen] is a DVD backup utility ('DVD ripper') for Linux, based on GStreamer and Gtk+.<br />
*[http://freej.org/ Freej] Freej is a realtime video mixer. It can stream Theora and Vorbis live to [http://icecast.org icecast]. Check [http://lab.dyne.org/FreejStreaming here] for more info.<br />
* [http://oggconvert.tristanb.net/ OggConvert] is a small Gnome utility which uses GStreamer to convert (almost) any media file to Vorbis, Theora and Dirac.<br />
* [http://kde-apps.org/content/show.php/Frontend+for+ffmpeg2theora?content=45172 Frontend for ffmpeg2theora] is a KDE GUI for ffmpeg2theora.<br />
* [http://kde-apps.org/content/show.php?content=17831 Katiuska] is a KDE theora encoder GUI. It uses ffmpeg2theora, mencoder, the encoder_example that comes with the theora libs and a little gpl bash script.<br />
<br />
== Mac OS X ==<br />
*[http://xiph.org/quicktime XiphQT] allows you to export from Quicktime, or any application supporting Quicktime (i.e. Final Cut Pro), to Theora/Vorbis.<br />
*[http://v2v.cc/~j/SimpleTheoraEncoder/ Simple Theora Encoder] an ffmpeg2theora frontend<br />
<br />
== See also== <br />
{{Template:Theora}}<br />
<br />
[[Category:Theora]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=Icecast:ReleaseCheckList&diff=16283Icecast:ReleaseCheckList2016-02-12T18:49:00Z<p>Martin.leese: Fixed double #REDIRECT</p>
<hr />
<div>#REDIRECT [[Icecast Server/Release Checklist]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=Icecast/ReleaseCheckList&diff=16282Icecast/ReleaseCheckList2016-02-12T18:48:23Z<p>Martin.leese: Fixed double #REDIRECT</p>
<hr />
<div>#REDIRECT [[Icecast Server/Release Checklist]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=Daala&diff=16274Daala2016-02-01T18:06:09Z<p>Martin.leese: /* Presentations */ Added ------- because it is a new year. (Merry Winter Solstice.)</p>
<hr />
<div>Daala is the codename for a new video compression technology.<br />
<br />
The effort is a collaboration between the [https://www.mozilla.org/en-US/research/ Mozilla Foundation], the [https://www.xiph.org/ Xiph.Org Foundation] and any other contributors that wish to help.<br />
<br />
The goal of the project is to provide a video format that's free to implement, use and distribute, and a reference implementation with technical performance superior to [https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding H.265]. <br />
<br />
Please see the links below or the [https://www.xiph.org/daala/ main page] for more information.<br />
<br />
== Wiki Pages ==<br />
* [[Daala Quickstart|Daala Quickstart (Linux/MacOS)]]<br />
* [[Daala Quickstart Windows|Daala Quickstart (Windows)]]<br />
* [[Daala MinGW64 Environment]]<br />
<br />
* [[Daala Weekly Meetings|Daala Weekly Meetings]]<br />
<br />
* [[AreWeCompressedYet]]<br />
* [[RD Curve Data Format]]<br />
<br />
* [[DaalaTodo|Daala To-do List]]<br />
* [[DaalaRoadmap|Daala Roadmap]]<br />
<br />
* [[Intra|Intra-prediction within Daala]]<br />
<br />
* [[Videos|Digital Primers]] - educational videos about audio/video technology<br />
<br />
== Communication ==<br />
You are '''encouraged''' to join the<br />
* [irc://irc.freenode.net/daala '''#daala''' IRC channel at freenode.net] - if you don't have an IRC client, you can use Freenode's '''[https://webchat.freenode.net/?channels=%23daala webchat]''' instead.<br />
* [http://lists.xiph.org/mailman/listinfo/daala Daala Email List]<br />
<br />
=== Weekly Meetings ===<br />
You are also welcome to attend the public [[Daala Weekly Meetings|weekly progress meetings]] by installing and using [http://wiki.mumble.info Mumble].<br /><br />
The address is '''mf4.xiph.org''' and the port is '''64738''' (you can run '''mumble://mf4.xiph.org:64738''' within your browser as a shortcut).<br /><br />
The meetings occur on '''Tuesdays''' at '''[http://www.timeanddate.com/worldclock/fixedtime.html?msg=Daala+Weekly+Meeting&iso=20150428T09&p1=1241 9AM Pacific Time]''' (5PM UTC/GMT).<br />
The meeting agenda used to be available at '''[https://daala.etherpad.mozilla.org/weekly-meeting this Etherpad]''', the October 13, 2015 meeting is available on [https://docs.google.com/document/d/1JP_Ko3wPuyDWhooZcp_m9kndyfZ75xN5YOi5yIMCW0s/edit?pli=1 Google Docs] and, following the migration to Etherpad Lite, the meeting agenda and minutes are now available at [https://public.etherpad-mozilla.org/p/daala-weekly-meeting this Etherpad].<br />
<br />
=== Other ===<br />
* [http://forum.doom9.org/showthread.php?t=168004 Doom9 Forum discussion] - generic forum thread regarding Daala<br />
* <del>[https://daala.etherpad.mozilla.org/ep/padlist/all-pads Daala Etherpads] - you can [https://daala.etherpad.mozilla.org/ep/account/request-account request a free account] to view these. You should receive access within a few days.</del> Mozilla are transitioning to Etherpad Lite.<br />
* [http://benjamin.smedbergs.us/weekly-updates.fcgi/project/daala Daala Project Status Board] - what Daala bits the Mozilla people are working on<br />
<br />
== Coding ==<br />
You can get a copy of the latest Daala Source Code from [https://git.xiph.org/?p=daala.git;a=summary '''git.xiph.org'''] or [https://github.com/xiph/daala '''GitHub''']. Please stick to the '''[https://git.xiph.org/?p=daala.git;a=blob_plain;f=doc/coding_style.html Coding Style Guide]'''.<br />
<br />
* [https://review.xiph.org/all?limit=100 Xiph Code Reviews] - there is a proposal on the review process '''[[DaalaReview|here]]'''<br />
* [https://github.com/xiph/daala/issues Daala's issues] - Issue/bug tracker on Github<br />
* [https://mf4.xiph.org/jenkins/view/daala/ Continuous Integration Tests] - these run every time a new commit is made to the Daala git master, to make sure the new code hasn't broken existing functionality.<br />
* [[OggDaala]] - definitions for embedding Daala video within an [[Ogg]] container.<br />
<br />
== Demos ==<br />
* [https://people.xiph.org/~xiphmont/demo/daala/player-demo.shtml Daala Video Player] - an example implementation of a Daala decoder and player, ported to Javascript using [https://github.com/kripken/emscripten Emscripten].<br />
<br />
=== Codec Techniques ===<br />
* [https://people.xiph.org/~xiphmont/demo/ Demo Articles] - explanations on certain techniques used in Daala (and other Xiph.Org projects)<br />
* [http://exp.martres.me/edi/ Edge-Directed Interpolation] ([https://github.com/smarter/edi source code])<br />
* [https://people.xiph.org/~ds/edi/info.html More Edge-Directed Interpolation]<br />
* [https://people.xiph.org/~unlord/demo/intra.html Intra-prediction]<br />
* [https://people.xiph.org/~unlord/zigzags.html Macroblock Coefficient Zigzag Graph] - HTML page generated using [https://github.com/xiph/daala/blob/master/tools/draw_zigzags.c tools/draw_zigzags.c] from the Daala source code.<br />
<br />
== Documents ==<br />
* [https://people.xiph.org/~unlord/spie_cfl.pdf Chroma from Luma (CfL)]<br />
* [http://jmvalin.ca/papers/spie_pvq.pdf Perceptual Vector Quantisation (PVQ)]<br />
* [https://people.xiph.org/~tterribe/daala/vbsobmc.pdf Overlapped Block Motion Compensation (OBMC)]<br />
* [https://mf4.xiph.org/jenkins/job/daala-autotools/ws/doc/html/index.html C API Documentation]<br />
* [https://people.xiph.org/~yushin/tmp__/yushin_phd_thesis.pdf Image Coding Thesis] by Yushin Cho<br />
* [http://arxiv.org/pdf/1411.4290v1.pdf Maximising Coding Efficiency Through Block Rotation] and why it [http://lists.xiph.org/pipermail/daala/2015-January/000054.html won't work well within Daala]<br />
* [http://jmvalin.ca/video/theoretical_results.pdf JMSpeex' Journal of Dubious Theoretical Results] - "take with an entire shaker-full of salt"<br />
* [https://people.xiph.org/~unlord/pcs_daala.pdf Using Daala Intra Frames for Still Picture Coding]<br />
<br />
=== IETF Drafts ===<br />
* [https://tools.ietf.org/html/draft-egge-videocodec-tdlt Time-Domain Lapped Transforms (TDLT)] - documents the Lapped Transform pre- and post-filters used for block-edge decorrelation<br />
* [https://tools.ietf.org/html/draft-valin-videocodec-pvq Perceptual Vector Quantisation (PVQ)] - <br />
* [https://tools.ietf.org/html/draft-terriberry-codingtools Coding Tools] - documents Entropy Coding, Integer Transforms and other techniques<br />
* [https://tools.ietf.org/html/draft-moffitt-netvc-requirements Internet Video Codec (NetVC) Requirements] - explains what requirements and use cases Daala is trying to cater for<br />
* [https://tools.ietf.org/html/draft-daede-netvc-testing Internet Video Codec (NetVC) Testing and Quality Measurement]<br />
* [https://tools.ietf.org/html/draft-terriberry-ipr-license Example IPR Licence Terms]<br />
<br />
Additional drafts can be found at the [https://datatracker.ietf.org/wg/netvc/documents/ IETF DataTracker].<br />
<br />
== Presentations ==<br />
* 2016-01-30 FOSDEM 2016 - [https://fosdem.org/2016/schedule/event/daala/ Summary] - [https://video.fosdem.org/2016/h2214/ Video]<br />
-------<br />
* 2015-10-24 LinuxDay 24 (Turin) - [https://people.xiph.org/~tterribe/daala/linuxday24.pdf Slides]<br />
* 2015-10-21 MPEG 113 - Future Video Coding Workshop [https://people.xiph.org/~tterribe/daala/mpeg113.pdf Slides]<br />
* 2015-09-19 VideoLAN Dev Days - [https://www.youtube.com/playlist?list=PLQLpBN3oI7E44HIdTOovThc1MNHLchgHE YouTube Playlist] - [https://people.xiph.org/~tterribe/daala/vdd2015.pdf Daala Slides]<br />
* 2015-07-22 IETF 93 - [http://recordings.conf.meetecho.com/Playout/watch.jsp?recording=IETF93_NETVC_II&chapter=chapter_1 NetVC Session 2/2] - [https://datatracker.ietf.org/meeting/93/agenda/netvc/ Agenda] - [http://www.meetecho.com/ietf93/netvc_II Video and Chat] - Slides - [https://www.ietf.org/jabber/logs/netvc/2015-07-22.html Jabber Log]<br />
* 2015-07-20 IETF 93 - [http://recordings.conf.meetecho.com/Playout/watch.jsp?recording=IETF93_NETVC&chapter=chapter_1 NetVC Session 1/2] - [https://datatracker.ietf.org/meeting/93/agenda/netvc/ Agenda] - [http://www.meetecho.com/ietf93/netvc Video and Chat] - [https://www.ietf.org/proceedings/93/slides/slides-93-netvc-3.pdf Slides] - [https://www.ietf.org/jabber/logs/netvc/2015-07-20.html Jabber Log]<br />
* 2015-03-24 IETF 92 - [http://recordings.conf.meetecho.com/Playout/watch.jsp?recording=IETF92_NETVC&chapter=chapter_0 NetVC Session] - Audio as [https://people.xiph.org/~tdaede/audio/ietf92-venetian-20150324-0900-am1.opus Opus] (29MB) or [https://www.ietf.org/audio/ietf92/ietf92-venetian-20150324-0900-am1.mp3 MP3] (119MB, action starts at 14:50) - [https://www.ietf.org/proceedings/92/slides/slides-92-netvc-0.pdf Slides] - [https://www.ietf.org/mail-archive/web/video-codec/current/msg00235.html Notes] - [https://www.ietf.org/jabber/logs/netvc/2015-03-24.html Jabber Log]<br />
* 2015-02-11 SPIE talks:<br />
<!-- Originals of these 3 videos can be found at http://people.xiph.org/~unlord/ --><br />
<!-- Someday, do a better encode --><br />
** [http://people.xiph.org/~tdaede/video/SPIE_Nathan.webm Chroma from Luma (CfL)] - [https://people.xiph.org/~unlord/SPIE-2015-CfL.pdf Slides] - [https://people.xiph.org/~unlord/spie_cfl.pdf Paper]<br />
** [http://people.xiph.org/~tdaede/video/SPIE_PVQ.webm Perceptual Vector Quantisation (PVQ)] - [http://people.xiph.org/~tterribe/daala/spie_pvq_slides.pdf Slides] - [http://jmvalin.ca/papers/spie_pvq.pdf Paper]<br />
** [http://people.xiph.org/~tdaede/video/SPIE_Tim.webm Overlapped Block Motion Compensation (OBMC)] - [http://people.xiph.org/~tterribe/daala/spie_obmc_slides.pdf Slides] - [https://people.xiph.org/~tterribe/daala/vbsobmc.pdf Paper]<br />
* 2015-01-31 [http://ftp.osuosl.org/pub/fosdem/2015/devroom-open_media/daala.mp4 Daala Project Update at FOSDEM 2015] - [https://fosdem.org/2015/schedule/event/daala/ summary] - [https://fosdem.org/2015/schedule/event/daala/attachments/slides/569/export/events/attachments/daala/slides/569/Daala_FOSDEM_2015.pdf Slides]<br />
* 2015-01-14 [https://www.youtube.co.uk/watch?v=Dmho4gcRvQ4 Linux Conf 2015] - [http://lca2015.linux.org.au/schedule/30187/view_talk presentation summary] - [https://people.xiph.org/~tterribe/pubs/lca2015/daala.pdf Slides]<br />
-------<br />
* 2014-09-16 [https://air.mozilla.org/daala-are-we-compressed-yet/ Daala: Are We Compressed Yet?]<br />
* 2014-06-25 [https://air.mozilla.org/sparsity-induced-prediction-for-images-and-video/ Sparsity Induced Prediction for Images and Video]<br />
* 2014-06-06 VP9 Summit (no video available) - [https://people.xiph.org/~xiphmont/demo/daala/daala-vp9summit-20140606.pdf Slides]<br />
-------<br />
* 2013-10-23 [https://people.xiph.org/~xiphmont/video/Free_Codecs_Update_Opus_and_Daala.ogv Opus and Daala: State of the Art Royalty-free Codecs] - [https://people.xiph.org/~greg/gstreamer-daala-opus.pdf Slides]<br />
* 2013-09-30 [https://people.xiph.org/~tterribe/daala/coding_party2/?C=M;O=A Daala Coding Party 2] - [https://people.xiph.org/~unlord/Daala-Intra.pdf Slides]<br />
* 2013-05-02 [https://people.xiph.org/~xiphmont/tim-terriberry-presents-daala/ Tim Terriberry Presents Daala]<br />
-------<br />
* 2012-01-24 [https://media.basilgohar.com/derf-talks/?C=M;O=A Introduction to Video Coding] - [https://people.xiph.org/~tterribe/pubs/lca2012/auckland/intro_to_video1.pdf Slides] (no video for slides 1-50)<br />
<br />
== Other Websites ==<br />
* [https://www.zazzle.com/daala_tee_shirt-235139149596175944 Daala T-shirts] - if you'd like a free one, help out with the project and ask the Mozilla guys nicely for one :-)<br />
* [https://www.xiph.org/donate/ Donate to Xiph.Org] <br />
* [[Daala_on_Wheels|Historical Daala wiki page]]<br />
<br />
[[Category:Daala]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=XiphInfra:Wiki_VM&diff=16269XiphInfra:Wiki VM2016-01-23T19:08:58Z<p>Martin.leese: /* Add Wiki Account */ Typo</p>
<hr />
<div>{{Infobox Server<br />
|title=Wiki VM<br />
|maintainer=ePirat<br />
|host=mf4<br />
|ips=192.168.2.180<br />
|service=Wiki<br />
|url=https://wiki.xiph.org}}<br />
<br />
As the name suggest, the Wiki VM runs this [http://mediawiki.org MediaWiki] instance.<br />
<br />
It runs an Apache2 server with PHP module, in front of it is a reverse proxy (nginx) running on Catfish. If you need to add<br />
or adjust things like headers and the HTTPS redirect, check the nginx config on Catfish, not the Apache2 config.<br />
<br />
The current version of MediaWiki and the installed Modules can be found [[Special:Version|here]].<br />
<br />
== Add Wiki Account ==<br />
<div style="background-color: #B4CFEC; padding: 5px; border: 1px #888 solid;">Currently, account creation on the Wiki is disable due to massive spam. Therefore until we find a solution for this, Users are asked to go to the #xiph IRC channel and ask for an account there, which a wiki sysop has to create.</div><br />
<br />
Below is an excerpt from the MediaWiki Page, describing how to create an Account:<br />
<br />
#Go to {{Special:UserLogin}}, when logged in as a sysop.<br />
#Click on "Create an account" link to get to the account creation form.<br />
#Enter a username and an email address, and click the "by email" button. Note you need <code>$wgEnableEmail=true</code> or else the sysop must pick a password and send it to the user. <br />
#The account will be created with a random password which is then emailed to the given address (as with the "forgot password" feature). The user will be requested to change password at first login; when he does this, his e-mail address will also be marked as confirmed.<br />
#:<small>When you click the "create account" button instead, you have to manually send the user his password. If you've set <code>$wgMinimalPasswordLength</code> and you've left the password field blank, the user will be emailed an e-mail address confirmation request but will be unable to access {{Special:Confirmemail}} to perform the confirmation. Instead, the user will get an error (unless you've added it to <code>$wgWhitelistRead</code>); the user will be able to login with a blank password and then confirm email, but their password will not have been reset (it will have to be reset manually).</small><br />
<br />
== Important Modules ==<br />
These are the most important modules that we have in use:<br />
<br />
=== Math and Mathoid ===<br />
The [https://www.mediawiki.org/wiki/Extension:Math Math] module allows us to use equations similar as in LaTeX:<br />
<br />
<code><nowiki><math>E=mc^2</math></nowiki></code> will display as <math>E=mc^2</math><br />
<br />
The extension uses Mathoid to render equations, this is how it's configured:<br />
<br />
<syntaxhighlight lang="php"><br />
/* Math */<br />
$wgUseTeX = true;<br />
$wgTexvc = "$IP/extensions/Math/math/texvc";<br />
$wgMathPath = "{$wgUploadPath}/math";<br />
$wgMathDirectory = "{$wgUploadDirectory}/math";<br />
$wgMathMathMLUrl = "http://127.0.0.1:10042";<br />
$wgMathValidModes = array(MW_MATH_MATHML, MW_MATH_PNG, MW_MATH_SOURCE);<br />
<br />
/* Set Mathoid as default rendering option */<br />
$wgDefaultUserOptions['math'] = MW_MATH_MATHML;<br />
</syntaxhighlight><br />
<br />
More information about the config can be found on the [https://www.mediawiki.org/wiki/Extension:Math/advancedSettings Math/advancedSettings] page.<br />
<br />
Once the Math extension is configure, as mentioned, it needs Mathoid to render MathML and SVGs. It's a bit tricky to install<br />
therefore below is a short guide how to do so:<br />
<br />
==== Fetch the source code ====<br />
<br />
cd /opt/<br />
git clone https://github.com/wikimedia/mathoid<br />
<br />
==== Install a relatively new node.js version ====<br />
The packaged version is probably too old, so you should download one from the [https://nodejs.org/en/download/ Node.js download page].<br />
For example:<br />
<br />
wget https://nodejs.org/dist/v4.2.4/node-v4.2.4-linux-x64.tar.xz<br />
tar xfv ./node-v4.2.4-linux-x64.tar.xz<br />
mv ./node-v4.2.4-linux-x64.tar.xz /opt/node-v4.2.4<br />
<br />
==== Add node binaries to your PATH ====<br />
<br />
echo export PATH=/opt/node-v4.2.4/bin:$PATH >> ~/.bashrc<br />
<br />
==== Install dependencies ====<br />
Inside the mathoid folder do:<br />
<br />
npm install<br />
<br />
==== Change config ====<br />
Remove the default config symlink and crate one for the prod config:<br />
<br />
rm config.yaml<br />
ln -s config.prod.yaml config.yaml<br />
<br />
Adjust the config accordingly, currently the config looks similar to:<br />
<br />
<syntaxhighlight lang="yaml"><br />
# Number of worker processes to spawn.<br />
# Set to 0 to run everything in a single process without clustering.<br />
# Use 'ncpu' to run as many workers as there are CPU units<br />
num_workers: ncpu<br />
<br />
# Log error messages and gracefully restart a worker if v8 reports that it<br />
# uses more heap (note: not RSS) than this many mb.<br />
worker_heap_limit_mb: 500<br />
<br />
# Logger info<br />
logging:<br />
level: warn<br />
streams:<br />
# Use gelf-stream -> logstash<br />
#- type: gelf<br />
# host: logstash1003.eqiad.wmnet<br />
# port: 12201<br />
<br />
# Statsd metrics reporter<br />
metrics:<br />
#type: statsd<br />
#host: statsd.eqiad.wmnet<br />
#port: 8125<br />
<br />
services:<br />
- name: mathoid<br />
module: ./app.js<br />
conf:<br />
interface: 127.0.0.1<br />
port: 10042<br />
svg: true<br />
img: false<br />
texvcinfo: true<br />
speech: true<br />
sppechOn: false<br />
</syntaxhighlight><br />
<br />
==== Try it ====<br />
Let's try to start it:<br />
<br />
npm start<br />
<br />
If it start successfully, go to a Wiki Page, edit it and add a simple equation and preview the page.<br />
(Make sure to use a unique equation, as caching could prevent that Mathoid is used, if the equation already exists.)<br />
<br />
If everything works as expected, write a systemd unit or such and start Mathoid with it, for production use.<br />
<br />
==== Troubleshooting ====<br />
<br />
Maybe useful for debugging, you can use curl to make a request to Mathoid like this:<br />
<br />
curl -d 'q=E=fobarmc^2' http://127.0.0.1:10042/<br />
<br />
If you get errors like <code>spawn java ENOENT</code> make sure you have set<br />
img: false<br />
in your config, as else it will try to use [http://xmlgraphics.apache.org/batik/download.html Apache™ Batik], which requires Java. I guess not having PNGs is a fair tradeoff, if that saves us from having to use java on the VM.<br />
<br />
If there are problems while installing dependencies, make sure your nodejs version is recent enough, try to remove the modules and reinstall them:<br />
<br />
rm -rf ./node_modules<br />
npm cache clear<br />
npm install<br />
<br />
<br />
=== SyntaxHighlight (GeSHi) ===<br />
This is used to highlight code blocks:<br />
<br />
<nowiki><syntaxhighlight lang="php"><br />
$foo = "bar";<br />
</syntaxhighlight></nowiki><br />
<br />
will display as:<br />
<br />
<syntaxhighlight lang="php"><br />
$foo = "bar";<br />
</syntaxhighlight><br />
<br />
Luckily, this one is much easier to install. It does not, contrary to what the name suggest, depend on GeSHi anymore, but<br />
has switched to [http://pygments.org Pygments], so make sure that is installed. That's it. (Phew, much easier compared to Mathoid)</div>Martin.leesehttps://wiki.xiph.org/index.php?title=IceS&diff=16171IceS2015-12-25T17:00:55Z<p>Martin.leese: Better Wikilinks</p>
<hr />
<div>== Stable Releases ==<br />
[http://icecast.org/ices IceS Website]<br />
<br />
Ices comes in two flavors: <br />
* 0.x flavor, which supports sending an MP3 stream to an icecast server.<br />
* 2.x flavor, which supports sending an [[Ogg]] [[Vorbis]] stream to an icecast server.<br />
<br />
== Development ==<br />
<br />
=== ices0 ===<br />
For the latest version of ices0 hav a look in the svn repository at http://svn.xiph.org/icecast/trunk/ices0/<br />
<br />
=== ices2 ===<br />
At the moment, the development of ices2 is split up into two branches: <br />
<br />
* http://svn.xiph.org/icecast/trunk/ices for the latest version of the ices2.0 release.<br />
* http://svn.xiph.org/icecast/branches/kh/ices for the kh branch of ices2 containing several new features (depends on [http://svn.xiph.org/icecast/branches/kh/libshout a modified version of libshout]).<br />
<br />
One of the new features in ices2-kh is a new input plugin for [http://jackit.sf.net jack]. Using this you can send a live [[Ogg]] [[Vorbis]] stream from any jack capable audio application. Some notes on [http://ices.reboot.fm/ using ices2 with jack].<br />
<br />
[[Category:Icecast]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=IceS&diff=16170IceS2015-12-25T16:58:23Z<p>Martin.leese: Tidy (mostly caps)</p>
<hr />
<div>== Stable Releases ==<br />
[http://icecast.org/ices IceS Website]<br />
<br />
Ices comes in two flavors: <br />
* 0.x flavor, which supports sending an MP3 stream to an icecast server.<br />
* 2.x flavor, which supports sending an [[Ogg Vorbis]] stream to an icecast server.<br />
<br />
== Development ==<br />
<br />
=== ices0 ===<br />
For the latest version of ices0 hav a look in the svn repository at http://svn.xiph.org/icecast/trunk/ices0/<br />
<br />
=== ices2 ===<br />
At the moment, the development of ices2 is split up into two branches: <br />
<br />
* http://svn.xiph.org/icecast/trunk/ices for the latest version of the ices2.0 release.<br />
* http://svn.xiph.org/icecast/branches/kh/ices for the kh branch of ices2 containing several new features (depends on [http://svn.xiph.org/icecast/branches/kh/libshout a modified version of libshout]).<br />
<br />
One of the new features in ices2-kh is a new input plugin for [http://jackit.sf.net jack]. Using this you can send a live [[Ogg Vorbis]] stream from any jack capable audio application. Some notes on [http://ices.reboot.fm/ using ices2 with jack].<br />
<br />
[[Category:Icecast]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=User:Msmith&diff=16169User:Msmith2015-12-24T20:37:13Z<p>Martin.leese: Created page with a question about Ice{S|s}</p>
<hr />
<div>== IceS or Ices ==<br />
<br />
According to the page [[People]], you are the only person with an interest in IceS. A new user has created the page [[IceS/Getting Started]]. But the base page [[IceS]] is, in fact, a <nowiki>#REDIRECT</nowiki> to the page [[Ices]]. The content of different pages in the Wiki seem to use both forms. I suggest there is a need to standardize on one form. Which would you prefer, IceS or Ices? (I am watching this page, so please respond here.) [[User:Martin.leese|Martin Leese]] ([[User talk:Martin.leese|talk]]) 12:37, 24 December 2015 (PST)</div>Martin.leesehttps://wiki.xiph.org/index.php?title=IceS/Getting_Started&diff=16168IceS/Getting Started2015-12-24T20:12:18Z<p>Martin.leese: Added Category:Icecast</p>
<hr />
<div>== Debian 8 Quick Start Guide ==<br />
=== Installing Ices2 ===<br />
: '''I.)''' Open a terminal and operate from the root user.<br />
:: '''A.)''' '''su''' to root or skip this step and use '''sudo''' if available.<br />
<nowiki>$ su</nowiki><br />
: '''II.)''' Install Ices2 with '''apt-get'''<br />
:: '''A.)''' Use '''apt-get''' or '''sudo apt-get'''<br />
<nowiki>$ apt-get install ices2</nowiki><br />
OR<br />
<nowiki>$ sudo apt-get isntall ices2</nowiki><br />
=== Configuring Ices2 ===<br />
: '''I.)''' Create an Ices2 config file.<br />
:: '''A.)''' Navigate to '''/usr/share/doc/ices2/examples''' for some example configuration files to run Ices2 with.<br />
<nowiki>$ cd /usr/share/doc/ices2/examples</nowiki><br />
:: '''B.)''' Copy an appropriate example configuration file to an appropriate directory<br />
<nowiki>$ cp ices-playlist.xml /home/SOME_USER/.ices2/ices-playlist_v00.xml</nowiki><br />
:: '''C.)''' Edit some of the basics within the configuration file using '''nano''' or a graphical text editor of your choice.<br />
<nowiki>$ nano /home/SOME_USER/.ices2/ices-playlist_v00.xml</nowiki><br />
: '''II.)''' Configuration, suggestions, and tips for your configuration file.<br />
:: '''A.)''' Tell Ices2 to run in the background when executed.<br />
<nowiki><background>1</background></nowiki><br />
:: '''B.)''' Name your stream, define some genres, and give a brief description of it.<br />
<nowiki><br />
<metadata><br />
<name>Example stream name</name><br />
<genre>Example genre</genre> <br />
<description>A short description of your stream</description><br />
</metadata></nowiki><br />
:: '''C.)''' Create and add a playlist to be used.<br />
::: '''1.)''' Use '''find''', '''pwd''', and '''grep''' together to pipe out the file contents of your music directory folder to create a playlist.<br />
:::: '''a.)''' For example, create a directory and fill it with the music you would like to create<br />
<nowiki>$ mkdir /home/SOME_USER/Music/Streams/Stream-00</nowiki><br />
:::: '''b.)''' Fill that directory with some music files. For example, say you copy over an album composed of .ogg files.<br />
<nowiki>$ cp -r /home/SOME_USER/Music/My_Music_Collection/John_Grisham/Grishams_Greatest_Hits /home/SOME_USER/Music/Streams/Stream-00</nowiki><br />
:::: '''c.)''' Navigate to your stream's music directory and create a playlist.<br />
<nowiki>$ cd /home/SOME_USER/Music/Streams/Stream-00<br />
$ find $(pwd) -type f | grep .ogg > Stream-00_Playlist.txt</nowiki><br />
:::: '''d.)''' You can now open the new playlist file and check to make sure everything checks out.<br />
<nowiki>$ nano Stream-00_Playlist.txt</nowiki><br />
::: '''2.)''' Add the playlist to the configuration file.<br />
<nowiki><param name="file">/home/SOME_USER/Music/Streams/Stream-00/Stream-00_Playlist.txt</param></nowiki><br />
::: '''3.)''' Tell Ices2 to randomly play selected files from the playlist (shuffle).<br />
<nowiki><param name="random">1</param></nowiki><br />
:: '''D.)''' At this point Ices2 should be ready to roll. However, there are a few more settings you will want to change. Refer to [http://icecast.org/ices/docs/ices-2.0.2/config.html the ices docs] for more detailed configuration.<br />
::: '''1.)''' Assuming Ices2 is running on the same machine as Icecast2 make sure the '''hostname''' and '''port''' match that of the '''icecast.xml''' configuration file for Icecast2<br />
<nowiki><br />
<hostname>localhost</hostname><br />
<port>8000</port></nowiki><br />
::: '''2.)''' Change the password to match the source password configured in the '''icecast.xml''' configuration file and change the default mountpoint.<br />
<nowiki><br />
<password>something_other_than-hackme</password><br />
<mount>/John_Grisham.ogg</mount></nowiki><br />
=== Start Ices2 ===<br />
: '''I.)''' Start Ices2!<br />
<nowiki>$ ices2 /home/SOME_USER/.ices2/ices-playlist_v00.xml</nowiki><br />
=== Stop Ices2 ===<br />
: '''I.)''' To stop ices2 we can send it a '''SIGTERM''' with '''killall''' to terminate it in a friendly manner.<br />
<nowiki>$ killall ices2</nowiki><br />
<br />
[[Category:Icecast]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=IceS&diff=16167IceS2015-12-24T20:10:49Z<p>Martin.leese: Replaced Category:Xiph-related Software with Category:Icecast</p>
<hr />
<div>== Stable Releases ==<br />
[http://icecast.org/ices IceS Website]<br />
<br />
Ices comes in two flavors, <br />
* 0.x flavor which supports sending an MP3 stream to an icecast server<br />
* 2.x flavor which supports sending an Ogg Vorbis stream to an icecast server.<br />
<br />
== Development ==<br />
<br />
=== ices0 ===<br />
for the latest version of ices0 hav a look in the svn repository at http://svn.xiph.org/icecast/trunk/ices0/<br />
<br />
=== ices2 ===<br />
development of ices2 is split up into two branches right now.<br />
<br />
* http://svn.xiph.org/icecast/trunk/ices here you find the latest version of the ices2.0 release<br />
* http://svn.xiph.org/icecast/branches/kh/ices the kh branche of ices2 as several new features and depends on a [[http://svn.xiph.org/icecast/branches/kh/libshout modified version of libshout]].<br />
<br />
one of the new features in ices2-kh is a new input plugin for [http://jackit.sf.net jack]. this way you can send a live ogg vorbis stream from any jack capable audio application.<br />
<br />
[http://ices.reboot.fm/ some notes on using ices2 with jack]<br />
<br />
[[Category:Icecast]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=Template:IcecastThirdParty&diff=16149Template:IcecastThirdParty2015-11-11T20:19:06Z<p>Martin.leese: Typo</p>
<hr />
<div><div style="background-color:#EEF0BD; padding: 5px 0 5px 0; text-align:center;">This page is about 3rd party software, for which we do not provide any support.</div><br />
<includeonly>[[Category:Icecast]]</includeonly><br />
<noinclude>This template should be used to mark pages that explain usage of third party software, for example, how to set up source clients for usage with Icecast that are not maintained by the Icecast Project<br />
<br />
This automatically adds the Icecast Category to the Page!</noinclude></div>Martin.leesehttps://wiki.xiph.org/index.php?title=User_talk:Martin.leese&diff=16126User talk:Martin.leese2015-10-27T05:01:43Z<p>Martin.leese: /* New Design */ Thanks</p>
<hr />
<div>== Welcome ==<br />
Hi, Martin, and welcome to Xiph's wiki. Thanks a lot for your contributions to OggPCM. Really.<br />
<br />
If you are interested in discussing Ambisonics in Xiph's projects, you may want to join [http://lists.xiph.org/mailman/listinfo/vorbis-dev Vorbis' list], [http://lists.xiph.org/mailman/listinfo/flac-dev FLAC's list], or [http://lists.xiph.org/mailman/listinfo/ogg-dev OggPCM's list]. If you are a developer, you may be interested in checking [http://svn.xiph.org/trunk/vorbis/ Vorbis], [http://sourceforge.net/project/showfiles.php?group_id=13478&package_id=12677 FLAC's], or [http://svn.xiph.org/trunk/vorbis-tools/oggenc/ oggenc's] source code to check for issues on how Ambisonics are handled. Just in case you want to help out more.<br />
<br />
Again, welcome.--[[User:Saoshyant|Saoshyant]] 06:22, 25 January 2007 (PST)<br />
<br />
== New Design ==<br />
<br />
Please note that the "new" Design is only for the updating process. Since I could not easily migrate the old Theme to the new wiki version I am writing a new Theme (which should at the end look like the old one, or even a bit better) but please be a bit patient. Also note that the Sidebar template is supposed to be this way as it is rendered specially in the theme. (And this is the way Mediawiki actually specifies it should be, confusing but eh…)<br />
[[User:EPirat|EPirat]] ([[User talk:EPirat|talk]]) 20:38, 26 April 2015 (PDT)<br />
: Okeydoke. [[User:Martin.leese|Martin Leese]] ([[User talk:Martin.leese|talk]]) 20:56, 26 April 2015 (PDT)<br />
:: There is now a similar version to the old one available, called XiphBook. You can switch to it in your Preferences. A preview is [https://wiki.xiph.org/index.php?title=Main_Page&useskin=xiphbook here]. --[[User:EPirat|EPirat]] ([[User talk:EPirat|talk]]) 11:40, 26 October 2015 (PDT)<br />
::: Thanks. I have switched. [[User:Martin.leese|Martin Leese]] ([[User talk:Martin.leese|talk]]) 22:01, 26 October 2015 (PDT)</div>Martin.leesehttps://wiki.xiph.org/index.php?title=User_talk:EPirat&diff=16118User talk:EPirat2015-10-26T16:30:53Z<p>Martin.leese: /* MediaWiki:Licenses */ new section</p>
<hr />
<div>== MediaWiki:Sidebar ==<br />
<br />
In the sidebar on the main page of the Wiki, there is a link to [[Icecast]] (which is a <nowiki>#REDIRECT</nowiki> to [[Icecast Project]]). If you wish to change this, you can find it at [[MediaWiki:Sidebar]]. (The last time I updated this, it took me ages to find it.) [[User:Martin.leese|Martin Leese]] 09:17, 15 April 2015 (PDT)<br />
<br />
: Thanks a lot, just corrected it.<br />
: --[[User:EPirat|EPirat]] 12:22, 15 April 2015 (PDT)<br />
<br />
== [[People]] ==<br />
<br />
Please consider adding your Nickname, Real name, and Keywords (Web, Wiki) to the [[People]] page. [[User:Martin.leese|Martin Leese]] ([[User talk:Martin.leese|talk]]) 07:45, 10 May 2015 (PDT)<br />
<br />
== MediaWiki:Licenses ==<br />
<br />
You created a new page [[MediaWiki:Licenses]], but what is there is unclear (particularly the first line). The content looks like it wants to be in a table. If you describe what you intended to do, then perhaps others can help you achieve it. [[User:Martin.leese|Martin Leese]] ([[User talk:Martin.leese|talk]]) 09:30, 26 October 2015 (PDT)</div>Martin.leesehttps://wiki.xiph.org/index.php?title=Talk:Field_names&diff=16077Talk:Field names2015-10-24T00:23:26Z<p>Martin.leese: /* Picard */ Indented</p>
<hr />
<div>== Picard ==<br />
<br />
Hi, you should also consider the tag mapping used by Picard (the Musicbrainz tagger), although Picard isnt as popular as some taggers files tagged with this tagger are tagged comprehensively due to the data-richness of the Musicbrainz database.[http://wiki.musicbrainz.org/PicardQt/TagMapping]<br />
<br />
In particular note Picard already uses: <br />
<pre><br />
COMPOSER<br />
TRACKTOTAL<br />
DISCNUMBER<br />
DISCTOTAL<br />
</pre><br />
but uses: <br />
<pre><br />
ENCODEDBY not ENCODED-BY<br />
BARCODE not PRODUCTNUMBER<br />
</pre><br />
[[User:Ijabz|Ijabz]] 9 November 2009<br />
: I am currently working on enhancing Picard support for Vorbis tags, and plan to switch to use PRODUCTNUMBER and ENCODED-BY whilst providing backwards compatibility for files already tagged with ENCODEDBY, BARCODE, EAN/UPN etc.<br />
: [[User:Sophist|Sophist]] 9 November 2009<br />
<br />
== Suggestion ==<br />
<br />
Hi, I am a free software supporter and a FLAC lover who wants to help improve Vorbis Comments. These are my proposed metadata tags:<br />
<br />
*DATEOFCOMPOSITION or something similar, because DATE is specifically for the ''date the track was recorded'', and isn't enough. I think it would be very meaningful if you could sort your music according to the time it was composed.<br />
<br />
*Something like COMPOSITIONALFORM, or COMPOSITIONALGENRE or MUSICALFORM, or at least FORM; I mean, a tag for storing information about the kind of composition. For instance: sonata, song, prelude, waltz (given that your digital audio file is a musical piece). GENRE is not enough and is not the same, 'cause you can have many forms from different genres (rock ballad, pop ballad, whatever ballad), or different composition prototypes sharing a common genre (baroque opera, baroque prelude, baroque concert, and so).<br />
<br />
The next ones are far more common in the real world (because of ID3 I guess) and exist to alleviate the ambiguous and limited nature of the ARTIST tag. As you've written in the Ogg Vorbis format specification page [http://xiph.org/vorbis/doc/v-comment.html (source)]: ''"In popular music this is usually the performing band or singer. For classical music it would be the composer. For an audio book it would be the author of the original text."'' But what if all these types of artist are different people and are required for a single work? Adding as many ARTIST fields as you may need is not a good solution. Imagine this:<br />
:: TITLE=A Taste of Honey, ARTIST=Bobby Scott (the composer), ARTIST=Ric Marlow(the lyricist), ARTIST=George Martin (the arranger), ARTIST=The Beatles(as performers), MADNESS!!!<br />
<br />
That's a true case on a cover by The Beatles, and there'are plenty like that one. ARTIST does suck and should not exist at all. We all would love the following tags instead:<br />
<br />
*COMPOSER for the person(s) who made/composed the music.<br />
<br />
*LYRICIST obviously for the person(s) who wrote the song lyrics. Perhaps WRITER would be a better option, so all the literature artists are considered, i.e. lyricists, poet, audiobook author, playwright, etc.<br />
<br />
*PERFORMER I know Vorbis Comments already have this one, but it is worthy mention its importance ;-)<br />
<br />
*ARRANGER can do other important artistic roles for a music record/performance, such as adapting a composition or instruments. Not to be confused with composers or performers.<br />
<br />
*CONDUCTOR. The conductor leads the performance, but is not a performer.<br />
<br />
*Maybe one for AUDIOENGINEER or PRODUCER.<br />
<br />
And those are the tags I use along TRACKNUMBER, TITLE, DATE, ALBUM, GENRE, COPYRIGHT and LICENSE to keep organized my audio library. Thanks for making such amazing audio and video codecs, and I'm thankful that my suggestion will be taken into account because of the open nature of this project. Regards! --[[User:IsacDaavid|IsacDaavid]] 18:53, 10 August 2012 (PDT)</div>Martin.leesehttps://wiki.xiph.org/index.php?title=PortablePlayers/Flash&diff=16035PortablePlayers/Flash2015-09-12T14:06:06Z<p>Martin.leese: /* Philips Voice Tracer */ Fixed things up, including OGG Vorbis => Ogg Vorbis</p>
<hr />
<div>== Introduction ==<br />
<br />
This page contains detailed descriptions of portable flash players supporting ogg vorbis playback. For an overview support matrix see the [[PortablePlayers#Portable Vorbis Native Support Table|Vorbis Native Support Table]] (the table concentrates on players which are still available in shops).<br />
<br />
In each description, please say if the device works "out of the box" or you have to install any software to use it properly (if the extra-software is optional, then it doesn't matter).<br />
<br />
== [http://www.archos.com/products/mp3_players/archos_30c_vision/index.html?country=us&lang=en Archos] Vision 30c ==<br />
<br />
The Archos Vision 30c is a small almost credit-card sized lightweight portable audio and video player which is also able to record voice, display .txt files and tune into FM radio.<br />
It supports Ogg Vorbis and FLAC out of the box, but without displaying any tags. The Vision 30c is usable as mass storage USB device. The write rate is about 250 KiBi/s and the read rate is about 7 MiBi/s. Display backlight, video playback and FM radio introduce different kinds of very annoying high frequent background noise. In comparison with other portable players, the minimal possible volume level is very loud. As of 2011-07 there are no firmware upgrades available. The display is 3" large and very glossy. The device has one back button, an on/off switch and a touchscreen (non-capacitative) which is very stochastic. With a stylus (not included) it is like 2 times better usable but still very non-deterministic. The player is available with 4 GB and 8 GB internal flash memory.<br />
<br />
== [http://www.netonnet.se/item.asp?iid=61510 Avant] MP-8256, MP-85me12, MP-81000 ==<br />
<br />
No official website, product no longer available for purchase, but three models existed: MP-8256 (256MB memory), MP-8512 (512MB) and MP-81000 (1GB). Some features are a small colour display, 5-band Equalizer, FM-stereo radio, Line in, Microphone, and Charging via USB2.0.<br />
<br />
== [http://www.bang-olufsen.com/page.asp?id=374 Bang & Olufsen] BeoSound 6 ==<br />
<br />
It has 4GB of storage, USB 1.1 and 2.0 support and a small TFT LCD color display. Although advertised as Windows and Mac OS 9.2 and higher only, the device is a Mass Storage device and is perfectly usable in Linux as well. Supports Vorbis quality levels up to Q10. B&O have co-operated with Samsung to develop the device.<br />
<br />
== Brazilian Market ==<br />
<br />
It is appropriate to say that in brazilian consumer market, there are unbranded MP3 players such as [http://produto.mercadolivre.com.br/MLB-71404870-mp3-player-2-gb-pen-drive-gravador-de-voz-radio-fm-_JM this one] that can flawlessly play Ogg Vorbis files. There are many of them branded as "Sony". I have tested one "Sony" and it does play Ogg Vorbis. If you have one of these players and know that they can play Ogg Vorbis, please inform which chipset these devices are equipped with. Many of these players can also be identified as having the following writings "MP3/WMA/FM/REC". All these are basically 1GB/2GB USB pen drives.<br />
<br />
== [http://www.centon.com/ Centon CraZe] ==<br />
<br />
8G model (at least) from [http://www.buy.com/ Buy.com] seems to have either s1mp3 or sigmatel chipset, worked fresh out of box. It is USB rechargeable device with monochrome LCD and multicolored backlight plus FM stereo. Doc only mentions mp3 and wma, not vorbis.<br />
<br />
== [http://en.wikipedia.org/wiki/Chinese_MP4/MTV_player Chinese MP4 players sold on eBay] ==<br />
<br />
I've tried two different MP4 nano lookalikes from different manufacturers and different eBay sellers, and both will play Ogg Vorbis fine, even though none of the documentation or product advertisements say this. Before you buy one, you should check out the eBay FAQ on MP4 players first. <br />
<br />
From the information below (see "PowerUp!" items), it is possible that all Chinese made [http://en.wikipedia.org/wiki/S1_MP3_Player S1 MP3] and [http://en.wikipedia.org/wiki/Chinese_MP4/MTV_player MP4] players can play the Ogg Vorbis file format, even though their manuals or advertisements do not mention this. Since many tens of millions of these units have been sold worldwide, there is a potentially huge, undocumented, base of portable media players which can play the Ogg Vorbis format. If you have one of these Chinese made players, just give it a try and see. [http://www.ebuyer.com/UK/product/126069 Here] is one cheap unbranded Chinese 1GB mp3 player that supports vorbis.<br />
<br />
== Coby MP-C7052 ==<br />
<br />
While it does support Vorbis, buyer beware. Poor ratings at [http://reviews.cnet.com/mp3-players/coby-mp-c7052-512mb/4505-6490_7-32466874.html cnet.com]: "utterly fails at its intended purpose"<br />
<br />
== [http://linuxdevices.com/news/NS7996764346.html Cool-Karaoke] ==<br />
<br />
The DRM-free Cool-Karaoke supports MP3, OGG, WAV, and FLAC audio formats and MPG, AVI, and FLV video formats. Runs an ARM920t processor clocked to 400MHz, with 4GB and up NAND Flash. Battery charges through USB cable. Built in equalizer allows tuning down the voice freqencies for sing-alongs.<br />
<br />
== [http://www.cowonamerica.com Cowon/iAudio] D2, F2, T2, U3, U2, G3, 5, G2, U5, 7 ==<br />
<br />
NOTE: The U3 and 7 both are buggy with Vorbis, in that they exhibit artifacts in the lower frequency range. As of firmware 1.29 on the U3, and 1.17 on the 7, both are broken. Cowon fixed this on the D2 about firmware 2.41 onward, and on the 7 with release 1.18 (29-MAY-2009). By way of a code examination, it appears the U5 does not suffer from this bug (On Cowon players that have the issue, there is a hex string which matches a low precision table. On the ones that do not have the issue, it has the correct normal precision value. This is referring to the Tremor decoder used). Most people describe this as a mild high pitched squeak. See this forum [http://www.cowonamerica.com/forums/showthread.php?t=13253 post] for more details. Some also say the iriver Clix 2 has this issue as well. Cowon on the D2 firmware page does not specifically mention that they fixed this issue.<br />
<br />
The iAudio U2 is a small flash-based player (256MB/512MB/1GB) and supports Vorbis. Early U2 releases required a firmware upgrade for Vorbis support; as of September 2005 this support was included in the retail version. The iAudio G3 and iAudio 5 offer up to 2GB, and support Ogg Vorbis out-of-the-box. The G2 has storage from 256 MB up to 1 GB and supports the same formats. iAudio U3 is Cowon's last candy bar form factor flash-based player with a 5 way navigation control. It also supports FLAC and MPEG-4 video. All these players will talk to Linux or Mac (but the included software is Windows only. You'll need Windows for firmware updates.).<br />
<br />
The G3, and most likely the other models as well, supports Ogg Vorbis from q0. Quality settings q-1 and q-2 (from the aoTuV ogg encoder) are not supported. It supports the meta tags ''album'' (limited length) and ''title''.<br />
<br />
iAudio F2 flash memory, 512MB/1GB/2GB versions supporting Vorbis and FLAC. USB 2.0, supports Linux and Mac (Windows needed for firmware updates).<br />
<br />
iAudio T2 flash memory 1GB/2GB, supports Vorbis. USB 2.0, supports Linux and Mac (Windows needed for firmware updates).<br />
<br />
iAudio 7 is Cowon's current small form factor flash based player with touch controls for most functions and comes in 4, 8 and 16GB versions and supports Vorbis and FLAC. USB 2.0 file transfer, Linux and Mac compatible (including firmware updates). Reading Ogg tags not supported (requires browsing music in 'files' mode rather than in 'tags' mode).<br />
<br />
iAudio D2 comes in 4, 8 or 16GB capacities and can use SD and SDHC flash memory cards, supports music and movies supporting FLAC and Vorbis. USB 2.0 file transfer, Linux and Mac compatible (including firmware updates).<br />
<br />
The ''iAudio U5'' is a player with 8 GB flash and USB (speed is at USB 1.0 level). The player is out of the box configurable as USB-mass-storage-device or MTP-device. It is available since early 2008. It supports Ogg Vorbis and FLAC since at least firmware 2.10. A firmware update is possible in mass-storage-mode, i.e. without additional proprietary software. The firmware is available at the US and Global site. The 2.10 firmware has multi language support, i.e. you can select for example english as language after flashing. Note however, that the FLAC/Vorbis firmware loses support for tag based browsing (as of version 3.16).<br />
<br />
See also:<br />
* [[Wikipedia:Cowon|Wikipedia article about Cowon and players]]<br />
* [[Wikipedia:IAUDIO|Wikipedia article about Cowon iAudio Models]]<br />
<br />
== Craig ==<br />
<br />
Model No. CMP622E. 2GB. Even if the package of this product does not mention .ogg support it does! I bought this at a CVS pharmacy.<br />
<br />
== [http://www.audiodaihatsu.com.ar/productos.asp?cat=17 Daihatsu] D-Z40, D-Z20, D-Z10 ==<br />
<br />
Daihatsu sells in Argentina 1, 2 and 4 GB music players that support vorbis Q0 to Q10 out of the box. I tested the D-Z40 one. Maybe they are available under a different brand in othe places.<br />
<br />
== D-Wave 9830 ==<br />
<br />
Polish player with 2GB of internal memory. Supports Vorbis and has a FM radio, TFT display, ebook reader.<br />
<br />
== ENOX EMX-830, EMX-900, EMX-530 ==<br />
<br />
'The lightest and the smallest one among AAA type [http://www.superstoresearch.com/shopping/categories/4359-1/electronics/personal-audio/mp3-digital-media-players.html MP3 players].' Supports MP3, WMA, ASF, WAV, and Ogg Vorbis, has FM tuner, line-in and mic with direct MP3 encoding. Comes with 128/256/512/1024 MB flash memory and USB 2.0 interface. The EMX-900 has up to 1 GB storage and supports the same file formats. <br />
<br />
== EZAV T2, EMP-600, EMP-500, EMP-400 ==<br />
<br />
All players support Ogg Vorbis, MP3, ASF, and WMA codecs, FM radio recording (FM, voice, and line-in). The EMP-400 has 256MB and 512MB storage. The other players have storage options up to 1GB. The EMP-600 and T2 have full color displays and add support for a proprietary video format.<br />
<br />
== [http://www.fascin8.co.uk/f8/index.php/tevion/mp4/6940/11-mp4/42-6940 Fascin8] 6940 (Tevion) ==<br />
<br />
Sold in the UK at the ALDI supermarket stores, under their brand name "Tevion" the 6940 model is a 2GB multimedia player that can receive DAB radio and has a colour screen for viewing Jpegs and movies. It connects via a USB2 interface, and appears as a mass storage device. It claims to play Vorbis files, and does so without problems. The USB connector at the player end is non-standard, but extra cables can be obtained from the manufacturer.<br />
<br />
== [http://www.gp2x.com/ Gamepark Holdings] GP2X ==<br />
<br />
Linux-based handheld audio/video/game player. Uses SD cards for storage, removable batteries (AA) providing 6-8 hours of music listening.<br />
<br />
== [http://www.grundig.de/ Grundig ] MPaxx 920 ==<br />
<br />
Very small and simple device with 2GB at a low price (about 25 EUR). Although not mentioned anywhere on the homepage or inside the documentation of this device, it is capable of playing also Ogg Vorbis files out of the box. It connects via USB 2.0 cable (with which the internal accumulator is charged) and acts like a mass storage device, which is formatted via FAT32 filesystem.<br />
<br />
== i-BEAD 170, 400, 600 ==<br />
<br />
The i-BEAD 170 & 400 models are small, light flash-based players with built in Lithium-Polymer batteries. They also have OLED displays, and FM & line-in recording. Both are available in 256MB/512MB/1GB and both support Ogg Vorbis after a firmware upgrade. The i-BEAD 600 has up to 2 GB storage and is very small and supports Ogg Vorbis out of the box. PLEASE NOTE: Ogg Vorbis files encoded using pre-1.0 versions of the encoder will not work with these players.<br />
<br />
== [http://www.imedian.co.kr/ iMedian] M-Cody M-20, MX-100, 250, 400, 300, 500, 700 ==<br />
<br />
According to the homepage, they support Ogg Vorbis (besides MP3, WMA (some devices w/ DRM), ASF, WAV). Some come with a FM Receiver, USB 2.0 and work even as IR remote. One has a OLED, the others have colour LCDs. Battery and memory is internal. I infer from a review that the MX-100 is the same as a Rio SU70, but I haven't found any information about that rio gadget, though. The M-20 is the newest model, a thin portable in response to the iPod Shuffle. It looks exactly like Maxfield's Max-Sin Touch.<br />
<br />
== [http://insigniaproducts.com/products/portable-audio.html?active=false Insignia] Pilot and Sport ==<br />
<br />
Insignia is Best Buy's own brand. Seemingly discontinued, they were advertised to support Ogg Vorbis. The Pilot supports Ogg Vorbis and GNU/Linux out of the box. Haven't tried the Sport. 2GB, 4GB and 8GB models available. The Sport does not support any tags. Ogg files can not be used in playlists. Ogg files can not be shuffled. Thus, there is no way to order the files. Windows shows an error that the format is not supported when dragging over ogg files to the player. All also support bluetooth.<br />
<br />
== [http://www.iops.co.kr/enghome/index.html Iops] X7, Z5, Z3, F5, F4, MFP-312, MFP-325, MFP-350 ==<br />
<br />
Newer players offer video and photo support (X7, Z5, F5). Iops offers the MFP-300 series player with 128/256/512MB/1GB internal flash memory. They offer voice and FM radio recording whilst maintaining a lightweight portable size.<br />
<br />
== [http://www.iriver.com/ iRiver's] E100, iFP-3xx, iFP-5xx, iFP-7xx, iFP-8xx, iFP-9xx, iFP-10xx, iFP-11xx, Lplayer, T7, T10, T20, T30, T50, T60, U10, Clix, Clix2, X20 ==<br />
<br />
iRiver has a huge line of flash-based players with various memory sizes (128MB to 2GB). Some of these players may need an updated firmware in order to play Ogg Vorbis files, see the [http://www.iriveramerica.com/support/ support download page] for that. Note — on older players, only certain bitrates are supported, various problems are reported including reboots, silence and random noise when a VBR Vorbis passes outside the limit (either under 96Kbps or over 225 Kbps). Newer players don't have this limitation. However, please be alerted that many of the newer players, such as the Clix, use the Microsoft MTP transfer protocol exclusively so they only work with Windows, whereas other players may be shipped with MTP, but have alternate non-MTP firmware available for download. Tag support not present on U10/Clix (others also?), so Vorbis files will appear under 'unknown artist'/'unknown album'. Please note that the H10 model does not (yet?) support ogg, and can operate in both MTP and UMS (mass storage) modes. [http://easyh10.sf.net./ More information]. Confirmed that the T50 and T60 players support Ogg Vorbis, use UMS and have complete tag support out of the box.<br />
<br />
The iRiver Clix 4GB ('''not''' the iRiver Clix gen 2) available at [[http://www.bhphotovideo.com/]] supports Ogg Vorbis audio and metadata (artist/album/song names). The following notes apply:<br />
* The latest firmware, 2.6.0.0, was installed during the test. It is not known whether or not this is required for Ogg Vorbis support.<br />
* Windows XP SP2 with Windows Media Player 11 (or later) is absolutely required. '''Windows Media Player 10 will not work.'''<br />
* MTP is the only method to access the device. '''UMS will not work.'''<br />
* Once Windows Media Player 11 has been installed, other programs such as Windows Explorer or Winamp can be used to load Vorbis songs normally.<br />
* Do not confuse the iRiver Clix with the iRiver Clix gen 2. These notes apply only to the iRiver Clix.<br />
<br />
== [http://www.jensofsweden.com/ Jens Of Sweden's] MP-120, MP-130, MP-400, MP-450, MP-500 ==<br />
<br />
The MP-130 is a portable player with flash memory in 128/256/512MB sizes. This appears to be a rebranded Iops player. The MP-400 is a tiny machine with lots of features (line in, mic, fm radio, usb 2.0). With the updated 4.1 firmware it supports Ogg Vorbis files encoded with libvorbis version 1.0rc2 or later. When trying to play files encoded with earlier versions it freezes on playback, requiring an USB connect or reset button pressed (through a tiny hole) to wake up again. The MP-120, a 1Gb flash player, supports Ogg Vorbis with a firmware upgrade since March 2005. MP-120 still doesn't play old Ogg Vorbis files, but they don't make it freeze up. The MP-450 is basically a MP-400 with color o<br />
<br />
== [http://www.jnc-digital.com/Eng/ JNC's] SSF-2002, SSF-2005 ==<br />
<br />
These are flash-based players with 256 MB respectively 512 MB storage capacity. They have the usual FM radio which can be recorded in addition to voice. They also have a 1,9" color display.<br />
<br />
== [http://www.kingston.com/ Kingston] [http://www.kingston.com/flash/kpex.asp K-PEX 100] ==<br />
<br />
Two versions available but are now discontinued (as at March 2007): with 1 GB or 2 GB internal memory. Both models have an extra miniSD memory card storage slot. Ogg playback is sticky at high quality settings. (firmware v2.09) The internal equalizer is disabled when playing ogg. (firmware v2.09) This device is a rebranded Cenix GMP-M6.<br />
<br />
== [http://www.lexar.com/mp3/index.html Lexar's] LDP-800 ==<br />
<br />
Available from 03/2005 the LDP-800 is offering MP3, WMA and Ogg Vorbis Support with 256/512MB storage. It has a digital out, FM receiver and transmitter, can record from FM, mic and line-in and has a SD-card slot. Includes Sennheiser earbuds. Update: A telephoned sales representative informed on 2005-04-15 that this player would be available sometime in June. Update again: A sales representative telephoned on 2005-06-20 again stated that the player would be available sometime in June. However, a sales representitave at [http://www.ecost.com/ eCOST], an online store carrying the LDP-800, stated that their availability date is now 2005-07-15. Lexar now seem to have dropped this product. See discussion.<br />
<br />
== [http://www.lge.com.au/ LG's] UPANW5HSSI, UPANW1GSSI, UPANL1GSSI, UPANR1GSSI, UPANB1GSSI, FM30 ==<br />
<br />
Flash players with 512MB and 1GB capacity. The have no display other than a single multicolour LED. New FM30 model has a large colour display. The FM30 (and likely the older models, as well) does not support Vorbis metadata tags.<br />
<br />
== [http://www.lowrance.com/ Lowrance's] iFINDER Expedition C, Hunt C, PhD, iWay 350C, possibly others. ==<br />
<br />
GPS units, certain models, support playing MP3 and Ogg Vorbis files stored on the SD/MMC card, which is primarily there to hold map files and route/track data. The item descriptions only mention mp3, you have to dig into the manual or actually use the device to discover Vorbis support. What a nice surprise! Many units seem to include voice-recorder functionality too, for tagging waypoints with audio notes, but it's not clear what codec they record in.<br />
<br />
== [http://www.maxfield.de/ Maxfield's] Max-Ivy, Max-Diamond, Max-Movie, Max-Diablo, Max-Sin Touch ==<br />
<br />
The Max-Diamond supports MP3, Ogg Vorbis and WMA (DRM). It has 512MB flash memory and can record from FM radio. The Max-Movie has 1GB storage and supports DivX, MP3 WMA (DRM) and Ogg Vorbis. It also has FM radio and a display with 260.000 colors. The Max-Diablo supports the same audio formats, but can also display pictures and videos on its small OLED (4096 colors). It has 1GB storage. Max-Sin Touch has 512 MB or 1 GB internal memory. Not to be confused with Maxfield Max-Sin, which doesn't have ogg support. Max-Sin Touch looks exactly like M-Cody M-20.<br />
: While the Max-Sin Touch does play Ogg Vorbis, it only does so with occasional glitches, at least with a device bought in November 2006. Perhaps a future firmware upgrade might help, but I'm skeptical. At this time, I cannot recommend the player. ― [[User:Eloquence|Eloquence]] 22:48, 22 November 2006 (PST)<br />
:: It looks like there won't be any firmware upgrades in future. Maxfield GmbH became insolvent in january.<br />
<br />
== [http://www.mbird.co.kr/ M-bird's] XT-22S, XR-22 ==<br />
<br />
Available in 256MB/512MB/1GB sizes. USB 2.0. Supports Ogg Vorbis (although it doesn't seem to view tag info, will probably be fixed in future firmwares (?)), but also MP3 and WMA. It has small 200 mW built-in speaker. Inverted display with the ability to choose the foreground colour in 125 steps. Other features include FM-radio, voice recorder (built-in mic), line-in, alarm, and more. While XR-22 support memory upto 2GB and functions are similar to XT-22S.<br />
<br />
== Mediacom JukeBox Movie 150-C 2GB ==<br />
<br />
I created an "Ogg data, Vorbis audio, mono, 44100 Hz, ~96000 bps, created by: Xiph.Org libVorbis I" using Avidemux. It plays awesome!<br />
<br />
== [http://en.meizu.com/ Meizu] M6 miniPlayer ==<br />
<br />
Available in 1/2/4GB capacities. USB 2.0. Supports Ogg Vorbis and FLAC as well as MP3, MP2, WMA. DRM10 support should be supported with future firmware updates. 2.4", 260k color display, text, photo (BMP, JPG, GIF), and video (AVI), FM radio/recording, built-in mic for voice recording. English, Simplified Chinese, Traditional Chinese, Japanese, Korean and partial Hebrew language support. You can buy an an external battery pack which is rumored to enable USB On-The-Go support sometime in the future.<br />
<br />
== [http://www.mobiblu.com/ MobiBLU] Cube2, DAH-2100, US2, BOXON ==<br />
<br />
All the above players support Ogg Vorbis (Q1-Q10). The B153 and DAH-1500i models do not mention ogg Vorbis in their specifications<br />
<br />
== MP3 MP-8256, MP-8512, MP-81000 ==<br />
<br />
Looks like another whitebox label. No official website found yet, but three models are offered in shops: MP-8256 with 256MB memory, MP-8512 (512MB) and MP-81000 (1GB). Plays not only Ogg Vorbis, but [[MP3]], [[WMA]] and even BMP and Textfiles via small colour display. USB 2.0 interface. Sufficient quality in playback and recording (Radio/Line-In).<br />
<br />
== [http://mpeye.net/ MPeye] TS-400 ==<br />
<br />
A flash player which comes in 128MB/256MB/512MB/1GB sizes, has a FM-receiver, colour display and a voice recorder.<br />
<br />
== [http://www.mpmaneurope.com/product.aspx?product_id=77 MPMan] MP-FUB34 MP-CS157 ==<br />
<br />
The mpman FUB34 and FUB35 are available (March 2007) in the UK in electrical stores such as Comet and come in 128MB, 256MB, 512MB and 1GB memory sizes. They appear to be a Chinese S1 MP3 player. Although no mention is made of Ogg Vorbis support in the documentation or on the website (only MP3 & WMA), the format is supported. MP-CS157 is a multi-media player, supporting Ogg/Vorbis as well, even if there is no mention on the box. <br />
<br />
== MPMan MP-160 ==<br />
<br />
As today (23/11/09), the MP-160 does NOT play Ogg Vorbis files, although several shops and websites maintain the contrary. <br />
<br />
== Mustek MC-1503F ==<br />
<br />
Portable player with 1,5" colour display and 2GB of memory. The manual suggests that there are versions from 256MB to 4GB available. It only mentions MP3, WMA and WAV as supported formats but OGG Vorbis playback apparently works fine.<br />
<br />
== [http://www.muzio.co.kr/ Muzio's] JM200, JM250, JM300 ==<br />
<br />
Another Korean manufacturer jumps in and offers small flash-based players with 128MB up to 1GB storage capacities. They support the usual formats MP3/WMA/Ogg Vorbis, can record voice, receive FM radio.<br />
<br />
== [http://www.neurostechnology.com/ Neuros'] [http://wiki.neurostechnology.com/index.php/Neuros_II Neuros II] ==<br />
<br />
The Neuros II, discontinued in 2005, can be used as a stand-alone flash-player. You can later buy an HDD "backpack" from 20 to 80 gigs in size and switch the backpacks as you please. This player now has a [http://open.neurosaudio.com/ free software (open-source) firmware].<br />
<br />
== [http://www.nextar.com/ Nextar] 933A-1B ==<br />
<br />
This is an inexpensive flash-based player with 1G memory. (Recently purchased on sale for $18 US at K-mart) It comes in various other memory sizes, and I suspect these other models will also play Ogg Vorbis files. There is no mention on thier web site, or in the documentation that these will play Ogg Vorbis. The "drive formatting" on this device is strange, to be able to mount this device under Linux, I had to delete all partitions (showed as 4 non-standard partitions under Linux fdisk) in linux, then put the device in a windows XP machine and recreate a single partition and format as FAT. (Simply recreating a single partition and formatting as FAT under linux didn't allow the device to see the files copied to it.)<br />
<br />
: This seems to work on other Nextar models including MA933A<br />
<br />
== [http://pentagram.com.tw/ Pentagram] Vanquish R SKIT ==<br />
<br />
2 or 4 GB of storage memory, USB 2.0, weighs 23 grams, plays Ogg Vorbis, MP3, WMA, WAV and ASF, 1.1" OLED screen.<br />
<br />
== [http://www.philips.co.uk/c/mp3-and-mp4-players/gogear-muse-16-gb-sa3mus16s_02/prd Philips GoGear Muse] ==<br />
<br />
The ''GoGear Muse'' is a portable audio/video player that is advertised to support both Ogg Vorbis and FLAC out of the box. It is available with 8 GB or 16 internal memory and it has a microSD slot. The size of the device is comparable to a smart phone (3.2" display) and it weights 105 g.<br />
<br />
Note that the ''Philips GoGear Ariaz'' '''does not''' support Ogg Vorbis. But it plays FLAC encoded files.<br />
<br />
== Philips Voice Tracer ==<br />
<br />
There exist (checked beginning of year 2015) 2 versions of this product: cheaper model 1200 and more expensive model 2000, both designed like an ordinary HD-like USB storage device (cable needed to connect). 1200 is advertised as "voice recorder" only, while 2000 is supposed to be also an "MP3 and WMA" player, and have better recording features (better quality, stereo, ...). 1200 can record only WAVE 16 bpp, 24 KHz mono, docs are bad, maybe it can play its own files? Tests showed following: It '''can play''' (in mono) all common types of WAVE files, MP3, '''Ogg Vorbis''' and (native) '''FLAC''', but not Opus; apparently Philips doesn't know about Opus. Directory structure is hard-coded with four directories. Pausing is possible, seeking not.<br />
<br />
== [http://www.tigerdirect.com/applications/SearchTools/item-details.asp?EdpNo=1532817&Sku=TC3G-5012 PowerUp!] 1GB USB Player ==<br />
<br />
Power Up! brand 1GB player, available from [http://www.tigerdirect.com TigerDirect]. The unit is either the standard S1 or Centon 1GB USB player or a clone thereof. There is no mention of Ogg Vorbis support in any of the literature, but my unit plays ogg files. Bonus!<br />
<br />
== [http://www.pre-view.com.tw Preview Technology] ==<br />
<br />
Makes a number of OGG-Vorbis compatable players. Although only a handful of their players claim support for Vorbis, it appears that OGG Vorbis works on some of the models where it is not advertised. Their players are being re-branded sold as inexpensive "MP4" players. Many players by Ergotech, Vakoss, and Zicplay are based on designs by Preview.<br />
<br />
== [http://www.pyramid.com/Electronics/MP3_And_MP4_Players.aspx Pyramid MP3 & MP4 Players and Player Acccessories] MP3/MP4 Players ==<br />
<br />
There is a wide range of [http://www.pyramid.com/Electronics/MP3_And_MP4_Players.aspx MP3 and MP4 Players] to choose from on Pyramid.com and other similar sites.<br />
<br />
== Qoolqee K7 ==<br />
<br />
Manufactured by korean electronics company Hantel, This is an interesting mix of a flash-based MP3 player and an organizer: the player has 512/1024 MB storage and contact and calendar functions and can sync with Outlook. It supports MP3, WMA and Ogg Vorbis, has FM radio and connectors for two headphones. Their webpages are gone, and the Qoolqee is most likely discontinued.<br />
<br />
== [http://www.allpmp.org/2008/09/20/ramos-t8-review/ RAmos] T8 ==<br />
<br />
Lightweight 4.3-inch touchscreen screen. Screen resolution of 480×272. Uses USB connection. Based on the Rockchip RK2706 chipset.<br />
<br />
== Renkforce S30 ==<br />
<br />
The Renkforce S30, sold by Conrad Electronic in Germany, and available as a 2GB and a 4GB model, is a USB stick style "S1MP3" player and plays OGG Vorbis fine. It only displays the file name and the average bitrate, but no additional Metadata. The Manual only mentions MP3 and WMA.<br />
<br />
== [http://rovermedia.ru/ RoverMedia] ARIA X7 ==<br />
<br />
A portable Vorbis/MP3/WMA player with 512MB - 4GB internal flash memory, FM-receiver, recording function, picture viewer, video player.<br />
<br />
== [http://www.samsung.com/Products/ Samsung] / [http://www.yepp.co.kr/ Yepp] (product label), YP-C1, YP-F1, YP-MT6, YP-P2, YP-S2, YP-S3, YP-T6, YP-T7, YP-T9, YP-T10, YP-U1, YP-U2, YP-U3, YP-U4, YP-U5, YP-Z5, YP-53, YP-R1 ==<br />
<br />
Many Yepp players support Ogg, please see [[PortablePlayers/SamsungYepp]] for more details about each model. Note: many of these models being sold into DRM-sensitive markets (e.g. the United States) are configured as MTP (Media Transfer Protocol) devices rather than as USB mass-storage drives (UMS) and may require the use of specialized software on any system with which you use them. Samsung provides Windows drivers with these devices, which may or may not be necessary on Windows systems (recent versions of Windows Media Player reportedly support these devices without a specific driver). Using MTP-based players on non-Windows PCs will require installation of additional software. Linux support for at least some of these devices is available through [http://libmtp.sourceforge.net/ libmtp] and the "generic MTP device" plugin in [http://amarok.kde.org/ Amarok]. Read the specifications on the box carefully; if it says it depends on Windows Media Player, then it's probably an MTP device which may need Windows drivers or other MTP support software.<br />
<br />
The Samsung S3 (YP-S3) is (as of August 2008) a low-cost, internal flash memory player, with <b>official</b> out of the box support. Includes video screen. List price $80.<br />
<br />
The [http://www.samsung.com/my/consumer/detail/detail.do?group=mp3audiovideo&type=mp3player&subtype=mp3player&model_cd=YP-P2AB/XME Samsung P2 (YP-P2)] is an ogg vorbis supporting touch based digital audio player (2GB, 4GB, 8GB... and a 16GB likely to arrive in the U.S. early 2009, already available in Korea, Fall of 2008). The P2 also has FM radio and stereo bluetooth. In the U.S. it is likely that the device ships with MTP, but it is possible to switch it to UMS mode. Read through [http://www.anythingbutipod.com/forum/showthread.php?t=25784&highlight=samsung+games+pack this post/guide] (from anythingbutipod.com) for instructions. Vorbis playback is only available in UMS mode. As of November 2008, the 8GB player is available for between $150 and $180.<br />
<br />
The YP-U4 supports Ogg Vorbis out of the box. The included Samsung Media Studio also writes the correct track metadata for album, artist, title, etc. The player itself only reads these vorbis comments, however, after upgrading to firmware v1.28; in earlier versions the metadata information reads as 'unknown'. The device can transfer in MTP or USB mass storage modes, as selected on the device itself.<br />
<br />
The YP-R1 supports Ogg Vorbis out of the box and can be switched freely between MSC and MTP modes. However, Samsung's line as of January 2010 is that metadata is unsupported due to the lack of a global standard. (The validity of this statement being flawed in multiple ways.) See this [http://forums.cnet.com/5208-4_102-0.html?threadID=380161 forum thread] with an official response.<br />
<br />
== [http://www.sansa.com/players SanDisk] Sansa Clip and Sansa Fuze ==<br />
<br />
As of 2010 the ''Sansa Clip+'' supports Ogg Vorbis and FLAC playback out of the box. The Clip+ is the successor model of the Sansa Clip. It features at most 8 GB Flash internal memory and has a MicroSD extension slot. By default it presents itself as an USB mass storage device, though MTP mode is configurable, too. When used as USB mass storage device, music files are organized in an internal library that is kept automatically in sync (artist, album, etc. - Ogg/ID3 tags etc. are automatically read by the player), but navigation via folders is supported as well. It weights 25 g and one charge is enough for 12 h playback. In addition to this it contains a microphone, a FM transmitter and special coategories folders for podcasts and audiobooks support.<br />
<br />
The previous ''Sansa Clip'' officially supports Ogg Vorbis and FLAC playback. The ''Clip''-series is smaller than the Fuze, weighs less than one ounce (28 g - the 8 GB version; as of Feb 2009), and less expense. It features USB 2.0 cable, FM tuner with presets, microphone, and belt clip. Available in 1, 2, 4 and 8 GB built-in memory. It works per default as usb mass storage device. The audio file navigation is based on an internal tag-library (artist, album etc.). This library is kept in sync by the player, when the Sansa Clip is used as USB mass storage device. Audiobooks and Podcasts are organized in special categories by the player navigation system.<br />
<br />
The ''Fuze''-series also has bultin support for Ogg Vorbis and FLAC. It is larger and weighs two ounces. It also features a USB 2.0 cable, FM tuner with presets, microphone, and video display (for Mpeg-4 video). Available in 2, 4, and 8GB built-in memory and microSD/SDHC expansion.<br />
Official support is provided for this operating system through their message forum.<br />
<br />
See also:<br />
* [[wikipedia:SanDisk Sansa|Wikipedia article about Sandisk Sansa models]]<br />
* [[wikipedia:Sansa Fuze|Wipedia article about the Sansa Fuze]]<br />
* [http://forums.sandisk.com/sansa/board/message?board.id=clip&thread.id=6720&view=by_date_ascending&page=1 Official firmware upgrade FAQ]<br />
* [http://forums.sandisk.com/sansa/board/message?board.id=clip&message.id=10832&query.id=3787#M10832 Summary: Don't repartition your device if you don't know what you are doing]<br />
<br />
== [http://www.signeo.co.jp Signeo] / [http://www.signeo.co.jp/products/sn-a800/ SN-A800], [http://www.signeo.co.jp/products/sn-m700/ SN-M700], [http://www.signeo.co.jp/products/sn-m600/ SN-M600]. ==<br />
<br />
(2006-01-08) Seen in many electronics stores in Japan. The SN-A800 looks incredible — smaller than the iPod Nano, I think. I've not been able to try any for sound quality. Signeo also makes a hard drive player that supports vorbis. Their 2005-12 sales brochure claims Linux compatability for the SN-M600 and SN-M700.<br />
<br />
== Sumvision 1GB SV04-M18 ==<br />
<br />
My test ogg file was created using the timidity midi player, and the format was checked using mplayer, which used the ffvorbis codec to play back the same file. While this is a Chinese made MP3 player, another Sumvision player I have does not appear to play ogg vorbis files. The SV04-M18 works as a USB mass storage device.<br />
<br />
== [http://www.supportplus.cn/ SupportPlus'] SP-Advance ==<br />
<br />
Found this player in the local supermarket. The player is very small, has a 1 inch colour LCD and 1 GB of storage. Supports audio and video incl. Ogg Vorbis. The SP-Advance is not listed on their web site, but among the ones that are on the web site the 1-inch HDD Super Slim Jukebox claims Ogg Vorbis support.<br />
<br />
== [http://www.swissbit.com/ Swissbit's] Swissmemory s.beat ==<br />
<br />
The s.beat is sort of an original piece of hardware, as, you may have guessed it, it is a swiss army knife with an MP3 player. It supports Ogg Vorbis too and comes in sizes of 1 up to 4 GB.<br />
<br />
== T-Budd ==<br />
<br />
Korean company who makes wonderdull piece of hardware : TLN-100 which comes in 512 Mb or 1 Go. Supports MPEG 1/2/2.5/3 layer 3, WMA, ASF et OGG, PLF (proprietary video format) and works with two AAA batteries. Nice OLED display. FM radio. Very quick memory transfers. Not a usbkey type player, but a small USB adaptator is furnished, and allows the device to be plugged directly on a USB standard plug. USB2 Mass storage implemented : works perfectly under Linux. <br />
<br />
== [http://www.teac.com/ TEAC's] MP-60 ==<br />
<br />
Very small and simple device with 2GB at a low price (about 20 EUR). Although not mentioned anywhere on the homepage or inside the documentation of this device, it is capable of playing also Ogg Vorbis files out of the box. It connects via USB 2.0 cable (with which the internal accumulator is charged) and acts like a mass storage device, which is formatted via FAT32 filesystem.<br />
<br />
== [http://www.teac.com/ TEAC's] MP-400 ==<br />
<br />
The MP-400 is a flash-player with either 512MB or 1024MB storage. (As of 01-2009, could not find product sold online.)<br />
<br />
== Tekmax T-1000 [http://www.ioneit.com/ "ioneit"] ==<br />
<br />
256/512/1024 MB USB-connected mass storage device (flash based, uses FAT16, OS independent), 64K 4.41cm² color display, MP3/WMA/ASF/OGG support, equalizer and "3D sound", FM tuner, bookmark system, clock, stopwatch, alarm timer, record from microphone/FM as MP3, dual output, firmware upgradeable. Size: 3.5x8x1.7cm @ 40 grams. 16 hours of battery life.<br />
<br />
== [http://www.t-logic.it/ T-Logic] TL-258 ==<br />
<br />
Either 2048, 4096, or 8192MB storage. Vorbis, FLAC, and MPEG-4 playback. Very small player with touch sensitive pad and FM radio.<br />
<br />
== [http://www.trekstor.de/ TrekStor's] blaxx, iBeat cody, iBeat organix 2.0, iBeat sonix, ==<br />
<br />
The blaxx (also video-player) comes with TFT-disply and 2GB or 4 GB. The iBeat cody (also video-player) comes with 2/4 GB storage has a 262K color TFT-display. The iBeat organix 2.0 comes with a 2 color OLED, approx. 55h battery and 4GB or 8GB. The iBeat sonix has a large display that can be used to watch movies. It comes in sizes from 1GB to 4GB and batteries last for a period of approx. 45 hours. All player support Linux from kernel 2.4.x (identified as USB mass storage device).<br />
<br />
The iBeat organix 2.0 supports Ogg Vorbis out of the box. It also reads tags from media files and stores their information in an internal database so one can then search through all songs by artist, album title, song title, year etc., regardless of the actual directory structure. This works with Ogg Vorbis files, even with UTF-8 encoded "special characters" in the tags - at least roman characters with diacritics (like in ''Komm süßes Kreuz''), also ones not belonging to latin-1 (like in ''Dvořák'').<br />
<br />
== [http://www.turbolinux.com/ Turbolinux's] [http://www.turbolinux.com/products/wizpy/ Wizpy] ==<br />
<br />
== Wigo's CVM-101, CVM-103, CVM-300, CVS-100 ==<br />
<br />
Korean players with slick design, comes in 128/256/512/1024 MB depending on models. Support MP3/WMA/Ogg, FM receiver, voice recorder. Note: Ogg bitrates supported may be limited, check the manufacturer's specification for each device for details.<br />
<br />
== Xcent XT100 ==<br />
<br />
This player is sold in the U.K. and comes with 256/512MB. Supports Linux and BSD. (As of 01-2009 could not find product online.)<br />
<br />
== [http://www.yarvik.com/ Yarvik] [http://www.yarvik.com/en/product/portable-media-players/mp4-15-display/PMP220/#specifications Funkick Media Player 4 GB (PMP220)] ==<br />
<br />
Crappy interface, slow transfers. Plays Vorbis and FLAC (site only mentions "Ogg").<br />
<br />
Portuguese market.<br />
<br />
== [http://www.yuraku.com.sg/ Yuraku] [http://www.yuraku.com.sg/proddetails.asp?prodid=90&catid=38 Yur.Beat Fusion Stream] ==<br />
<br />
This is a 1GB-Flash-[http://en.wikipedia.org/wiki/Portable_media_player PMP], that also have a MicroSD card slot. The playback-function supports AAC, ADPCM, AIFF, MP3, Ogg Vorbis, WAV and WMA, the streaming-function MP3, WMA. FM- and Internet Radio (via "vTuner Internet Radio Index Service") are also available. PC Connection is possible via mini USB type B, USB 2.0 high speed or Wi-Fi (IEEE 802.11b/g standards).</div>Martin.leesehttps://wiki.xiph.org/index.php?title=OggMNG&diff=16033OggMNG2015-09-10T13:41:59Z<p>Martin.leese: Added short description of OggMNG</p>
<hr />
<div>Moving-image Network Graphics (MNG) is a PNG-like image format supporting multiple images, animation and transparent JPEG. OggMNG is the specification to place a MNG image inside an [[Ogg]] container.<br />
<br />
== Motivation ==<br />
<br />
The [http://libpng.org/pub/mng/ MNG] animation format grew out of the more successful PNG project as a way to provide animation support to compete with animated gif on the web. It basically allows encoding of both png and jpeg images and then construction of frames for display through alpha composition of those images and previously constructed frame data, including offsets and subimages. There is some crude scaling support, mostly as a way to implement gradients, but no general scale and rotation support. There is a delta-png mode for encoding minor frame-to-frame changes.<br />
<br />
There are also some simpler profiles that are just a sequence of full-frame images at a constant framerate.<br />
<br />
We are interested in an Ogg encapsulation of MNG for a number of reasons. The simplest is that MNG is an excellent format for 'traditional' cel-style animation, especially with fixed background plates, but within itself provides no audio support. Multiplexing such an animation with a Vorbis audio track in Ogg makes an obviously complete format. One could also put vorbis data into the MNG format as well of course "VHDR, VDAT, ..., VEND" but we have other purposes in mind.<br />
<br />
Although most efficient in compressing animation, MNG's support for both high-quality PNG lossless compression and subsumption of mjpeg make it a good source format for working with video in the Ogg framework. Combined with FLAC audio we have a good mastering format, and something that can be piped to encoders in a single stream.<br />
<br />
Finally, we want to support 'slideshow' tracks and graphic overlays over video in Ogg Theora. So one can do DVD-Video style graphic subtitles if you want precise control over the appearance (only with alpha blending so they look much better) or even complicated graphical annotations of video, like the VH1 "Pop Up Video" series. On the other side, one can do a series of slides with music or commentary, for example, a webcast of a conference presentation can include both video of the speaker and full-resolution images of the slides as they are presented, a much better solution than the current practice of cutting periodically to an illegible version in the video feed itself.<br />
<br />
== Specification ==<br />
<br />
Native [http://libpng.org/pub/mng/spec/ MNG] is a chunk-based file format. Each coded element (header, compressed images data, control information, etc.) is wrapped in a 'chunk' structure consisting of a 4-byte data length, a 4-byte type field, the actual data, and a 4-byte CRC. These chunks are simply concatenated to form the MNG bytestream. There are some ordering rules for the chunks, and an initial 8 byte magic sequence for recognition.<br />
<br />
The most straightforward encapsulation is to make an Ogg packet of each chunk, and then apply some familiar conventions for pagination to assist with streaming and seekability. We complicate this by including only the chunk type and data fields, and *not* the length and checksum which are redundant in Ogg. This increases complexity, but the bitrate savings are valuable in some cases. libmng (v1.0.8 and later) has special support for this. Granulepos would be the presentation time of the mng frame (in "ticks" as defined in the MHDR chunk) in variable framerate schemes, or the frame count in fixed-framerate streams, analogous to the treatment in MNG itself.<br />
<br />
The beginning-of-stream packet thus consists on the 8 byte MNG file magic followed by the MHDR chunk type and data. This satisfies the design requirements of having the initial packet provide both codec identification and relevant information about the stream, such as the granulepos scheme. This must appear on a page by itself as usual. All other packets consist of individual chunk type+body as described above. The end-of-stream packet will be the MEND chunk (which has no body and so consists of only the 4 byte type) and need not be on a page by itself, nor must that page appear at the end of a grouped Ogg segment.<br />
<br />
For the sake of streaming, complex MNG streams should divide their referenced data into a section at the beginning of the logical stream, or associated within some trivial time with the actual display, so seeking works without having to search beyond the beginning of the stream for referenced objects, as is already required by vorbis and theora. For simple sequence-of-frames data, things are more straightforward of course. Likewise, if there is a tEXt (or zTXt or iTXt) chunk with metadata describing the whole stream, it should appear at the beginning of the stream after the MHDR but before any image data.<br />
<br />
Since the still image formats PNG or JNG (png-style file format encapsulating jpeg image data with an optional alpha mask) are also by specification valid MNG files, we make the same extension to allow their encapsulation in Ogg, e.g. for album art. In that case the same stripped chunk to packet mapping is used, with the beginning-of-stream packet being the 8 byte PNG or JNG signature followed by the IHDR or JHDR chunk type and body, respectively. Encoders should set the granulepos of any pages containing still image data to 0. Decoders should ignore the granulepos and display the still image in whatever association with the other data it deems appropriate.<br />
<br />
== Speculation ==<br />
<br />
There are a couple of undecided issues that most likely need feedback from implementation.<br />
<br />
MNG can do variable frame rate streams, but each frame is marked with the delay until the next frame, which does not work well with Ogg's stream-oriented design. There have been two proposals to deal with this. A 'SHOW' chunk (empty) can be periodically repeated to refresh the previous frame. This is tedious but fairly low overhead, and results in a MNG stream that would play back identically outside the Ogg wrapper. Alternatively, the Ogg page granulepos could be used to indicate presentation time, overriding the internal MNG timing. This is not without precedent since MNG defines a framing rate of 'zero' as a special value where advance is triggered by some external event (3d volume slices, manual slideshow advance, and so on). Possibly both could be implemented with the Ogg granulepos overriding only when the MHDR framing rate is 0.<br />
<br />
We have two uses of MNG in Ogg that need to be distinguished. The MNG stream can be a separate 'video' stream all on its own, e.g. presentation slides that should be displayed in parallel with the other streams, and as an overlay on another video stream. This could be done with heuristics (an overlay must be transparent, and match the video in frame dimensions), conventions (a tEXt chuck could include a "ROLE:Overlay" definition, or through a separate metastream header.<br />
<br />
Since this is a general requirement for overlay streams, the plan is to define standard entries in the Skeleton message headers (placed in the fishbone packet corresponding to the MNG stream) to make these determinations. The heuristics described above can be used as fallbacks in the absence of Skeleton information.<br />
<br />
== Contra ==<br />
<br />
The MNG format has seen little adoption. The niche it was targeted at (animated web graphics) has been filled by flash, with SVG being the competing free format. The full profile is very complex while missing obvious features like general scale and rotation for sprite animation. Wouldn't something simpler or more popular be a better choice?<br />
<br />
See also [[OggSpots]] and [http://wiki.mozilla.org/APNG_Specification APNG].<br />
<br />
== Implementation Notes ==<br />
<br />
For the presentation slides use case, the streaming server will want to cache the current frame and send it on connect to new listeners. This is a new requirement over just caching the initial headers that are required by the Vorbis and Theora codecs.<br />
<br />
[[Category:Ogg Mappings]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=OpusFAQ&diff=16017OpusFAQ2015-08-24T15:40:28Z<p>Martin.leese: /* How does Opus compare to other codecs? */ replaced ellipsis with eg:</p>
<hr />
<div>If you are looking for info not covered in this FAQ, try the pages included in the [[:Category:Opus|Opus category]] of this wiki.<br />
<br />
[[Image:Opus logo trans.png|right]]<br />
<br />
== General Questions ==<br />
<br />
=== What is Opus? Who created it? ===<br />
<br />
Opus is a totally open, royalty-free, highly versatile audio codec.<br />
<br />
It is primarily designed for interactive speech and music transmission over the Internet, but is also applicable to storage and streaming applications. It incorporates technology from Skype's '''[https://en.wikipedia.org/wiki/SILK SILK]''' codec and Xiph.Org's '''[http://celt-codec.org/ CELT]''' codec. It has been standardized by the Internet Engineering Task Force (IETF) as '''[http://tools.ietf.org/html/rfc6716 RFC 6716]'''. <br />
<br />
Opus has been in development since early 2007. Programmers associated with '''[http://xiph.org/ Xiph.Org]''', '''[https://www.skype.com/ Skype]''' and several other organizations have contributed to its development and to the standardization process as part of the IETF's codec working group.<br />
<br />
=== How does Opus compare to other codecs? ===<br />
<br />
Opus is distinguished from most high quality formats (eg: AAC, Vorbis, MP3) by having '''low delay''' (5 ~ 66.5 ms) and distinguished from most low delay formats (eg: G.711, GSM, Speex) by supporting '''high audio quality''' ([https://tools.ietf.org/html/rfc6716#section-2.1.1 details here]).<br />
<br />
It meets or exceeds existing codecs' quality across a wide range of bitrates, and it operates at lower delay than virtually any existing compressed format.<br />
<br />
Most importantly, the Opus format and its reference implementation are both available under '''[http://opus-codec.com/license/ liberal, royalty-free licenses]'''.<br /><br />
This makes it:<br />
* easy to adopt<br />
* compatible with free software<br />
* suitable for use as part of the basic infrastructure of the Internet<br />
<br />
See the Opus '''[http://opus-codec.org/comparison comparison page]''' for more details.<br />
<br />
=== Does Opus make all those other lossy codecs obsolete? ===<br />
<br />
Theoretically, yes.<br />
<br />
From a technical point of view (loss, delay, bitrates, ...) it should replace both [[Vorbis]] and [[Speex]], and the common proprietary codecs too.<br />
<br />
=== Will Opus replace Vorbis in video files? ===<br />
<br />
For OGG [[Theora]] video files, it can, just the overall size reduction will be minimal and it will break compatibility with existing players.<br />
<br />
For WebM video files, the convention is to use the VP9 video codec when using Opus as an audio codec.<br />
<br />
=== How do I use Opus? What programs support Opus? ===<br />
<br />
Opus decoding support is now included in '''[http://caniuse.com/opus some Internet browsers]''' and many applications, including '''[https://www.mozilla.org/firefox Firefox]''', '''[https://www.foobar2000.org/ foobar2000]''' and '''[https://www.videolan.org/vlc/ VLC]''', as well as in frameworks such as '''[http://gstreamer.freedesktop.org/ GStreamer]''' and '''[https://ffmpeg.org/ FFmpeg]'''.<br />
<br />
For now, the best way to '''encode''' Opus files is to use the '''opusenc''' command-line tool from the '''[http://opus-codec.com/downloads/ opus-tools package]'''.<br />
If you want to encode many files at once (e.g. your music library), you can also try the '''[http://lamexp.sourceforge.net/ LameXP]''' converter.<br />
<br />
For real-time applications, Opus support is available in '''[http://www.webrtc.org/ Google's WebRTC codebase]'''.<br />
<br />
Opus is a relatively new codec: many more applications will support it in the near future.<br />
<br />
=== Does Opus support higher sampling rates, such as 96 kHz or 192 kHz? ===<br />
<br />
Yes and no.<br />
<br />
Opus encoding tools like opusenc will happily encode input files that are sampled at 96 or 192 kHz.<br />
<br />
However, files at these rates are internally '''converted to 48 kHz''' and then only frequencies '''up to 20 kHz''' are encoded.<br />
<br />
The reason is simple: lossy codecs are designed to preserve audible details while discarding irrelevant information. Since the human ear can only hear up to 20 kHz at best (usually lower than that), frequency content above 20 kHz is the first thing to go.<br />
<br />
See Monty's '''[http://people.xiph.org/~xiphmont/demo/neil-young.html article]''' for more details.<br />
<br />
=== What are the licensing requirements? ===<br />
<br />
The reference Opus source code is released under a three-clause BSD license, which is a very permissive Open Source license. Commercial use and distribution (including in proprietary software) is permitted, provided that some basic conditions specified in the license are met. <br />
<br />
Opus is also covered by some patents, for which royalty-free usage rights are granted, under conditions that the authors believe are compatible with (hopefully) all open source licenses, including the GPL (v2 and v3).<br />
<br />
See the [http://www.opus-codec.org/license/ licensing page] for details.<br />
<br />
=== Why make Opus free? ===<br />
<br />
On the Internet, protocol and codec standards are part of the common infrastructure everyone builds upon.<br />
<br />
Most of the value of a high-quality standard is the innovation and inter-operation provided by the systems built on top of it. When a few parties have monopoly rights to monetize a standard, that infrastructure stops being so common and everyone else has more reason to use their own solution instead, increasing cost and reducing efficiency.<br />
<br />
Imagine a road system where each type of car could only drive on its own manufacturer's pavement. We all benefit from living in a world where all the roads are connected.<br />
<br />
This is why Opus, unlike many codecs, is free.<br />
<br />
=== Is the SILK part of Opus compatible with the SILK implementation shipped in Skype? ===<br />
<br />
No.<br />
<br />
The SILK codec, as submitted by Skype to the IETF, was heavily modified as part of its integration within Opus. The modifications are significant enough that it is not possible to just write a "translator". Even sharing code between Opus and the "old SILK" would be highly complex.<br />
<br />
=== Why not keep the SILK and CELT codecs separate? ===<br />
Opus is more than just two independent codecs with a switch.<br />
<br />
In addition to a [https://en.wikipedia.org/wiki/Linear_predictive_coding Linear Prediction] '''SILK mode''' and an [https://en.wikipedia.org/wiki/Modified_discrete_cosine_transform MDCT] '''CELT mode''' it has a '''hybrid mode''', where speech frequencies up to 8 kHz are encoded with LP while those between 8 and 20 kHz are encoded with MDCT. This is what allows Opus to have such high speech quality around 32 kbps.<br />
<br />
Another advantage of the integration is the ability to switch between these 3 modes seamlessly, without any audible "glitches" and without any out-of-band signalling.<br />
<br />
=== Now that Opus is standardized, will its development stop, or can it be further improved? ===<br />
Yes, Opus '''can''' and '''should''' be improved, because unlike most ITU-T codecs, Opus is only defined in terms of its decoder.<br />
<br />
The encoder can keep evolving as long as the bitstream it produces can be decoded by the reference decoder. This is what made it possible for modern MP3 encoders (e.g. '''[https://en.wikipedia.org/wiki/LAME LAME]''') to improve far beyond the original '''[https://en.wikipedia.org/wiki/L3enc L3enc]''' and '''dist10''' reference implementations.<br />
<br />
Although it is unlikely that Opus encoders will see such a spectacular evolution, we certainly hope that future encoders will become much better than the reference encoder.<br />
<br />
In fact, the 1.1 libopus release significantly improves on the reference encoder's quality. See '''[https://people.xiph.org/~xiphmont/demo/opus/demo3.shtml Monty's demo]''' for more details.<br />
<br />
=== Will all future Opus releases comply with the [http://tools.ietf.org/html/rfc6716 Opus specification]? ===<br />
<br />
Yes.<br />
<br />
=== In what ways is Opus optimized for the Internet? ===<br />
<br />
Opus has good packet loss robustness and concealment, but its optimisations go further.<br />
<br />
One of the first things we've been asked when designing Opus was to make the rate '''really''' adaptable because we never know what kind of rates will be available. This not only meant having a wide range of bitrates, but also being able to vary in small increments.<br />
<br />
This is why Opus scales from about '''6 ''' to '''512 kb/s''', in increments of '''0.4 kb/s''' (one byte with 20 ms frames). Opus can have '''more than 1200 possible bitrates''' while spending only '''11 bits''' signalling the bitrate because UDP already encodes the packet size.<br />
<br />
One last aspect is that Opus is simple to transport over RTP, as can be seen from the [http://tools.ietf.org/html/draft-spittka-payload-rtp-opus Opus RTP payload format]. For example, it's possible to decode RTP packets without having even seen the SDP or any out-of-band signalling.<br />
<br />
=== What applications for Android can play Opus? ===<br />
<br />
Right now, there are just a few but that list is fast growing. Please reference [http://android.stackexchange.com/q/37970/7425 this question on android.stackexchange.com]. Feel free to suggest other applications.<br />
<br />
=== When will the next version be released? ===<br />
<br />
When it's done. Seriously, we do not know.<br />
<br />
Opus is not a large project with a fixed release schedule.<br />
<br />
That being said, our [http://www.opus-codec.org/downloads/ pre-releases] and even the [https://git.xiph.org/?p=opus.git git repository] are generally pretty stable and given proper testing (which you should always do anyway), are safe to distribute.<br />
<br />
Just be aware that the API of new features (that have never been included in a stable release) could potentially still change.<br />
<br />
== Software Developers' Questions ==<br />
<br />
=== On what platforms does Opus run? ===<br />
<br />
The Opus code base is written in C89 and should run on the vast majority of recent (and not so recent) CPUs.<br />
<br />
A few of the platforms on which Opus has been tested and is known to run include x86, x86-64, ARM, Itanium, Blackfin, and SPARC.<br />
<br />
=== Is there a fixed-point implementation? ===<br />
<br />
Yes.<br />
<br />
The fixed-point and floating-point decoder and encoder implementations are part of the same code base.<br />
<br />
The code defaults to float, so you need to configure with '''--enable-fixed-point''' (or define '''FIXED_POINT''' if not using the configure script) to build the code for fixed-point.<br />
<br />
=== Which implementation should I use? ===<br />
<br />
While the implementation in RFC 6716 is what ''defines'' the standard, it is likely not the best and most up-to-date implementation.<br />
<br />
The [http://opus-codec.org/ Opus] website was set up for the purpose of continually improving the implementation — in terms of speed, encoding quality, device compatibility, etc — while still conforming to the standard.<br />
<br />
All Opus implementations are compatible by definition.<br />
<br />
=== How is supporting Opus different from supporting Speex/G.711/MP3? ===<br />
<br />
Opus has variable frame durations which can change on the fly, so an Opus decoder needs to be ready to accept packets with durations that are '''any multiple of 2.5ms''' up to a '''maximum of 120ms'''. <br />
<br />
The opus encoder and decoder do not need to have matched sampling rates or channel counts. It is recommended to always just decode at the highest rate the hardware supports (e.g. 48kHz stereo) so the user gets the full quality of whatever the far end is sending.<br />
<br />
=== My application doesn't work. Can anyone help me? ===<br />
<br />
It's possible to get help, but before doing so, there are a few basic things to try:<br />
<br />
* Implement the application with uncompressed audio instead of Opus. If it still doesn't work, then the problem isn't related to Opus.<br />
* Read the [http://www.opus-codec.org/docs/ documentation].<br />
* Read the [https://git.xiph.org/?p=opus.git;a=blob;f=src/opus_demo.c opus_demo.c] source code to see how to use the encoder and decoder.<br />
<br />
If you still can't solve the problem, the best option is to ask for help on the [http://lists.xiph.org/mailman/listinfo/opus mailing list].<br />
<br />
=== How do I report a bug? ===<br />
<br />
If you think you have found a bug in Opus (and not in your application), please [https://trac.xiph.org/newticket?component=Opus file a bug report].<br />
<br />
Please include a way for us to reproduce the problem. The best way to do this is to provide an input file, along with the opusenc/opusdec/opus_demo command line that causes the bug to occur.<br />
<br />
If the bug cannot be triggered by the command line tools, please provide a simple patch or C file that can help reproduce it. Please also provide any other relevant information, such as OS, CPU, build options, etc.<br />
<br />
Don't hesitate to also contact us on the [http://lists.xiph.org/mailman/listinfo/opus mailing list] or on [irc://irc.freenode.net/opus IRC].<br />
<br />
=== What is Opus Custom? ===<br />
<br />
Opus Custom is an '''optional''' part of the Opus standard that allows for sampling rates other than 8, 12, 16, 24, or 48 kHz and frame sizes other than multiples of 2.5 ms.<br />
<br />
Opus Custom requires additional out-of-band signalling that Opus does not normally require and disables many of Opus' coding modes. Also, because it is an optional part of the specification, using Opus Custom may lead to compatibility problems.<br />
<br />
For these reasons, its use is discouraged outside of very specific applications, for example:<br />
* ultra low delay applications where synchronization with the soundcard buffer is important. <br />
* low-power embedded applications where compatibility with others is not important.<br />
<br />
For almost all other types of applications, Opus Custom should not be used.<br />
<br />
=== How do I use 44.1 kHz or some other sampling rate not directly supported by Opus? ===<br />
<br />
Tools which read or write Opus should inter-operate with other sampling rates by transparently performing sample rate conversion behind the scenes whenever necessary. In particular, software developers should not use Opus Custom for 44.1 kHz support, except in the very specific circumstances outlined above.<br />
<br />
Note that it's generally preferable for a decoder to output at 48kHz, even when you know the original input was 44.1kHz. This is not only because you can skip resampling, but also because many cheaper audio interfaces have poor quality output for 44.1kHz.<br />
<br />
The '''[https://opus-codec.org/downloads/ opus-tools]''' package source code contains a small, high quality, high performance, BSD licensed resampler which can be used where resampling is required.<br />
<br />
=== How is the bitrate setting used in VBR mode? ===<br />
<br />
Variable bitrate (VBR) mode allows the bitrate to automatically vary over time based on the audio being encoded, in order to achieve a consistent quality.<br />
<br />
The bitrate setting controls the desired quality, on a scale that is calibrated to closely approximate the average bitrate that would be obtained over a large and diverse collection of audio. The actual bitrate of any particular audio stream may be higher or lower than this average.<br />
<br />
=== What frame size should I use? ===<br />
<br />
A '''20ms''' frame size works well for most applications.<br />
<br />
Smaller frame sizes may be used to achieve lower latency, but have lower quality at a given bitrate.<br />
<br />
Sizes greater than 20 ms increase latency and are generally beneficial only at fairly low bitrates, or when used to reduce external overhead (e.g. by reducing the number of packets that are sent).<br />
<br />
=== Forward Error correction (FEC) doesn't appear to do anything! HELP! ===<br />
<br />
The in-band FEC feature of Opus helps reduce the harm of packet loss by encoding some information about the prior packet.<br />
<br />
In order to make use of in-band FEC the decoder must delay its output by at least one frame so that it can call the decoder with the decode_fec argument on the ''next'' frame in order to reconstruct the missed frame. This works best if it's integrated with a jitter buffer.<br />
<br />
FEC is only used by the encoder under certain conditions:<br />
* the feature must be enabled via the OPUS_SET_INBAND_FEC CTL<br />
* the encoder must be told to expect loss via the OPUS_SET_PACKET_LOSS_PERC CTL<br />
* the codec must be operated in any of the linear prediction or Hybrid modes<br />
<br />
Frame durations shorter than 10ms and very high bitrates will use the MDCT modes, where FEC is not available.<br />
<br />
Even when FEC is not used, telling the encoder about the expected level of loss will help it make more intelligent decisions. By default the implementation assumes there is no loss.<br />
<br />
=== I can't use malloc or much stack on my embedded platform. How do I make Opus work? ===<br />
<br />
A normal build of libopus only uses malloc/free in the _create() and _destroy() calls, so Opus is safe for realtime use so long as the codec state is pre-created.<br />
<br />
In order to build Opus without any reference to malloc/free at all use init() calls rather than the create() calls in your application and compile with <tt>CFLAGS="-DOVERRIDE_OPUS_ALLOC -DOVERRIDE_OPUS_FREE -D'opus_alloc(x)=NULL' -D'opus_free(x)=NULL' "</tt> you will get a build which does not use malloc/free.<br />
<br />
If libopus is built with -DNONTHREADSAFE_PSEUDOSTACK (instead of VAR_ARRAYS, or USE_ALLOCA) it will use a user provided block of heap instead of stack for many things resulting in much lower the stack usage. However this makes the resulting library non-threadsafe and is not recommend on anything except limited embedded platforms.<br />
<br />
=== How can I ensure that my software interoperates with other software implementing Opus? ===<br />
<br />
For applications using Ogg files, there are some [http://people.xiph.org/~greg/opus_testvectors/ Ogg Opus testvectors] to test decoders and you can test encoders with opusdec. For RTP applications, the opusrtp tool can be useful.<br />
<br />
In general, here's a list of specific issues to check:<br />
* Can your application handle all frame sizes, including changing the frame size from frame to frame?<br />
* Does your application properly react to lost packet by calling the decoder with a NULL packet?<br />
<br />
=== What is the complexity of Opus? ===<br />
<br />
The complexity of Opus varies by a large amount based on the settings used.<br />
<br />
It depends on the mode, audio bandwidth, number of channels, and even a "complexity knob" that can trade complexity for quality. It will run easily on any recent PC or smartphone. <br />
<br />
For slower embedded CPUs/DSPs, the amount of CPU required will vary depending on the configuration and the exact CPU, so you will need to experiment. Do not expect Opus to run quickly on really slow devices like 8-bit micro-controllers.<br />
<br />
=== Opus is using too much CPU for my application. What can I do? ===<br />
<br />
First don't panic and don't start writing assembly just yet.<br />
<br />
It's possible that you're just not using the right set of options.<br />
<br />
If you're targeting an embedded/mobile platform, chances are the fixed-point build will be faster, so make sure you're using '''--enable-fixed-point''' or defining FIXED_POINT in the build system.<br />
<br />
Opus also has a complexity option that can trade quality for complexity. The default is highest quality and highest complexity. You can control this using OPUS_SET_COMPLEXITY() (see doc for details). If all else fails and you need to optimize the Opus code, see the next question.<br />
<br />
=== I would like to optimize Opus. Where should I start? ===<br />
<br />
Please '''[http://www.opus-codec.org/contact/ contact us]''' before you start, or at least before you get too far.<br />
<br />
This will help coordinate the optimization effort and generally reduce the probability of wasting your time on duplicated effort or generally going on the wrong path. <br />
<br />
=== Does Opus have an echo canceller like Speex does? ===<br />
<br />
Echo cancellation is completely independent from codecs.<br />
<br />
You can use any echo canceller (including the one from libspeexdsp) along with Opus.<br />
<br />
That being said, among the free acoustic echo cancelers (AEC) we're aware of, the best is probably the Google AEC from the [https://code.google.com/p/webrtc/ WebRTC codebase].<br />
<br />
[[Category:Opus]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=Constrained-Energy_Fourier_Transforms&diff=16007Constrained-Energy Fourier Transforms2015-08-23T16:07:05Z<p>Martin.leese: Created #REDIRECT</p>
<hr />
<div>#REDIRECT [[CEFT]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=OpusFAQ&diff=16006OpusFAQ2015-08-23T16:05:31Z<p>Martin.leese: Simpler Wikilink</p>
<hr />
<div>If you are looking for info not covered in this FAQ, try the pages included in the [[:Category:Opus|Opus category]] of this wiki.<br />
<br />
[[Image:Opus logo trans.png|right]]<br />
<br />
== General Questions ==<br />
<br />
=== What is Opus? Who created it? ===<br />
<br />
Opus is a totally open, royalty-free, highly versatile audio codec.<br />
<br />
It is primarily designed for interactive speech and music transmission over the Internet, but is also applicable to storage and streaming applications. It incorporates technology from Skype's SILK codec and Xiph.Org's CELT codec. It has been standardized by the Internet Engineering Task Force (IETF) as '''[http://tools.ietf.org/html/rfc6716 RFC 6716]'''. <br />
<br />
Opus has been in development since early 2007. Programmers associated with Xiph.Org, Skype, and several other organizations have contributed to its development and to the standardization process as part of the IETF's codec working group.<br />
<br />
=== How does Opus compare to other codecs? ===<br />
<br />
Opus is distinguished from most formats for high quality audio (AAC, Vorbis, MP3) by having low delay and it is distinguished from most low delay formats (G.711, GSM, Speex) by supporting high audio quality. It meets or exceeds existing codecs' quality across a wide range of bitrates, and it operates at lower delay than virtually any existing compressed format.<br />
<br />
Further, the Opus format itself and the reference implementation are available under liberal royalty-free licenses, making it easy to adopt, compatible with free software, and suitable for usage as part of the basic infrastructure of the Internet.<br />
<br />
See the Opus [http://opus-codec.org/comparison comparison page] for more details.<br />
<br />
=== Does Opus make all those other lossy codecs obsolete? ===<br />
<br />
Theoretically, yes.<br />
<br />
From a technical point of view (loss, delay, bitrates, ...) it should replace both [[Vorbis]] and [[Speex]], and the common proprietary codecs too.<br />
<br />
=== Will Opus replace Vorbis in video files? ===<br />
<br />
For OGG [[Theora]] video files, it can, just the overall size reduction will be minimal and it will break compatibility with existing players.<br />
<br />
For WebM video files, the convention is to use the VP9 video codec when using Opus as an audio codec.<br />
<br />
=== How do I use Opus? What programs support Opus? ===<br />
<br />
Opus decoding support is now included in many applications, including Firefox, foobar2000, and VLC, as well as in frameworks such as GStreamer and FFmpeg.<br />
<br />
For now, the best way to '''encode''' Opus files is to use the opusenc command-line tool from the opus-tools package.<br />
<br />
For real-time applications, Opus support is available in Google's WebRTC codebase.<br />
<br />
Opus is still a relatively new codec: many more applications will support it in the near future.<br />
<br />
=== Does Opus support higher sampling rates, such as 96 kHz or 192 kHz? ===<br />
<br />
Yes and no.<br />
<br />
Opus encoding tools like opusenc will happily encode files that are sampled at 96 or 192 kHz.<br />
<br />
However, input files at these rates are internally '''converted to 48 kHz''' and then only frequencies '''up to 20 kHz''' are encoded.<br />
<br />
The reason is simple: lossy codecs are designed to preserve audible details while discarding irrelevant information. Since the human ear can only hear up to 20 kHz at best (usually lower than that), frequency content above 20 kHz is the first thing to go.<br />
<br />
See Monty's [http://people.xiph.org/~xiphmont/demo/neil-young.html 24/192 Music Downloads ...and why they make no sense] for more details.<br />
<br />
=== What are the licensing requirements? ===<br />
<br />
The reference Opus source code is released under a three-clause BSD license, which is a very permissive Open Source license. Commercial use and distribution (including in proprietary software) is permitted, provided that some basic conditions specified in the license are met. <br />
<br />
Opus is also covered by some patents, for which royalty-free usage rights are granted, under conditions that the authors believe are compatible with (hopefully) all open source licenses, including the GPL (v2 and v3).<br />
<br />
See the [http://www.opus-codec.org/license/ licensing page] for details.<br />
<br />
=== Why make Opus free? ===<br />
<br />
On the Internet, protocol and codec standards are part of the common infrastructure everyone builds upon.<br />
<br />
Most of the value of a high-quality standard is the innovation and inter-operation provided by the systems built on top of it. When a few parties have monopoly rights to monetize a standard, that infrastructure stops being so common and everyone else has more reason to use their own solution instead, increasing cost and reducing efficiency.<br />
<br />
Imagine a road system where each type of car could only drive on its own manufacturer's pavement. We all benefit from living in a world where all the roads are connected.<br />
<br />
This is why Opus, unlike many codecs, is free.<br />
<br />
=== Is the SILK part of Opus compatible with the SILK implementation shipped in Skype? ===<br />
<br />
No.<br />
<br />
The SILK codec, as submitted by Skype to the IETF, was heavily modified as part of its integration within Opus. The modifications are significant enough that it is not possible to just write a "translator". Even sharing code between Opus and the "old SILK" would be highly complex.<br />
<br />
=== Why not keep the SILK and CELT codecs separate? ===<br />
Opus is more than just two independent codecs with a switch.<br />
<br />
In addition to a [https://en.wikipedia.org/wiki/Linear_predictive_coding Linear Prediction] "SILK mode" and a [https://en.wikipedia.org/wiki/Modified_discrete_cosine_transform MDCT] "CELT mode" it has a "hybrid mode", where speech frequencies up to 8 kHz are encoded with LP while those above 8 kHz and up to 20 kHz are encoded with MDCT. This is what allows Opus to have such high speech quality around 32 kb/s.<br />
<br />
Another advantage of the integration is the ability to switch between these 3 modes seamlessly, without any audible "glitches" and without any out-of-band signalling.<br />
<br />
=== Now that Opus is standardized, will its development stop, or can it be further improved? ===<br />
Yes, Opus '''can''' and '''should''' be improved, because unlike most ITU-T codecs, Opus is only defined in terms of its decoder.<br />
<br />
The encoder can keep evolving as long as the bitstream it produces can be decoded by the reference decoder. This is what made it possible for modern MP3 encoders (e.g. '''[https://en.wikipedia.org/wiki/LAME LAME]''') to improve far beyond the original '''[https://en.wikipedia.org/wiki/L3enc L3enc]''' and '''dist10''' reference implementations.<br />
<br />
Although it is unlikely that Opus encoders will see such a spectacular evolution, we certainly hope that future encoders will become much better than the reference encoder.<br />
<br />
In fact, the 1.1 libopus release significantly improves on the reference encoder's quality. See '''[https://people.xiph.org/~xiphmont/demo/opus/demo3.shtml Monty's demo]''' for more details.<br />
<br />
=== Will all future Opus releases comply with the [http://tools.ietf.org/html/rfc6716 Opus specification]? ===<br />
<br />
Yes.<br />
<br />
=== In what ways is Opus optimized for the Internet? ===<br />
<br />
Opus has good packet loss robustness and concealment, but its optimisations go further.<br />
<br />
One of the first things we've been asked when designing Opus was to make the rate '''really''' adaptable because we never know what kind of rates will be available. This not only meant having a wide range of bitrates, but also being able to vary in small increments.<br />
<br />
This is why Opus scales from about '''6 kb/s''' to '''512 kb/s''', in increments of 0.4 kb/s (one byte with 20 ms frames). The reason Opus can have more than 1200 possible bitrates while spending 11 bits signalling the bitrate is because UDP already encodes the packet size.<br />
<br />
One last aspect is that Opus is simple to transport over RTP, as can be seen from [http://tools.ietf.org/html/draft-spittka-payload-rtp-opus Opus RTP payload format]. For example, it's possible to decode RTP packets without having even seen the SDP or any out-of-band signalling.<br />
<br />
=== What applications for Android can play Opus? ===<br />
<br />
Right now, there are just a few but that list is fast growing. Please reference [http://android.stackexchange.com/q/37970/7425 this question on android.stackexchange.com]. Feel free to suggest other applications.<br />
<br />
=== When will the next version be released? ===<br />
<br />
When it's done. Seriously, we do not know.<br />
<br />
Opus is not a large project with a fixed release schedule.<br />
<br />
That being said, our [http://www.opus-codec.org/downloads/ pre-releases] and even the [https://git.xiph.org/?p=opus.git git repository] are generally pretty stable and given proper testing (which you should always do anyway), are safe to distribute.<br />
<br />
Just be aware that the API of new features (that have never been included in a stable release) could potentially still change.<br />
<br />
== Software Developers' Questions ==<br />
<br />
=== On what platforms does Opus run? ===<br />
<br />
The Opus code base is written in C89 and should run on the vast majority of recent (and not so recent) CPUs.<br />
<br />
A few of the platforms on which Opus has been tested and is known to run include x86, x86-64, ARM, Itanium, Blackfin, and SPARC.<br />
<br />
=== Is there a fixed-point implementation? ===<br />
<br />
Yes.<br />
<br />
The fixed-point and floating-point decoder and encoder implementations are part of the same code base. The code defaults to float, so you need to configure with '''--enable-fixed-point''' (or defining FIXED_POINT if not using the configure script) to build the code for fixed-point.<br />
<br />
=== Which implementation should I use? ===<br />
<br />
While the implementation in RFC 6716 is what ''defines'' the standard, it is likely not the best and most up-to-date implementation.<br />
<br />
The [http://opus-codec.org/ Opus] website was set up for the purpose of continually improving the implementation — in terms of speed, encoding quality, device compatibility, etc — while still conforming to the standard.<br />
<br />
All Opus implementations are compatible by definition.<br />
<br />
=== How is supporting Opus different from supporting Speex/G.711/MP3? ===<br />
<br />
Opus has variable frame durations which can change on the fly, so an Opus decoder needs to be ready to accept packets with durations that are '''any multiple of 2.5ms''' up to a '''maximum of 120ms'''. <br />
<br />
The opus encoder and decoder do not need to have matched sampling rates or channel counts. It is recommended to always just decode at the highest rate the hardware supports (e.g. 48kHz stereo) so the user gets the full quality of whatever the far end is sending.<br />
<br />
=== My application doesn't work. Can anyone help me? ===<br />
<br />
It's possible to get help, but before doing so, there are a few basic things to try:<br />
<br />
* Implement the application with uncompressed audio instead of Opus. If it still doesn't work, then the problem isn't related to Opus.<br />
* Read the [http://www.opus-codec.org/docs/ documentation].<br />
* Read the [https://git.xiph.org/?p=opus.git;a=blob;f=src/opus_demo.c opus_demo.c] source code to see how to use the encoder and decoder.<br />
<br />
If you still can't solve the problem, the best option is to ask for help on the [http://lists.xiph.org/mailman/listinfo/opus mailing list].<br />
<br />
=== How do I report a bug? ===<br />
<br />
If you think you have found a bug in Opus (and not in your application), please [https://trac.xiph.org/newticket?component=Opus file a bug report].<br />
<br />
Please include a way for us to reproduce the problem. The best way to do this is to provide an input file, along with the opusenc/opusdec/opus_demo command line that causes the bug to occur.<br />
<br />
If the bug cannot be triggered by the command line tools, please provide a simple patch or C file that can help reproduce it. Please also provide any other relevant information, such as OS, CPU, build options, etc.<br />
<br />
Don't hesitate to also contact us on the [http://lists.xiph.org/mailman/listinfo/opus mailing list] or on [irc://irc.freenode.net/opus IRC].<br />
<br />
=== What is Opus Custom? ===<br />
<br />
Opus Custom is an '''optional''' part of the Opus standard that allows for sampling rates other than 8, 12, 16, 24, or 48 kHz and frame sizes other than multiples of 2.5 ms.<br />
<br />
Opus Custom requires additional out-of-band signalling that Opus does not normally require and disables many of Opus' coding modes. Also, because it is an optional part of the specification, using Opus Custom may lead to compatibility problems.<br />
<br />
For these reasons, its use is discouraged outside of very specific applications, for example:<br />
* ultra low delay applications where synchronization with the soundcard buffer is important. <br />
* low-power embedded applications where compatibility with others is not important.<br />
<br />
For almost all other types of applications, Opus Custom should not be used.<br />
<br />
=== How do I use 44.1 kHz or some other sampling rate not directly supported by Opus? ===<br />
<br />
Tools which read or write Opus should inter-operate with other sampling rates by transparently performing sample rate conversion behind the scenes whenever necessary. In particular, software developers should not use Opus Custom for 44.1 kHz support, except in the very specific circumstances outlined above.<br />
<br />
Note that it's generally preferable for a decoder to output at 48kHz, even when you know the original input was 44.1kHz. This is not only because you can skip resampling, but also because many cheaper audio interfaces have poor quality output for 44.1kHz.<br />
<br />
The '''[https://opus-codec.org/downloads/ opus-tools]''' package source code contains a small, high quality, high performance, BSD licensed resampler which can be used where resampling is required.<br />
<br />
=== How is the bitrate setting used in VBR mode? ===<br />
<br />
Variable bitrate (VBR) mode allows the bitrate to automatically vary over time based on the audio being encoded, in order to achieve a consistent quality.<br />
<br />
The bitrate setting controls the desired quality, on a scale that is calibrated to closely approximate the average bitrate that would be obtained over a large and diverse collection of audio. The actual bitrate of any particular audio stream may be higher or lower than this average.<br />
<br />
=== What frame size should I use? ===<br />
<br />
A '''20ms''' frame size works well for most applications.<br />
<br />
Smaller frame sizes may be used to achieve lower latency, but have lower quality at a given bitrate.<br />
<br />
Sizes greater than 20 ms increase latency and are generally beneficial only at fairly low bitrates, or when used to reduce external overhead (e.g. by reducing the number of packets that are sent).<br />
<br />
=== Forward Error correction (FEC) doesn't appear to do anything! HELP! ===<br />
<br />
The in-band FEC feature of Opus helps reduce the harm of packet loss by encoding some information about the prior packet.<br />
<br />
In order to make use of in-band FEC the decoder must delay its output by at least one frame so that it can call the decoder with the decode_fec argument on the ''next'' frame in order to reconstruct the missed frame. This works best if it's integrated with a jitter buffer.<br />
<br />
FEC is only used by the encoder under certain conditions:<br />
* the feature must be enabled via the OPUS_SET_INBAND_FEC CTL<br />
* the encoder must be told to expect loss via the OPUS_SET_PACKET_LOSS_PERC CTL<br />
* the codec must be operated in any of the linear prediction or Hybrid modes<br />
<br />
Frame durations shorter than 10ms and very high bitrates will use the MDCT modes, where FEC is not available.<br />
<br />
Even when FEC is not used, telling the encoder about the expected level of loss will help it make more intelligent decisions. By default the implementation assumes there is no loss.<br />
<br />
=== I can't use malloc or much stack on my embedded platform. How do I make Opus work? ===<br />
<br />
A normal build of libopus only uses malloc/free in the _create() and _destroy() calls, so Opus is safe for realtime use so long as the codec state is pre-created.<br />
<br />
In order to build Opus without any reference to malloc/free at all use init() calls rather than the create() calls in your application and compile with <tt>CFLAGS="-DOVERRIDE_OPUS_ALLOC -DOVERRIDE_OPUS_FREE -D'opus_alloc(x)=NULL' -D'opus_free(x)=NULL' "</tt> you will get a build which does not use malloc/free.<br />
<br />
If libopus is built with -DNONTHREADSAFE_PSEUDOSTACK (instead of VAR_ARRAYS, or USE_ALLOCA) it will use a user provided block of heap instead of stack for many things resulting in much lower the stack usage. However this makes the resulting library non-threadsafe and is not recommend on anything except limited embedded platforms.<br />
<br />
=== How can I ensure that my software interoperates with other software implementing Opus? ===<br />
<br />
For applications using Ogg files, there are some [http://people.xiph.org/~greg/opus_testvectors/ Ogg Opus testvectors] to test decoders and you can test encoders with opusdec. For RTP applications, the opusrtp tool can be useful.<br />
<br />
In general, here's a list of specific issues to check:<br />
* Can your application handle all frame sizes, including changing the frame size from frame to frame?<br />
* Does your application properly react to lost packet by calling the decoder with a NULL packet?<br />
<br />
=== What is the complexity of Opus? ===<br />
<br />
The complexity of Opus varies by a large amount based on the settings used.<br />
<br />
It depends on the mode, audio bandwidth, number of channels, and even a "complexity knob" that can trade complexity for quality. It will run easily on any recent PC or smartphone. <br />
<br />
For slower embedded CPUs/DSPs, the amount of CPU required will vary depending on the configuration and the exact CPU, so you will need to experiment. Do not expect Opus to run quickly on really slow devices like 8-bit micro-controllers.<br />
<br />
=== Opus is using too much CPU for my application. What can I do? ===<br />
<br />
First don't panic and don't start writing assembly just yet.<br />
<br />
It's possible that you're just not using the right set of options.<br />
<br />
If you're targeting an embedded/mobile platform, chances are the fixed-point build will be faster, so make sure you're using '''--enable-fixed-point''' or defining FIXED_POINT in the build system.<br />
<br />
Opus also has a complexity option that can trade quality for complexity. The default is highest quality and highest complexity. You can control this using OPUS_SET_COMPLEXITY() (see doc for details). If all else fails and you need to optimize the Opus code, see the next question.<br />
<br />
=== I would like to optimize Opus. Where should I start? ===<br />
<br />
Please '''[http://www.opus-codec.org/contact/ contact us]''' before you start, or at least before you get too far.<br />
<br />
This will help coordinate the optimization effort and generally reduce the probability of wasting your time on duplicated effort or generally going on the wrong path. <br />
<br />
=== Does Opus have an echo canceller like Speex does? ===<br />
<br />
Echo cancellation is completely independent from codecs.<br />
<br />
You can use any echo canceller (including the one from libspeexdsp) along with Opus.<br />
<br />
That being said, among the free acoustic echo cancelers (AEC) we're aware of, the best is probably the Google AEC from the [https://code.google.com/p/webrtc/ WebRTC codebase].<br />
<br />
[[Category:Opus]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=CEFT&diff=16005CEFT2015-08-23T16:03:29Z<p>Martin.leese: Promoted everything up a level heading (Level 1 is the page title)</p>
<hr />
<div>== Constrained-Energy Fourier Transforms ==<br />
<br />
=== Problems with current implementation and possible solutions ===<br />
<br />
==== Overlapped FFT not critically sampled ====<br />
<br />
In the current implementation, we encode 4/3 times more samples than necessary because we use 256-point FFTs with 64 samples overlap.<br />
<br />
Ideas:<br />
* Use an MDCT instead of the FFT<br />
* Do extrapolation on the input and use a wider FFT. Then optimise the search only for the "real" samples<br />
<br />
==== Non-harmonic signals (i.e. music) ====<br />
<br />
CEFT only works on speech because most of its coding efficiency is provided by the pitch predictor.<br />
<br />
Ideas:<br />
* Sinusoidal prediction<br />
* Use two (or more) pitch periods and choose one for each bin/band/whatever<br />
* Use two (or more) pitch periods at the same time and use energy conservation to keep everything stable.<br />
<br />
==== Sparse spectrum ====<br />
<br />
CEFT tends to have musical noise, especially at high frequency when there are very few bits/bin.<br />
<br />
Ideas:<br />
* Use a "rotation matrix"<br />
* Prediction from lower frequencies<br />
<br />
[[Category:Opus]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=OggYUV4MPEG&diff=16000OggYUV4MPEG2015-08-21T15:11:19Z<p>Martin.leese: Added {{draft}}</p>
<hr />
<div>{{draft}}<br />
<br />
This is a draft spec for encapsulation of the YUV4MPEG2 uncompressed video format in Ogg. This is is primarily useful for multiplexing it with audio for transmission through a single pipe.<br />
<br />
= Introduction =<br />
<br />
The YUV4MPEG format was created and defined by the linux audio/video tools package. It is a combination of text-based headers and 'raw' frame data. This is just an informational summary. See [http://mjpeg.cvs.sourceforge.net/mjpeg/mjpeg_play/lavtools/ lavtools] or [http://wiki.multimedia.cx/index.php?title=YUV4MPEG2 this documentation] for the complete definition. These files often have the filename extension .y4m.<br />
<br />
A YUV4MPEG file begins with a single text line which defined the stream parameters like image size, framerate, chroma subsampling and so on. For example:<br />
<br />
YUV4MPEG2 W352 H288 F30000:1001 Ip A128:117<br />
<br />
says that this is a yuv4mpeg2 file with 352x288 progressive frames at 29.97 fps (CIF) and matching pixel aspect ratio. Note that the order and locations of the various data in the header packet are arbitrary and must be parsed as text. Each field is prefixed by a single character which defines the field type. The initial space after YUV4MPEG2 is required.<br />
<br />
This header is followed by a sequence of frames. Each frame has a text header "FRAME\n", followed by the raw frame data, a plane at a time, in binary.<br />
<br />
= Encapsulation =<br />
<br />
The first line of a YUV4MPEG stream is the initial packet. Because this line must always start with the 8 character sequence 'YUV4MPEG', this can serve for codec identification, and also contains all the relevent decoder setup data. This is the only header packet and should appear on the first page by itself, with the bos flag set.<br />
<br />
Each successive frame, consisting of the 'FRAME' text line followed by the binary data for one frame, is placed into an Ogg packet.<br />
<br />
The granulepos field is set based on the count of encoded frames since the beginning of the stream. Thus the first, stream header packet gets a granulepos value of 0, the second packet, containing the first frame gets a granulepos value of 1, and successive frames get a values of 2, 3, 4 and so on until the end of the stream. The last page an encoder produces SHOULD have the eos flag set to indicate encapsulation of the complete data stream. A decoder MUST NOT treat a missing eos flag as an error.<br />
<br />
= Multiplexing =<br />
<br />
An Ogg-encapsulated YUV4MPEG stream may be multiplexed with other data according to the standard rules. The granulepos may be converted to a timestamp by dividing the granulepos value by the framerate, given as a rational number in the 'F' field of the header packet.<br />
<br />
[[Category:Ogg Mappings]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=Oggless&diff=15999Oggless2015-08-21T15:10:42Z<p>Martin.leese: Added {{draft}}</p>
<hr />
<div>{{draft}}<br />
<br />
==Abstract==<br />
This page documents how to embed the different Xiph codecs like Vorbis or Theora in containers other than Ogg. It's still in the drafting stage, and most of it was taken from a [http://svn.mplayerhq.hu/nut/docs/oggless-xiph-codecs.txt?revision=486&pathrev=577 version] that was previously a part of the NUT Subversion repository.<br />
Said document was originally authored by Michael Niedermayer.<br />
<br />
==Current Version==<br />
* 2007-07-21<br />
<br />
==Status==<br />
Information on how to convert losslessly from one format to another is missing, as is Ogg timestamping. Regardless, it is mostly finished and likely won't be updated further.<br />
<br />
==Minimum container requirements==<br />
This appendix only explains how to store Xiph codecs in containers which <br />
support at least one global header per stream, can separate individual codec packets and in principle support the codec. So for example in the case of Vorbis, that would be variable bitrate and variable number of samples/packet. Storage in other containers is outside the scope of this appendix.<br />
<br />
===Global header:===<br />
If the container can store 3 headers per stream in an unambiguous and ordered way then they shall be stored in that way. If OTOH the container is only capable of storing a single global header, then the 3 codec headers shall be concatenated without any additional header, footer or separator between them. To recover the 3 headers from such a global header the following procedure shall be used:<br />
<br />
: 1) Search for the 1st occurrence of ID1. The found match and the following ID1_LEN bytes are the 1st header packet.<br />
: 2) search for the 1st occurrence of ID2 after here<br />
:: 3) read an unsigned integer of 32 bits and skip that many bytes<br />
:: 4) [user_comment_list_length] = read an unsigned integer of 32 bits<br />
:: 5) iterate [user_comment_list_length] times {<br />
::: 6) read an unsigned integer of 32 bits and skip that many bytes<br />
:: }<br />
:: 7) skip 1 byte<br />
: 8) the match in 2) and what follows until here is the 2nd header packet<br />
: 9) Search for the 1st occurrence of ID3 after here. The matching part and what follows is the 3rd header packet.<br />
<br />
====Constants:====<br />
{| border="1" cellpadding="4"<br />
! Codec<br />
! ID1<br />
! ID2<br />
! ID3<br />
! ID1_LEN<br />
|-<br />
| Vorbis<br />
| 0x01,'v','o','r','b','i','s'<br />
| 0x03,'v','o','r','b','i','s' <br />
| 0x05,'v','o','r','b','i','s'<br />
| 23<br />
|-<br />
| Theora<br />
| 0x80,'t','h','e','o','r','a'<br />
| 0x81,'t','h','e','o','r','a'<br />
| 0x82,'t','h','e','o','r','a'<br />
| 35<br />
|}<br />
<br />
If the container needs an identifier for the global header, for example a fourcc for a global header chunk then glbl shall be used.<br />
<br />
<br />
===Storing packets:===<br />
Each codec packet shall be stored in exactly one "container packet" and one "container packet" must not contain more then one codec packet. "container packet" here means the smallest separable data unit in the container.<br />
<br />
<br />
===Codec Identifier:===<br />
{| border="1" cellpadding="4"<br />
! Xiph codec<br />
! fourcc ID<br />
! long ID<br />
|-<br />
| Vorbis <br />
| vrbs <br />
| vorbis<br />
|-<br />
| Theora<br />
| ther<br />
| theora<br />
|-<br />
| Tarkin<br />
| trkn<br />
| tarkin<br />
|-<br />
| FLAC<br />
| flac<br />
| flac<br />
|-<br />
| Speex<br />
| spex<br />
| speex<br />
|-<br />
|}<br />
<br />
If the container uses 4-character codes, the fourcc identifier from the table above shall be used. If the container uses arbitrary length strings as identifiers, then the long ID from the table above shall be used.<br />
<br />
===Examples and Discussions about specific containers===<br />
What follows are some notes about specific containers, these notes are just informative as they just repeat what is written above or in the <br />
specification of the specific container.<br />
<br />
====Example and Discussion of the AVI container====<br />
AVI supports everything needed to store Vorbis, this does not mean that all applications will support Vorbis in AVI, as Vorbis is rather different from other audio codecs commonly stored in AVI.<br />
<br />
AVI supports a single global header like WAV does, the 3 Vorbis headers<br />
shall be stored in it and only in it as described above. dwSampleSize must be set to zero as vorbis is VBR, many applications do this incorrectly for other VBR codecs and consequently VBR audio in AVI<br />
becomes problematic.<br />
<br />
AVI does not have timestamps, but each chunk has a constant duration,<br />
while Vorbis packets can have one of 2 durations.<br />
If now the AVI header is set up in a way that each AVI chunk has the<br />
same duration as the smaller duration of the 2 possibilities in Vorbis,<br />
then simply inserting empty AVI chunks will allow every AVI chunk to<br />
have the correct duration.<br />
This is of course not the most beautiful solution but it is the only way<br />
to keep things exact.<br />
Additionally, note that empty chunks have been used since ages in AVI to<br />
lengthen the duration of video chunks.<br />
<br />
Some Links:<br />
* [http://svn.xiph.org/tags/vorbisacm_20020708/ Vorbisacm]<br />
* [http://www.alexander-noe.com/video/documentation/avi.pdf AVI File Format] (PDF), 5.7 (p.21) VFR Audio - Storing Vorbis in AVI<br />
<br />
====Example and Discussion of the ASF container====<br />
ASF supports a single global header per stream and has timestamps, so<br />
storing Xiph codecs in it should be possible, but ASF is patented and <br />
Microsoft has already threatened individuals, so we strongly urge you to <br />
avoid this container.<br />
<br />
====Example and Discussion of the Matroska container====<br />
Matroska supports storing 3 headers using a codec-specific format.<br />
This should be used for storing the 3 headers.<br />
<br />
Note that the above procedure to split one header into 3 works with the<br />
Vorbis-Matroska-specific format, too.<br />
<br />
====Example and Discussion of the NUT container====<br />
NUT supports a single global header per stream so the 1<->3 merge/split<br />
procedure above must be used. Except that there is nothing special with <br />
storing Xiph codecs in NUT.<br />
<br />
====Example and Discussion of MPEG-PS / MPEG-TS container====<br />
These containers neither support a global header nor do they provide<br />
the necessary packet separation / framing.<br />
Storing Xiph codecs in them is thus outside the scope of this appendix.<br />
<br />
====Example and Discussion of WAV container====<br />
WAV does not provide the necessary packet separation / framing, so storing Xiph codecs in it is outside the scope of this appendix.<br />
<br />
====Example and Discussion of the MOV container====<br />
A single glbl atom shall be placed in the stsd atom in which the the global header shall be stored.</div>Martin.leesehttps://wiki.xiph.org/index.php?title=OggInfo&diff=15998OggInfo2015-08-21T15:09:46Z<p>Martin.leese: Added {{draft}}</p>
<hr />
<div>{{draft}}<br />
<br />
Draft of an infoAPI with ''ogginfo'' as a sample application:<br />
<br />
'''generic:'''<br />
*is_audio boolean<br />
*is_video boolean<br />
*is_text boolean<br />
*version int<br />
*codec string<br />
*comment string<br />
*vendor string<br />
*target bitrate int<br />
*nominal bitrate int<br />
*quality float<br />
<br />
'''audio:'''<br />
*samplerate int<br />
*channels int<br />
<br />
'''video:'''<br />
*size int,int<br />
*fps int,int<br />
*sar int,int<br />
*dar int,int<br />
*colorspace<br />
<br />
'''text:'''<br />
*language string<br />
*encoding int/string ?<br />
<br />
[[Category:Ogg]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=User_talk:MrZeus&diff=15997User talk:MrZeus2015-08-21T15:08:13Z<p>Martin.leese: Response (on reflection, as dead as the dodo)</p>
<hr />
<div>In an Edit Summary, you wrote, "Martin, might this be a sneakier/prettier way of categorising Draft pages? note the <nowiki>{{draft}}</nowiki> template contains its own Category:Drafts flag :-)".<br />
: I have avoided using the template <nowiki>{{draft}}</nowiki> in [[OggPCM]] (and in [[Channel mapping examples]]) because it is not really a draft in that it is ready for implementation. It is just that nobody can work up sufficient enthusiasm to actually implement it, and the wording in the template would discourage this. I have included [[:Category:Drafts]] because, until it is implemented, it is not complete either. It is neither fish nor fowl. [[User:Martin.leese|Martin Leese]] ([[User talk:Martin.leese|talk]]) 14:23, 20 August 2015 (PDT)<br />
:: I see, that makes a lot of sense. I'm wondering if the {draft} wording could do with a "call to arms" for willing volunteers, since in its current state it's very disheartening of any work being done on an article? ([[User talk:MrZeus|talk]]) 2015-08-21 09:30 BST<br />
::: Reviewing the pages which contain the template <nowiki>{{draft}}</nowiki>, they are all as dead as the dodo. I feel a "call to arms" would be futile. Also, on reflection, [[OggPCM]] and [[Channel mapping examples]] are equally dead. I will add <nowiki>{{draft}}</nowiki> to these, plus three others. This will make [[:Category:Drafts]] and <nowiki>{{draft}}</nowiki> equivalent. [[User:Martin.leese|Martin Leese]] ([[User talk:Martin.leese|talk]]) 08:08, 21 August 2015 (PDT)</div>Martin.leesehttps://wiki.xiph.org/index.php?title=OggPCM&diff=15996OggPCM2015-08-21T14:54:27Z<p>Martin.leese: Added {{draft}}</p>
<hr />
<div>{{draft}}<br />
<br />
== OggPCM ==<br />
<br />
OggPCM is an encapsulation of PCM audio data into an Ogg logical bitstream. An OggPCM bistream may be concurrently multiplexed with other Ogg logical bitstreams such as [[OggUVS]] video or [[CMML]] metadata,<br />
<br />
Note that unless otherwise noted, all multi-byte fields use the network byte order (big endian). The first packet in a stream MUST be the main header packet. The second packet MUST be the comment packet. Some extra header packets MAY be included after the comment header, provided this is identified in the main header. The packets that follow MUST all be data packets.<br />
<br />
=== Main Header Packet ===<br />
Multibyte fields in the header packets are packed in big endian order, to be consistent with network byte order. A header packet contains the following fields: <br />
<br />
64 "PCM " Codec identifier<br />
16 0x00 Version Major (breaks backwards compatibility to increment)<br />
16 0x00 Version Minor (backwards compatible, ie, more supported format id's)<br />
32 [uint] PCM format<br />
32 [uint] Sampling rate [Hz]<br />
8 [uint] Number of significant bits<br />
8 [uint] Number of Channels (< 256)<br />
16 [uint] Maximum number of frames per packet<br />
32 [uint] Number of extra header packets<br />
<br />
A PCM "frame" is composed of samples for all channels at a given time.<br />
<br />
The "Codec identifier" is 64 bit long since most other Ogg codecs specify their identifier within the first 64 bits rather than the first 32 bits, so this allows applications to match on all 64 bits consistently.<br />
<br />
The "Maximum number of frames per packet" field is meant to notify an application reading the file that no data packet will contain more than a certain number of frames. This not only makes implementation easier, but also provides information on how much needs to be buffered when streaming PCM files. A value of 0 means a maximum of 65536 frames. Implementations SHOULD make this field such that packets do not get split into multiple pages.<br />
<br />
The "Number of significant bits" field specifies how many bits are actually used. The other bits MUST be zero. This can be used to support audio with any resolution. For example, 12-bit PCM can be supported as "16 bit PCM" for the format and 12 for the number of significant bits.<br />
<br />
For streams where the number of significant bits is the same as the bit width specified by the format, the significant bits field may be set to zero.<br />
<br />
For streams where the number of significant bits is less than that specified by the bit width, the data shall be justified to fill the most significant bits. For 12 bit PCM in a 16 bit format, the 12 valid bits will occupy the 12 most significant bits of the 16 bit word and the least significant 4 bits shall be zero.<br />
<br />
Since the main header packet and the comment packet are mandatory, the "extra header packets" field counts any additional header packets (aside from these two) that can be provided before the start of the data packets.<br />
<br />
==== Supported PCM Formats ====<br />
<br />
Format ID Short Name Description<br />
-- Integer coding<br />
0x00000000 OGGPCM_FMT_S8 Signed integer 8 bit<br />
0x00000001 OGGPCM_FMT_U8 Unsigned integer 8 bit<br />
0x00000002 OGGPCM_FMT_S16_LE Signed integer 16 bit little endian<br />
0x00000003 OGGPCM_FMT_S16_BE Signed integer 16 bit big endian<br />
0x00000004 OGGPCM_FMT_S24_LE Signed integer 24 bit little endian<br />
0x00000005 OGGPCM_FMT_S24_BE Signed integer 24 bit big endian<br />
0x00000006 OGGPCM_FMT_S32_LE Signed integer 32 bit little endian<br />
0x00000007 OGGPCM_FMT_S32_BE Signed integer 32 bit big endian<br />
--<br />
-- Compressed PCM<br />
0x00000010 OGGPCM_FMT_ULAW G.711 u-law encoding (8 bit)<br />
0x00000011 OGGPCM_FMT_ALAW G.711 A-law encoding (8 bit)<br />
--<br />
-- IEEE Floating point coding<br />
0x00000020 OGGPCM_FMT_FLT32_LE IEEE Float [-1,1] 32 bit little endian<br />
0x00000021 OGGPCM_FMT_FLT32_BE IEEE Float [-1,1] 32 bit big endian<br />
0x00000022 OGGPCM_FMT_FLT64_LE IEEE Float [-1,1] 64 bit little endian<br />
0x00000023 OGGPCM_FMT_FLT64_BE IEEE Float [-1,1] 64 bit big endian<br />
<br />
Format IDs below 0x80000000 are reserved for use by Xiph and all the ones above are allowed for application-specific formats.<br />
<br />
=== Comment packet ===<br />
<br />
The codec header is followed by a "vorbis comment" packet and by optional extra headers, if any. The format used is the same as for Vorbis with the exception that there is no packet identifier (so the packet is exactly like it is for Speex).<br />
<br />
=== Data Packets ===<br />
<br />
Data packets contain the raw PCM audio in interleaved format (complete frames are encoded sequentially) with the following definitions/restrictions:<br />
<br />
* A PCM "frame" is composed of samples for all channels at a given time.<br />
* Any OggPCM packet MUST only contain complete frames (ie samples for all channels at a given sampling instance). Partial frames are forbidden. It is RECOMMENDED that decoders that come across an invalid packet containing a partial frame to drop the partial frame (at the end) and issue an error.<br />
* There is no padding allowed in a frame except when some bits (<8) are needed to complete a byte. This means that packet size has a direct relationship to the number of frames in the packet (for purposes of seeking).<br />
* Recommended packet size is smaller than 4k since interleaving and seeking in Ogg bitstreams is done on the resolution of packets and thus larger packet sizes create suboptimal bitstreams.<br />
<br />
=== Extra Headers (optional) ===<br />
<br />
Extra header packets contain additional information about the OggPCM stream, and must come after the Comment Packet and before the first Data Packet. Each extra header is defined as:<br />
<br />
32 [uint] Header ID<br />
... Header data<br />
<br />
The first optional headers to be defined handle mappings from physically stored channels to logical channels, such as speaker feeds and Ambisonic signals.<br />
<br />
==== Channel Mapping Headers ====<br />
<br />
Channel mappings are used to convey the meaning of the PCM signals stored in an OggPCM stream. They have been designed so that commonly used transmission formats like stereo, 5.1 and Ambisonics can be accurately tagged and distinguished from each other. Rudimentary downmixing from multichannel formats to stereo and mono and interoperability with compatibility formats like Dolby Surround and Ambisonics UHJ are also supported.<br />
<br />
A channel mapping can be given in two forms, using one of two headers. The Channel Mapping Header tags any subset of the transmitted channels with its intended playback semantics. The Channel Conversion Header additionally provides a mixing matrix which can be applied to the channels before interpretation as a target, logical channel type. A compatible implementation of OggPCM channel maps SHOULD support both types of maps, but MAY omit support for the Channel Conversion Header.<br />
<br />
An arbitrary number of mapping and conversion headers can be present, including none at all. The header types can be mixed and they can appear in any order. When neither header is present, the defaults spelled out in the section below on defaulting apply. When more than one header is present, they describe alternative mappings in a decreasing preferential order, and the first supported one SHOULD be used.<br />
<br />
A header is considered to be present once its header ID has been read successfully. If a field or structure is prematurely terminated after reading the ID, the header is considered erroneous. If an error is encountered in a header, it MUST be discarded and parsing SHOULD continue with the next header. If mapping headers are present but they are all erroneous, defaulting MUST NOT be applied.<br />
<br />
The channel mapping header lists physical channels and their associated logical channels, identified by a channel_type value. It is defined as:<br />
<br />
32 0x00000000 Channel Mapping Header ID<br />
16 0x0000 Version Major (breaks backwards compatibility to increment)<br />
16 0x0000 Version Minor (backwards compatible, e.g. more supported format id's)<br />
32x2N [uint] Channel number - channel_type pairs<br />
<br />
The channel conversion header adds a mixing coefficient to each physical-logical routing, and explicitly allows many-to-many mappings between the two sets of channels. It is defined as:<br />
<br />
32 0x00000001 Channel Conversion Header Id<br />
16 0x0000 Version Major (breaks backwards compatibility to increment)<br />
16 0x0000 Version Minor (backwards compatible, e.g. more supported format id's)<br />
32x3N 2*[uint]+[sint] Channel number - channel_type - mixing coefficient triplets<br />
<br />
Channel numbers refer to the physical channels transmitted in the OggPCM stream. They start at zero, denoting the first channel transmitted in a frame, and range to the number of channels indicated in the main header packet minus one. References to absent channels MUST be treated as an error. If a physical channel is not referenced in any of the channel maps and defaulting is not being used, its semantics are unknown. Such channels SHOULD NOT be played without user intervention, and SHOULD NOT be routed to audio outputs which are currently in use, but they MUST NOT be considered an error.<br />
<br />
Channel_types refer to logical channels with a clear interpretation on how the sound data routed to them is to be reproduced. All channel_types less than 0x80000000 are reserved for use by Xiph; 0x80000000 and above are allowed for application specific extensions. This scheme allows for 2^31 -1 Xiph defined channel map types and 2^32 distinct channel names. If a channel_type which has not been defined at all, has not been defined for the indicaed version of the header, is not supported by the player, or cannot be rendered accurately, parsing SHOULD continue with the next header.<br />
<br />
Encoders SHOULD include appropriate Channel Conversion Headers at least into stereo and mono, if possible. It MUST be possible for the user to override any mixing coefficients included by the encoder by default. If no header is found by a decoder which leads to an accurate rendering but at least one valid, supported header is present, approximate rendering MAY be attempted, as outlined in the section on conversions and rendering below. <br />
<br />
The mapping rows SHOULD be written sorted first by channel number, then by channel_type, and then by mixing coefficient. If a channel number is present more than once in a Channel Mapping Header, the first associated channel_type MUST be used. If a channel_type is present more than once in a Channel Mapping Header, the first associated channel number MUST be used. However, if more than one channel is tagged as OGG_CHANNEL_UNUSED, they are all considered unused and shouldn't be played. If a channel number, channel_type pair is present more than once in a Channel Conversion Header, the first mixing coefficient for the pair MUST be used. If channel mapping data is neglected because of these rules, readers SHOULD still accept the header without treating it as an error, but MAY warn the user.<br />
<br />
The mixing coefficients are 32 bit signed, two's complement, fixed point numbers. The 16 most significant bits contain the integer part (including sign), and the 16 least significant bits are the fraction. Note that the gain can be negative.<br />
<br />
For major version 0, minor version 0 of the Channel Mapping and Channel Conversion headers, the following channel_type values are defined. They are divided into groups corresponding to the closest mapping into the set of channels used in CAF, RIFF WAVE and USB channel masks:<br />
<br />
// front left/right<br />
OGG_CHANNEL_STEREO_LEFT = 0 = 0x00000000 (30 degrees left)<br />
OGG_CHANNEL_STEREO_RIGHT = 1 = 0x00000001 (30 degrees right)<br />
OGG_CHANNEL_QUAD_FRONT_LEFT = 2 = 0x00000002 (45 degrees left)<br />
OGG_CHANNEL_QUAD_FRONT_RIGHT = 3 = 0x00000003 (45 degrees right)<br />
OGG_CHANNEL_BLUMLEIN_LEFT = 4 = 0x00000004 (figure of eight response 45 degrees to the left)<br />
OGG_CHANNEL_BLUMLEIN_RIGHT = 5 = 0x00000005 (figure of eight response 45 degrees to the right)<br />
OGG_CHANNEL_WALL_FRONT_LEFT = 6 = 0x00000006 (55 degrees left)<br />
OGG_CHANNEL_WALL_FRONT_RIGHT = 7 = 0x00000007 (55 degrees right)<br />
OGG_CHANNEL_HEX_FRONT_LEFT = 8 = 0x00000008 (60 degrees left)<br />
OGG_CHANNEL_HEX_FRONT_RIGHT = 9 = 0x00000009 (60 degrees right)<br />
OGG_CHANNEL_PENTAGONAL_FRONT_LEFT = 10 = 0x0000000A (72 degrees left)<br />
OGG_CHANNEL_PENTAGONAL_FRONT_RIGHT = 11 = 0x0000000B (72 degrees right)<br />
OGG_CHANNEL_BINAURAL_LEFT = 12 = 0x0000000C (fed directly into the left ear canal, or front stereo dipole with crosstalk cancellation)<br />
OGG_CHANNEL_BINAURAL_RIGHT = 13 = 0x0000000D (fed directly into the right ear canal, or front stereo dipole with crosstalk cancellation)<br />
OGG_CHANNEL_FRONT_STEREO_DIPOLE_LEFT = 14 = 0x0000000E (5 degrees left)<br />
OGG_CHANNEL_FRONT_STEREO_DIPOLE_RIGHT = 15 = 0x0000000F (5 degrees right)<br />
OGG_CHANNEL_UHJ_L = 16 = 0x00000010 (ambisonics UHJ left)<br />
OGG_CHANNEL_UHJ_R = 17 = 0x00000011 (ambisonics UHJ right)<br />
OGG_CHANNEL_DOLBY_STEREO_LEFT = 18 = 0x00000012 (dolby stereo/surround left total)<br />
OGG_CHANNEL_DOLBY_STEREO_RIGHT = 19 = 0x00000013 (dolby stereo/surround right total)<br />
OGG_CHANNEL_XY_LEFT = 20 = 0x00000014 (cardioid response 45 degrees to the left)<br />
OGG_CHANNEL_XY_RIGHT = 21 = 0x00000015 (cardioid response 45 degrees to the right)<br />
<br />
// front center/mono<br />
OGG_CHANNEL_SCREEN_CENTER = 256 = 0x00000100 (ear level, straight ahead, at screen distance)<br />
OGG_CHANNEL_MS_MID = 257 = 0x00000101 (cardioid response, straight ahead)<br />
OGG_CHANNEL_FRONT_CENTER = 258 = 0x00000102 (ear level, straight ahead)<br />
<br />
// lfe<br />
OGG_CHANNEL_LFE = 512 = 0x00000200 (omnidirectional, bandlimited to 120Hz, 10dB louder than the reference level)<br />
OGG_CHANNEL_LFE_SIDE_LEFT = 513 = 0x00000201 (90 degrees left, bandlimited to 120Hz, 10dB louder than the reference level)<br />
OGG_CHANNEL_LFE_SIDE_RIGHT = 514 = 0x00000202 (90 degrees right, bandlimited to 120Hz, 10dB louder than the reference level)<br />
OGG_CHANNEL_LFE_FRONT_CENTER_LEFT = 515 = 0x00000203 (22.5 degrees left, bandlimited to 120Hz, 10dB louder than the reference level)<br />
OGG_CHANNEL_LFE_FRONT_CENTER_RIGHT = 516 = 0x00000204 (22.5 degrees right, bandlimited to 120Hz, 10dB louder than the reference level)<br />
OGG_CHANNEL_LFE_FRONT_BOTTOM_CENTER_LEFT = 517 = 0x00000205 (45 degrees lowered, 22.5 degrees left, bandlimited to 120Hz, 10dB louder than the reference level)<br />
OGG_CHANNEL_LFE_FRONT_BOTTOM_CENTER_RIGHT = 518 = 0x00000206 (45 degrees lowered, 22.5 degrees right, bandlimited to 120Hz, 10dB louder than the reference level)<br />
<br />
// back left/right<br />
OGG_CHANNEL_ITU_BACK_LEFT = 768 = 0x00000300 (back, 70 degrees left)<br />
OGG_CHANNEL_ITU_BACK_RIGHT = 769 = 0x00000301 (back, 70 degrees right)<br />
OGG_CHANNEL_ITU_BACK_LEFT_SURROUND = 770 = 0x00000302 (back, 70 degrees left)<br />
OGG_CHANNEL_ITU_BACK_RIGHT_SURROUND = 771 = 0x00000303 (back, 70 degrees right)<br />
OGG_CHANNEL_HEX_BACK_LEFT = 772 = 0x00000304 (back, 60 degrees left)<br />
OGG_CHANNEL_HEX_BACK_RIGHT = 773 = 0x00000305 (back, 60 degrees right)<br />
OGG_CHANNEL_QUAD_BACK_LEFT = 774 = 0x00000306 (back, 45 degrees left)<br />
OGG_CHANNEL_QUAD_BACK_RIGHT = 775 = 0x00000307 (back, 45 degrees right)<br />
OGG_CHANNEL_PENTAGONAL_BACK_LEFT = 776 = 0x00000308 (back, 36 degrees left)<br />
OGG_CHANNEL_PENTAGONAL_BACK_RIGHT = 777 = 0x00000309 (back, 36 degrees right)<br />
OGG_CHANNEL_BACK_STEREO_LEFT = 778 = 0x0000030A (back, 30 degrees left)<br />
OGG_CHANNEL_BACK_STEREO_RIGHT = 779 = 0x0000030B (back, 30 degrees right)<br />
OGG_CHANNEL_BACK_STEREO_DIPOLE_LEFT = 780 = 0x0000030C (back, 5 degrees left)<br />
OGG_CHANNEL_BACK_STEREO_DIPOLE_RIGHT = 781 = 0x0000020E (back, 5 degrees right)<br />
<br />
// front center left/right<br />
OGG_CHANNEL_FRONT_CENTER_LEFT = 1024 = 0x00000400 (22.5 degrees left)<br />
OGG_CHANNEL_FRONT_CENTER_RIGHT = 1025 = 0x00000401 (22.5 degrees right)<br />
<br />
// back center<br />
OGG_CHANNEL_BACK_CENTER = 1280 = 0x00000500 (straight back)<br />
OGG_CHANNEL_BACK_CENTER_SURROUND = 1281 = 0x00000501 (straight back, diffuse)<br />
OGG_CHANNEL_SURROUND = 1282 = 0x00000502 (back and sides, diffuse)<br />
<br />
// side left/right<br />
OGG_CHANNEL_SIDE_LEFT = 1536 = 0x00000600 (90 degrees left)<br />
OGG_CHANNEL_SIDE_RIGHT = 1537 = 0x00000601 (90 degrees right)<br />
OGG_CHANNEL_SIDE_LEFT_SURROUND = 1538 = 0x00000602 (90 degrees left, diffuse)<br />
OGG_CHANNEL_SIDE_RIGHT_SURROUND = 1539 = 0x00000603 (90 degrees right, diffuse)<br />
<br />
// rest of the wav/usb/caf mask types<br />
OGG_CHANNEL_TOP_CENTER = 1792 = 0x00000700 (90 degrees elevated)<br />
OGG_CHANNEL_FRONT_TOP_LEFT = 1793 = 0x00000701 (45 degrees elevated, 45 degrees left)<br />
OGG_CHANNEL_FRONT_TOP_CENTER = 1794 = 0x00000702 (45 degrees elevated)<br />
OGG_CHANNEL_FRONT_TOP_RIGHT = 1795 = 0x00000703 (45 degrees elevated, 45 degrees left)<br />
OGG_CHANNEL_BACK_TOP_LEFT = 1796 = 0x00000704 (back, 45 degrees elevated, 45 degrees left)<br />
OGG_CHANNEL_BACK_TOP_CENTER = 1797 = 0x00000705 (back, 45 degrees elevated)<br />
OGG_CHANNEL_BACK_TOP_RIGHT = 1798 = 0x00000706 (back, 45 degrees elevated, 45 degrees right)<br />
<br />
// rest of the cube<br />
OGG_CHANNEL_SIDE_TOP_LEFT = 2048 = 0x00000800 (45 degrees elevated, 90 degrees left)<br />
OGG_CHANNEL_SIDE_TOP_RIGHT = 2049 = 0x00000801 (45 degrees elevated, 90 degrees right)<br />
OGG_CHANNEL_FRONT_BOTTOM_LEFT = 2050 = 0x00000802 (45 degrees lowered, 45 degrees left)<br />
OGG_CHANNEL_FRONT_BOTTOM_CENTER = 2051 = 0x00000803 (45 degrees lowered)<br />
OGG_CHANNEL_FRONT_BOTTOM_RIGHT = 2052 = 0x00000804 (45 degrees lowered, 45 degrees right)<br />
OGG_CHANNEL_SIDE_BOTTOM_LEFT = 2053 = 0x00000805 (45 degrees lowered, 90 degrees left)<br />
OGG_CHANNEL_BOTTOM_CENTER = 2054 = 0x00000806 (90 degrees lowered)<br />
OGG_CHANNEL_SIDE_BOTTOM_RIGHT = 2055 = 0x00000807 (45 degrees lowered, 90 degrees left)<br />
OGG_CHANNEL_BACK_BOTTOM_CENTER = 2056 = 0x00000808 (back, 45 degrees lowered)<br />
OGG_CHANNEL_BACK_BOTTOM_LEFT = 2057 = 0x00000809 (back, 45 degrees lowered, 45 degrees left)<br />
OGG_CHANNEL_BACK_BOTTOM_RIGHT = 2058 = 0x0000080A (back, 45 degrees lowered, 45 degrees right)<br />
<br />
// ambisonics<br />
OGG_CHANNEL_AMBISONICS_W = 2304 = 0x00000900 (0th order)<br />
OGG_CHANNEL_AMBISONICS_X = 2305 = 0x00000901 (1st order)<br />
OGG_CHANNEL_AMBISONICS_Y = 2306 = 0x00000902 (1st order, also used for mid/side side)<br />
OGG_CHANNEL_AMBISONICS_Z = 2307 = 0x00000903 (1st order)<br />
OGG_CHANNEL_AMBISONICS_R = 2308 = 0x00000904 (2nd order)<br />
OGG_CHANNEL_AMBISONICS_S = 2309 = 0x00000905 (2nd order)<br />
OGG_CHANNEL_AMBISONICS_T = 2310 = 0x00000906 (2nd order)<br />
OGG_CHANNEL_AMBISONICS_U = 2311 = 0x00000907 (2nd order)<br />
OGG_CHANNEL_AMBISONICS_V = 2312 = 0x00000908 (2nd order)<br />
OGG_CHANNEL_AMBISONICS_K = 2313 = 0x00000909 (3rd order)<br />
OGG_CHANNEL_AMBISONICS_L = 2314 = 0x0000090A (3rd order)<br />
OGG_CHANNEL_AMBISONICS_M = 2315 = 0x0000090B (3rd order)<br />
OGG_CHANNEL_AMBISONICS_N = 2316 = 0x0000090C (3rd order)<br />
OGG_CHANNEL_AMBISONICS_O = 2317 = 0x0000090D (3rd order)<br />
OGG_CHANNEL_AMBISONICS_P = 2318 = 0x0000090E (3rd order)<br />
OGG_CHANNEL_AMBISONICS_Q = 2319 = 0x0000090F (3rd order)<br />
<br />
// passive matrix additions<br />
OGG_CHANNEL_MS_SIDE = 2306 = 0x00000902 (figure of eight response left to right, same as Ambisonics Y)<br />
OGG_CHANNEL_UHJ_T = 2561 = 0x00000A01 (ambisonics UHJ addition for pantophony)<br />
OGG_CHANNEL_UHJ_Q = 2562 = 0x00000A02 (ambisonics UHJ addition for periphony)<br />
<br />
// specials<br />
OGG_CHANNEL_UNUSED = 2816 = 0x00000B00 (the channel is unused and should not be rendered)<br />
<br />
Unless otherwise indicated, the logical channels are assumed to be speaker feeds, with the speaker lying in the indicated direction. The direction is referenced to either the front center, or where indicated, the back center speaker. By default all of the speakers SHOULD be at the same distance from the listener, or the so called "sweet spot", so that temporally coincident signals give rise to temporally coincident sound at the listening position. Where the channel_type indicates an interpretation other than a speaker feed, temporal coincidence SHOULD still hold.<br />
<br />
Some of the base standards used to derive the channel mappings are sensitive to speaker distance in addition to any possible time delay, and some are not. In any case interoperability between the different standards calls for setting the distance. The base standards used to derive the channel map rarely take a stance on that, so for the purposes of this specification the speaker distance, the listening area, and the Ambisonics coding radius are all idealized as being infinite, unless otherwise noted. Hence, the field produced by any speaker feed SHOULD by default approximate a planar wave at the sweet spot.<br />
<br />
Unless otherwise indicated, each channel should give rise to the same sound pressure level at the listener. The channel mapping metadata does not impose an absolute reference level for the channel data. The relative levels for ambisonic channels are given by the Furse-Malham convention.<br />
<br />
Channel_types marked as being "diffuse" are intended to be reproduced in a spatially dispersed manner, from and around the indicated direction. As two common examples, they might be reproduced using dipole speakers aligned so that direct arrival of sound to the sweet spot is minimized, or by multiple speakers placed slightly above the listener in and around the stated direction. They SHOULD retain flat average spectral response as measured from the sweet spot.<br />
<br />
===== Defaulting and Standard Mappings =====<br />
<br />
OggPCM streams were originally defined without channel maps, so for compatibility purposes, the simplest cases are defaulted based on the number of physical channels present. The precise Channel Mapping Headers and Channel Conversion Headers that are implied are specified below. Further INFORMATIVE mappings for various channel layouts can be found in the companion document ''[[channel mapping examples]]''.<br />
<br />
* Files containing precisely one channel and no explicit channel map are assumed to contain plain mono.<br />
* Files containing precisely two channels and no explicit channel map are assumed to contain plain stereo.<br />
* Files containing precisely three channels and no explicit channel map are assumed to contain 1st order pantophonic Ambisonics (W, X and Y).<br />
* Files containing precisely four channels and no explicit channel map are assumed to contain 1st order periphonic Ambisonics (W, X, Y and Z).<br />
* Files containing precisely six channels and no explicit channel map are assumed to contain 5.1 in the ITU-R BS.775-1 layout.<br />
* Files containing precisely seven channels and no explicit channel map are assumed to contain 6.1 in the ITU+back channel layout.<br />
* Files containing precisely eight channels and no explicit channel map are assumed to contain 7.1 in the Dolby/DTS discrete layout.<br />
* Files containing some other number of channels and no explicit channel map are assumed to contain channels tagged with OGG_CHANNEL_UNUSED<br />
<br />
Default mapping for plain mono:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
<br />
32 0x00000001 Channel Conversion Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0, containing OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
32 0x00000000 Channel 0, containing OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
<br />
Default mapping for plain stereo:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
<br />
32 0x00000001 Channel Conversion Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0, containing OGG_CHANNEL_STEREO_LEFT<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
32 0x00000001 Channel 1, containing OGG_CHANNEL_STEREO_RIGHT<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
<br />
Default mapping for first order pantophonic Ambisonics:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00000001 Channel 1<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0x00000002 Channel 2<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
<br />
32 0x00000001 Channel Conversion Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000001 Channel 1, containing OGG_CHANNEL_AMBISONICS_X<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
32 0x00000001 Channel 1, containing OGG_CHANNEL_AMBISONICS_X<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
32 0x00000002 Channel 2, containing OGG_CHANNEL_AMBISONICS_Y<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
32 0x00000002 Channel 2, containing OGG_CHANNEL_AMBISONICS_Y<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0xFFFF4AFC Mixing coefficient -1/sqrt(2)<br />
<br />
32 0x00000001 Channel Conversion Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0, containing OGG_CHANNEL_AMBISONICS_W<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00016A09 Mixing coefficient sqrt(2)<br />
<br />
Default mapping for first order periphonic Ambisonics:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00000001 Channel 1<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0x00000002 Channel 2<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
32 0x00000003 Channel 3<br />
32 0x00000903 Channel_type OGG_CHANNEL_AMBISONICS_Z<br />
<br />
32 0x00000001 Channel Conversion Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000001 Channel 1, containing OGG_CHANNEL_AMBISONICS_X<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
32 0x00000001 Channel 1, containing OGG_CHANNEL_AMBISONICS_X<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
32 0x00000002 Channel 2, containing OGG_CHANNEL_AMBISONICS_Y<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
32 0x00000002 Channel 2, containing OGG_CHANNEL_AMBISONICS_Y<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0xFFFF4AFC Mixing coefficient -1/sqrt(2)<br />
<br />
32 0x00000001 Channel Conversion Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0, containing OGG_CHANNEL_AMBISONICS_W<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00016A09 Mixing coefficient sqrt(2)<br />
<br />
Default mapping for 5.1 in the ITU-R BS.775-1 layout:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000200 Channel_type OGG_CHANNEL_LFE<br />
32 0x00000004 Channel 4<br />
32 0x00000300 Channel_type OGG_CHANNEL_ITU_BACK_LEFT<br />
32 0x00000005 Channel 5<br />
32 0x00000301 Channel_type OGG_CHANNEL_ITU_BACK_RIGHT<br />
<br />
32 0x00000001 Channel Conversion Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0, containing OGG_CHANNEL_STEREO_LEFT<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x00010000 Mixing coefficient 1<br />
32 0x00000001 Channel 1, containing OGG_CHANNEL_STEREO_RIGHT<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x00010000 Mixing coefficient 1<br />
32 0x00000002 Channel 2, containing OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
32 0x00000002 Channel 2, containing OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
32 0x00000003 Channel 3, containing OGG_CHANNEL_LFE<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x00071231 Mixing coefficient 10/sqrt(2)<br />
32 0x00000003 Channel 3, containing OGG_CHANNEL_LFE<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x00071231 Mixing coefficient 10/sqrt(2)<br />
32 0x00000004 Channel 4, containing OGG_CHANNEL_ITU_BACK_LEFT<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
32 0x00000005 Channel 5, containing OGG_CHANNEL_ITU_BACK_RIGHT<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
<br />
32 0x00000001 Channel Conversion Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0, containing OGG_CHANNEL_STEREO_LEFT<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
32 0x00000001 Channel 1, containing OGG_CHANNEL_STEREO_RIGHT<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
32 0x00000002 Channel 2, containing OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00010000 Mixing coefficient 1<br />
32 0x00000003 Channel 3, containing OGG_CHANNEL_LFE<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x000A0000 Mixing coefficient 10<br />
32 0x00000004 Channel 4, containing OGG_CHANNEL_ITU_BACK_LEFT<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
32 0x00000005 Channel 5, containing OGG_CHANNEL_ITU_BACK_RIGHT<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
<br />
Default mapping for 6.1 in the ITU+back channel layout:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000200 Channel_type OGG_CHANNEL_LFE<br />
32 0x00000004 Channel 4<br />
32 0x00000300 Channel_type OGG_CHANNEL_ITU_BACK_LEFT<br />
32 0x00000005 Channel 5<br />
32 0x00000301 Channel_type OGG_CHANNEL_ITU_BACK_RIGHT<br />
32 0x00000006 Channel 6<br />
32 0x00000500 Channel_type OGG_CHANNEL_BACK_CENTER<br />
<br />
32 0x00000001 Channel Conversion Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0, containing OGG_CHANNEL_STEREO_LEFT<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x00010000 Mixing coefficient 1<br />
32 0x00000001 Channel 1, containing OGG_CHANNEL_STEREO_RIGHT<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x00010000 Mixing coefficient 1<br />
32 0x00000002 Channel 2, containing OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
32 0x00000002 Channel 2, containing OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
32 0x00000003 Channel 3, containing OGG_CHANNEL_LFE<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x00071231 Mixing coefficient 10/sqrt(2)<br />
32 0x00000003 Channel 3, containing OGG_CHANNEL_LFE<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x00071231 Mixing coefficient 10/sqrt(2)<br />
32 0x00000004 Channel 4, containing OGG_CHANNEL_ITU_BACK_LEFT<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
32 0x00000005 Channel 5, containing OGG_CHANNEL_ITU_BACK_RIGHT<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
32 0x00000006 Channel 6, containing OGG_CHANNEL_BACK_CENTER<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x00008000 Mixing coefficient 1/2<br />
32 0x00000006 Channel 6, containing OGG_CHANNEL_BACK_CENTER<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x00008000 Mixing coefficient 1/2<br />
<br />
32 0x00000001 Channel Conversion Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0, containing OGG_CHANNEL_STEREO_LEFT<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
32 0x00000001 Channel 1, containing OGG_CHANNEL_STEREO_RIGHT<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
32 0x00000002 Channel 2, containing OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00010000 Mixing coefficient 1<br />
32 0x00000003 Channel 3, containing OGG_CHANNEL_LFE<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x000A0000 Mixing coefficient 10<br />
32 0x00000004 Channel 4, containing OGG_CHANNEL_ITU_BACK_LEFT<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00008000 Mixing coefficient 1/2<br />
32 0x00000005 Channel 5, containing OGG_CHANNEL_ITU_BACK_RIGHT<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00008000 Mixing coefficient 1/2<br />
32 0x00000006 Channel 6, containing OGG_CHANNEL_BACK_CENTER<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
<br />
Default mapping for 7.1 in the Dolby/DTS discrete layout:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000200 Channel_type OGG_CHANNEL_LFE<br />
32 0x00000004 Channel 4<br />
32 0x0000030A Channel_type OGG_CHANNEL_BACK_STEREO_LEFT<br />
32 0x00000005 Channel 5<br />
32 0x0000030B Channel_type OGG_CHANNEL_BACK_STEREO_RIGHT<br />
32 0x00000006 Channel 6<br />
32 0x00000600 Channel_type OGG_CHANNEL_SIDE_LEFT<br />
32 0x00000007 Channel 7<br />
32 0x00000601 Channel_type OGG_CHANNEL_SIDE_RIGHT<br />
<br />
32 0x00000001 Channel Conversion Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0, containing OGG_CHANNEL_STEREO_LEFT<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x00010000 Mixing coefficient 1<br />
32 0x00000001 Channel 1, containing OGG_CHANNEL_STEREO_RIGHT<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x00010000 Mixing coefficient 1<br />
32 0x00000002 Channel 2, containing OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
32 0x00000002 Channel 2, containing OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
32 0x00000003 Channel 3, containing OGG_CHANNEL_LFE<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x00071231 Mixing coefficient 10/sqrt(2)<br />
32 0x00000003 Channel 3, containing OGG_CHANNEL_LFE<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x00071231 Mixing coefficient 10/sqrt(2)<br />
32 0x00000004 Channel 4, containing OGG_CHANNEL_BACK_STEREO_LEFT<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
32 0x00000005 Channel 5, containing OGG_CHANNEL_BACK_STEREO_RIGHT<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
32 0x00000006 Channel 6, containing OGG_CHANNEL_SIDE_LEFT<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x0000D744 Mixing coefficient 1/sqrt(sqrt(2))<br />
32 0x00000007 Channel 7, containing OGG_CHANNEL_SIDE_RIGHT<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x0000D744 Mixing coefficient 1/sqrt(sqrt(2))<br />
<br />
32 0x00000001 Channel Conversion Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0, containing OGG_CHANNEL_STEREO_LEFT<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
32 0x00000001 Channel 1, containing OGG_CHANNEL_STEREO_RIGHT<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
32 0x00000002 Channel 2, containing OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00010000 Mixing coefficient 1<br />
32 0x00000003 Channel 3, containing OGG_CHANNEL_LFE<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x000A0000 Mixing coefficient 10<br />
32 0x00000004 Channel 4, containing OGG_CHANNEL_BACK_STEREO_LEFT<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00008000 Mixing coefficient 1/2<br />
32 0x00000005 Channel 5, containing OGG_CHANNEL_BACK_STEREO_RIGHT<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00008000 Mixing coefficient 1/2<br />
32 0x00000006 Channel 6, containing OGG_CHANNEL_SIDE_LEFT<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
32 0x00000007 Channel 7, containing OGG_CHANNEL_SIDE_RIGHT<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x0000B504 Mixing coefficient 1/sqrt(2)<br />
<br />
===== Further Suggestions for Conversion and Rendering =====<br />
<br />
Even if a decoder supports a given channel_type, it is not always possible to recreate the precise intention of the coder because of differences and uncertainties in the available speaker layout. This section outlines some strategies which MAY be used in approximate rendering.<br />
<br />
When speakers are available all around the position of the desired feed, and they subtend no more than a typical stereo pair (60 degrees), a common simulation of a feed is to apply an equal power panning law among the closest two or three speakers. This is also what is done in the default mappings from the central channels to the stereo pair. In three dimensions this approach leads to Vector Base Amplitude Panning (VBAP).<br />
<br />
Another possibility is to pan the speaker feed into an Ambisonics representation of some chosen order, and then to decode for the actual speaker layout.<br />
<br />
When speakers to the back are not available, the respective speaker feeds are often mixed to opposite speakers in the front. The default mappings do this for stereo, and apply a 3dB attenuation to the back. The latter convention derives from European Broadcasting Union downmixing guidelines, and Dolby AC-3 defaults.<br />
<br />
If speakers close to the desired positions are available, the speaker feed can also be routed directly to one of them, as long as the overall directional errors stay limited and the relative ordering of the channels is not affected. The channel maps and channel numbering are aimed at helping such mappings in existing systems: when the mapping examples in this document and the companion one are applied, in most cases channel ordering becomes identical to that used in WAV files and USB serializations. Rounding the channels to the positions specified in the respective channel masks should then lead to a workable rendering.<br />
<br />
OggPCM encoders are encouraged to supply downmixing information for common output formats, but it is to be expected that the information will often be incomplete. In such cases, the mapping examples given in this document and the companion can be applied by default by the decoder when the stored signal set seems to fit one of them.<br />
<br />
Proper downmixing to certain output formats, like Dolby Surround and Ambisonics UHJ, require complex processing which cannot be specified using a simple downmix matrix. If such output options are available, proper transcoding can be attempted as soon as the first channel map has been found which specifies a set of channels amenable to such a representation. The same goes for binaural rendering and is extensions, like crosstalk cancellation, which utilize head related transfer functions (HRTF) for accurate spatial rendering over a limited number of channels.<br />
<br />
== See Also ==<br />
*[[Ambisonics]]<br />
<br />
== External Links ==<br />
*[http://www.mediatwins.com/en/support/kb_topic_11.html Short info about AC-3]<br />
*[http://www.atsc.org/standards/a_52a.pdf AC-3 spec.] Note: around p34/140 it appears to be how the channel mapping is encoded.<br />
*[http://www.microsoft.com/whdc/device/audio/multichaud.mspx .wav extended headers (WAVE-EX) for multi channel]<br />
*[http://en.wikipedia.org/wiki/Ambisonic Ambisonics on Wikipedia]<br />
*[http://www.surroundassociates.com/fqmain.html General surround info]<br />
*[http://developer.apple.com/documentation/MusicAudio/Reference/CAFSpec/CAF_intro/chapter_1_section_1.html#//apple_ref/doc/uid/TP40001862-CH203-DontLinkElementID_60 Apple Core Audio Format 1.0 specification]<br />
*[http://www.acoustics.hut.fi/research/cat/vbap/ Vector Base Amplitude Panning]<br />
<br />
[[Category:Ogg Mappings]]<br />
[[Category:OggPCM]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=Channel_mapping_examples&diff=15995Channel mapping examples2015-08-21T14:53:11Z<p>Martin.leese: Undo revision 15992 by Martin.leese (talk)</p>
<hr />
<div>{{draft}}<br />
<br />
This companion document to the [[OggPCM|OggPCM specification]] lists several examples of possible Channel Mapping and Channel Conversion Headers. They can be used to map most of the currently existing multichannel layouts into OggPCM. This document is INFORMATIVE.<br />
<br />
Mapping for stereo with headphone rendering intent:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x0000000C Channel_type OGG_CHANNEL_BINAURAL_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x0000000D Channel_type OGG_CHANNEL_BINAURAL_RIGHT<br />
<br />
Mapping for two channel ambisonics UHJ:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000010 Channel_type OGG_CHANNEL_UHJ_L<br />
32 0x00000001 Channel 1<br />
32 0x00000011 Channel_type OGG_CHANNEL_UHJ_R<br />
<br />
Mapping for mid/side stereo:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000101 Channel_type OGG_CHANNEL_MS_MID<br />
32 0x00000001 Channel 1<br />
32 0x00000902 Channel_type OGG_CHANNEL_MS_SIDE<br />
<br />
Mapping for Dolby MP matrix stereo:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000012 Channel_type OGG_CHANNEL_DOLBY_STEREO_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000013 Channel_type OGG_CHANNEL_DOLBY_STEREO_RIGHT<br />
<br />
Mapping for horizontal quadraphony in the diagonal layout:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000002 Channel_type OGG_CHANNEL_QUAD_FRONT_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000003 Channel_type OGG_CHANNEL_QUAD_FRONT_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000306 Channel_type OGG_CHANNEL_QUAD_BACK_LEFT<br />
32 0x00000003 Channel 3<br />
32 0x00000307 Channel_type OGG_CHANNEL_QUAD_BACK_RIGHT<br />
<br />
Mapping for horizontal quadraphony in the diamond layout:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000001 Channel 1<br />
32 0x00000500 Channel_type OGG_CHANNEL_BACK_CENTER<br />
32 0x00000002 Channel 2<br />
32 0x00000600 Channel_type OGG_CHANNEL_SIDE_LEFT<br />
32 0x00000003 Channel 3<br />
32 0x00000601 Channel_type OGG_CHANNEL_SIDE_RIGHT<br />
<br />
Mapping for Ambisonics G-format, derived for a square layout using the energy decoding equation:<br />
32 0x00000001 Channel Conversion Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00004000 Mixing coefficient 0.25<br />
32 0x00000001 Channel 1<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00004000 Mixing coefficient 0.25<br />
32 0x00000002 Channel 2<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00004000 Mixing coefficient 0.25<br />
32 0x00000003 Channel 3<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00004000 Mixing coefficient 0.25<br />
32 0x00000000 Channel 0<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0x00005A82 Mixing coefficient 0.25*sqrt(2)<br />
32 0x00000001 Channel 1<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0x00005A82 Mixing coefficient 0.25*sqrt(2)<br />
32 0x00000002 Channel 2<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0xFFFFA57E Mixing coefficient -0.25*sqrt(2)<br />
32 0x00000003 Channel 3<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0xFFFFA57E Mixing coefficient -0.25*sqrt(2)<br />
32 0x00000000 Channel 0<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
32 0x00005A82 Mixing coefficient 0.25*sqrt(2)<br />
32 0x00000001 Channel 1<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
32 0xFFFFA57E Mixing coefficient -0.25*sqrt(2)<br />
32 0x00000003 Channel 3<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
32 0x00005A82 Mixing coefficient 0.25*sqrt(2)<br />
32 0x00000003 Channel 3<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
32 0xFFFFA57E Mixing coefficient -0.25*sqrt(2)<br />
<br />
Mapping for 4.1:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000002 Channel_type OGG_CHANNEL_QUAD_FRONT_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000003 Channel_type OGG_CHANNEL_QUAD_FRONT_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000200 Channel_type OGG_CHANNEL_LFE<br />
32 0x00000003 Channel 3<br />
32 0x00000306 Channel_type OGG_CHANNEL_QUAD_BACK_LEFT<br />
32 0x00000004 Channel 4<br />
32 0x00000307 Channel_type OGG_CHANNEL_QUAD_BACK_RIGHT<br />
<br />
Mapping for Dolby format 42 ("baby boom") 4.2:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000002 Channel_type OGG_CHANNEL_QUAD_FRONT_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000003 Channel_type OGG_CHANNEL_QUAD_FRONT_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000203 Channel_type OGG_CHANNEL_LFE_FRONT_CENTER_LEFT<br />
32 0x00000004 Channel 4<br />
32 0x00000204 Channel_type OGG_CHANNEL_LFE_FRONT_CENTER_RIGHT<br />
32 0x00000005 Channel 5<br />
32 0x00000502 Channel_type OGG_CHANNEL_SURROUND<br />
<br />
Mapping for 5.0 in the ITU-R BS.775-1 layout:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000300 Channel_type OGG_CHANNEL_ITU_BACK_LEFT<br />
32 0x00000004 Channel 4<br />
32 0x00000301 Channel_type OGG_CHANNEL_ITU_BACK_RIGHT<br />
<br />
Mapping for horizontal pentaphony:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x0000000A Channel_type OGG_CHANNEL_PENTAGONAL_FRONT_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x0000000B Channel_type OGG_CHANNEL_PENTAGONAL_FRONT_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000308 Channel_type OGG_CHANNEL_PENTAGONAL_BACK_LEFT<br />
32 0x00000004 Channel 4<br />
32 0x00000309 Channel_type OGG_CHANNEL_PENTAGONAL_BACK_RIGHT<br />
<br />
Mapping for 5.1 in the ITU-R BS.775-1 layout, when a Dolby Surround fallback track is present:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000200 Channel_type OGG_CHANNEL_LFE<br />
32 0x00000004 Channel 4<br />
32 0x00000300 Channel_type OGG_CHANNEL_ITU_BACK_LEFT<br />
32 0x00000005 Channel 5<br />
32 0x00000301 Channel_type OGG_CHANNEL_ITU_BACK_RIGHT<br />
<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000012 Channel_type OGG_CHANNEL_DOLBY_STEREO_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000013 Channel_type OGG_CHANNEL_DOLBY_STEREO_RIGHT<br />
<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
<br />
Mapping for 5.1 in the layout suggested by THX mastering guidelines:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000002 Channel_type OGG_CHANNEL_QUAD_FRONT_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000003 Channel_type OGG_CHANNEL_QUAD_FRONT_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000200 Channel_type OGG_CHANNEL_LFE<br />
32 0x00000004 Channel 4<br />
32 0x00000602 Channel_type OGG_CHANNEL_SIDE_LEFT_SURROUND<br />
32 0x00000005 Channel 5<br />
32 0x00000603 Channel_type OGG_CHANNEL_SIDE_RIGHT_SURROUND<br />
<br />
Mapping for 6.0 in the Dolby format 40 layout, used with 70mm film:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000002 Channel_type OGG_CHANNEL_QUAD_FRONT_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000003 Channel_type OGG_CHANNEL_QUAD_FRONT_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000400 Channel_type OGG_CHANNEL_FRONT_CENTER_LEFT<br />
32 0x00000004 Channel 4<br />
32 0x00000401 Channel_type OGG_CHANNEL_FRONT_CENTER_RIGHT<br />
32 0x00000005 Channel 5<br />
32 0x00000502 Channel_type OGG_CHANNEL_SURROUND<br />
<br />
Mapping for horizontal hexagonal:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000008 Channel_type OGG_CHANNEL_HEX_FRONT_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000009 Channel_type OGG_CHANNEL_HEX_FRONT_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000304 Channel_type OGG_CHANNEL_HEX_BACK_LEFT<br />
32 0x00000004 Channel 4<br />
32 0x00000305 Channel_type OGG_CHANNEL_HEX_BACK_RIGHT<br />
32 0x00000005 Channel 5<br />
32 0x00000500 Channel_type OGG_CHANNEL_BACK_CENTER<br />
<br />
Mapping for ambisonics G+2 format, derived for a square layout using the energy decoding equation:<br />
32 0x00000001 Channel Conversion Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00004000 Mixing coefficient 0.25<br />
32 0x00000001 Channel 1<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00004000 Mixing coefficient 0.25<br />
32 0x00000002 Channel 2<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00004000 Mixing coefficient 0.25<br />
32 0x00000003 Channel 3<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00004000 Mixing coefficient 0.25<br />
32 0x00000000 Channel 0<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0x00005A82 Mixing coefficient 0.25*sqrt(2)<br />
32 0x00000001 Channel 1<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0x00005A82 Mixing coefficient 0.25*sqrt(2)<br />
32 0x00000002 Channel 2<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0xFFFFA57E Mixing coefficient -0.25*sqrt(2)<br />
32 0x00000003 Channel 3<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0xFFFFA57E Mixing coefficient -0.25*sqrt(2)<br />
32 0x00000000 Channel 0<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
32 0x00005A82 Mixing coefficient 0.25*sqrt(2)<br />
32 0x00000001 Channel 1<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
32 0xFFFFA57E Mixing coefficient -0.25*sqrt(2)<br />
32 0x00000003 Channel 3<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
32 0x00005A82 Mixing coefficient 0.25*sqrt(2)<br />
32 0x00000003 Channel 3<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
32 0xFFFFA57E Mixing coefficient -0.25*sqrt(2)<br />
<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000004 Channel 4<br />
32 0x00000010 Channel_type OGG_CHANNEL_UHJ_L<br />
32 0x00000005 Channel 5<br />
32 0x00000011 Channel_type OGG_CHANNEL_UHJ_R<br />
<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000004 Channel 4<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x00000005 Channel 5<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
<br />
Mapping for Ambisonics B+format:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00000003 Channel 3<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0x00000004 Channel 4<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
32 0x00000005 Channel 5<br />
32 0x00000903 Channel_type OGG_CHANNEL_AMBISONICS_Z<br />
<br />
Mapping for Ambisonics G-format, derived for a pentagonal layout using the energy decoding equation:<br />
32 0x00000001 Channel Conversion Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00003333 Mixing coefficient 0.2<br />
32 0x00000001 Channel 1<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00003333 Mixing coefficient 0.2<br />
32 0x00000002 Channel 2<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00003333 Mixing coefficient 0.2<br />
32 0x00000003 Channel 3<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00003333 Mixing coefficient 0.2<br />
32 0x00000004 Channel 4<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00003333 Mixing coefficient 0.2<br />
32 0x00000000 Channel 0<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0xFFFFCCCD Mixing coefficient -0.2<br />
32 0x00000001 Channel 1<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0xFFFFCCCD Mixing coefficient -0.2<br />
32 0x00000002 Channel 2<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0x0000CCCC Mixing coefficient 0.8<br />
32 0x00000003 Channel 3<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0xFFFFCCCD Mixing coefficient -0.2<br />
32 0x00000004 Channel 4<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0xFFFFCCCD Mixing coefficient -0.2<br />
32 0x00000000 Channel 0<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
32 0x0000434B Mixing coefficient 1/(4sin(2pi/5))<br />
32 0x00000001 Channel 1<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
32 0xFFFFBCB5 Mixing coefficient 1/(4sin(-2pi/5))<br />
32 0x00000003 Channel 3<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
32 0x00006CE2 Mixing coefficient 1/(4sin(2pi/10))<br />
32 0x00000004 Channel 4<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
32 0xFFFF931E Mixing coefficient 1/(4sin(-2pi/10))<br />
<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x0000000A Channel_type OGG_CHANNEL_PENTAGONAL_FRONT_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x0000000B Channel_type OGG_CHANNEL_PENTAGONAL_FRONT_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000308 Channel_type OGG_CHANNEL_PENTAGONAL_BACK_LEFT<br />
32 0x00000004 Channel 4<br />
32 0x00000309 Channel_type OGG_CHANNEL_PENTAGONAL_BACK_RIGHT<br />
<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000002 Channel_type OGG_CHANNEL_QUAD_FRONT_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000003 Channel_type OGG_CHANNEL_QUAD_FRONT_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000300 Channel_type OGG_CHANNEL_ITU_BACK_LEFT<br />
32 0x00000004 Channel 4<br />
32 0x00000301 Channel_type OGG_CHANNEL_ITU_BACK_RIGHT<br />
<br />
Mapping for 7.1 in the THX Advanced Speaker Array (ASA) layout:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000001 Channel 1<br />
32 0x00000200 Channel_type OGG_CHANNEL_LFE<br />
32 0x00000002 Channel 2<br />
32 0x0000030C Channel_type OGG_CHANNEL_BACK_STEREO_DIPOLE_LEFT<br />
32 0x00000003 Channel 3<br />
32 0x0000030D Channel_type OGG_CHANNEL_BACK_STEREO_DIPOLE_RIGHT<br />
32 0x00000004 Channel 4<br />
32 0x00000400 Channel_type OGG_CHANNEL_FRONT_CENTER_LEFT<br />
32 0x00000005 Channel 5<br />
32 0x00000401 Channel_type OGG_CHANNEL_FRONT_CENTER_RIGHT<br />
32 0x00000006 Channel 6<br />
32 0x00000602 Channel_type OGG_CHANNEL_SIDE_LEFT_SURROUND<br />
32 0x00000007 Channel 7<br />
32 0x00000603 Channel_type OGG_CHANNEL_SIDE_RIGHT_SURROUND<br />
<br />
Mapping for 7.1 in the SDDS layout:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000002 Channel_type OGG_CHANNEL_QUAD_FRONT_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000003 Channel_type OGG_CHANNEL_QUAD_FRONT_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000200 Channel_type OGG_CHANNEL_LFE<br />
32 0x00000004 Channel 4<br />
32 0x00000400 Channel_type OGG_CHANNEL_FRONT_CENTER_LEFT<br />
32 0x00000005 Channel 5<br />
32 0x00000401 Channel_type OGG_CHANNEL_FRONT_CENTER_RIGHT<br />
32 0x00000006 Channel 6<br />
32 0x00000602 Channel_type OGG_CHANNEL_SIDE_LEFT_SURROUND<br />
32 0x00000007 Channel 7<br />
32 0x00000603 Channel_type OGG_CHANNEL_SIDE_RIGHT_SURROUND<br />
<br />
Mapping for the CAF cubical layout:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000002 Channel_type OGG_CHANNEL_QUAD_FRONT_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000003 Channel_type OGG_CHANNEL_QUAD_FRONT_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000306 Channel_type OGG_CHANNEL_QUAD_BACK_LEFT<br />
32 0x00000003 Channel 3<br />
32 0x00000307 Channel_type OGG_CHANNEL_QUAD_BACK_RIGHT<br />
32 0x00000004 Channel 4<br />
32 0x00000701 Channel_type OGG_CHANNEL_FRONT_TOP_LEFT<br />
32 0x00000005 Channel 5<br />
32 0x00000703 Channel_type OGG_CHANNEL_FRONT_TOP_RIGHT<br />
32 0x00000006 Channel 6<br />
32 0x00000704 Channel_type OGG_CHANNEL_BACK_TOP_LEFT<br />
32 0x00000007 Channel 7<br />
32 0x00000706 Channel_type OGG_CHANNEL_BACK_TOP_RIGHT<br />
<br />
Mapping for horizontal octagonal:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000002 Channel_type OGG_CHANNEL_QUAD_FRONT_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000003 Channel_type OGG_CHANNEL_QUAD_FRONT_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000306 Channel_type OGG_CHANNEL_QUAD_BACK_LEFT<br />
32 0x00000004 Channel 4<br />
32 0x00000307 Channel_type OGG_CHANNEL_QUAD_BACK_RIGHT<br />
32 0x00000005 Channel 5<br />
32 0x00000500 Channel_type OGG_CHANNEL_BACK_CENTER<br />
32 0x00000006 Channel 6<br />
32 0x00000600 Channel_type OGG_CHANNEL_SIDE_LEFT<br />
32 0x00000007 Channel 7<br />
32 0x00000601 Channel_type OGG_CHANNEL_SIDE_RIGHT<br />
<br />
Mapping for TMH 10.2:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000201 Channel_type OGG_CHANNEL_LFE_SIDE_LEFT<br />
32 0x00000004 Channel 4<br />
32 0x00000202 Channel_type OGG_CHANNEL_LFE_SIDE_RIGHT<br />
32 0x00000005 Channel 5<br />
32 0x00000300 Channel_type OGG_CHANNEL_ITU_BACK_LEFT<br />
32 0x00000006 Channel 6<br />
32 0x00000301 Channel_type OGG_CHANNEL_ITU_BACK_RIGHT<br />
32 0x00000007 Channel 7<br />
32 0x00000302 Channel_type OGG_CHANNEL_ITU_BACK_LEFT_SURROUND<br />
32 0x00000008 Channel 8<br />
32 0x00000303 Channel_type OGG_CHANNEL_ITU_BACK_RIGHT_SURROUND<br />
32 0x00000009 Channel 9<br />
32 0x00000500 Channel_type OGG_CHANNEL_BACK_CENTER<br />
32 0x0000000A Channel 10<br />
32 0x00000501 Channel_type OGG_CHANNEL_BACK_CENTER_SURROUND<br />
32 0x0000000B Channel 11<br />
32 0x00000701 Channel_type OGG_CHANNEL_FRONT_TOP_LEFT<br />
32 0x0000000C Channel 12<br />
32 0x00000702 Channel_type OGG_CHANNEL_FRONT_TOP_CENTER<br />
32 0x0000000D Channel 13<br />
32 0x00000703 Channel_type OGG_CHANNEL_FRONT_TOP_RIGHT<br />
32 0x0000000E Channel 14<br />
32 0x00000006 Channel_type OGG_CHANNEL_WALL_FRONT_LEFT<br />
32 0x0000000F Channel 15<br />
32 0x00000007 Channel_type OGG_CHANNEL_WALL_FRONT_RIGHT<br />
<br />
Mapping for Hamasaki 22.2:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000002 Channel_type OGG_CHANNEL_QUAD_FRONT_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000003 Channel_type OGG_CHANNEL_QUAD_FRONT_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000205 Channel_type OGG_CHANNEL_LFE_FRONT_BOTTOM_CENTER_LEFT<br />
32 0x00000004 Channel 4<br />
32 0x00000206 Channel_type OGG_CHANNEL_LFE_FRONT_BOTTOM_CENTER_RIGHT<br />
32 0x00000005 Channel 5<br />
32 0x00000306 Channel_type OGG_CHANNEL_QUAD_BACK_LEFT<br />
32 0x00000006 Channel 6<br />
32 0x00000307 Channel_type OGG_CHANNEL_QUAD_BACK_RIGHT<br />
32 0x00000007 Channel 7<br />
32 0x00000400 Channel_type OGG_CHANNEL_FRONT_CENTER_LEFT<br />
32 0x00000008 Channel 8<br />
32 0x00000401 Channel_type OGG_CHANNEL_FRONT_CENTER_RIGHT<br />
32 0x00000009 Channel 9<br />
32 0x00000500 Channel_type OGG_CHANNEL_BACK_CENTER<br />
32 0x0000000A Channel 10<br />
32 0x00000600 Channel_type OGG_CHANNEL_SIDE_LEFT<br />
32 0x0000000B Channel 11<br />
32 0x00000601 Channel_type OGG_CHANNEL_SIDE_RIGHT<br />
32 0x0000000C Channel 12<br />
32 0x00000700 Channel_type OGG_CHANNEL_TOP_CENTER<br />
32 0x0000000D Channel 13<br />
32 0x00000701 Channel_type OGG_CHANNEL_FRONT_TOP_LEFT<br />
32 0x0000000E Channel 14<br />
32 0x00000702 Channel_type OGG_CHANNEL_FRONT_TOP_CENTER<br />
32 0x0000000F Channel 15<br />
32 0x00000703 Channel_type OGG_CHANNEL_FRONT_TOP_RIGHT<br />
32 0x00000010 Channel 16<br />
32 0x00000704 Channel_type OGG_CHANNEL_BACK_TOP_LEFT<br />
32 0x00000011 Channel 17<br />
32 0x00000705 Channel_type OGG_CHANNEL_BACK_TOP_CENTER<br />
32 0x00000012 Channel 18<br />
32 0x00000706 Channel_type OGG_CHANNEL_BACK_TOP_RIGHT<br />
32 0x00000013 Channel 19<br />
32 0x00000800 Channel_type OGG_CHANNEL_SIDE_TOP_LEFT<br />
32 0x00000014 Channel 20<br />
32 0x00000801 Channel_type OGG_CHANNEL_SIDE_TOP_RIGHT<br />
32 0x00000015 Channel 21<br />
32 0x00000802 Channel_type OGG_CHANNEL_FRONT_BOTTOM_LEFT<br />
32 0x00000016 Channel 22<br />
32 0x00000803 Channel_type OGG_CHANNEL_FRONT_BOTTOM_CENTER<br />
32 0x00000017 Channel 23<br />
32 0x00000804 Channel_type OGG_CHANNEL_FRONT_BOTTOM_RIGHT<br />
<br />
[[Category:OggPCM]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=Channel_mapping_examples&diff=15992Channel mapping examples2015-08-20T21:25:25Z<p>Martin.leese: Reverted edits by MrZeus (talk) to last revision by Martin.leese</p>
<hr />
<div>This companion document to the [[OggPCM|OggPCM specification]] lists several examples of possible Channel Mapping and Channel Conversion Headers. They can be used to map most of the currently existing multichannel layouts into OggPCM. This document is INFORMATIVE.<br />
<br />
Mapping for stereo with headphone rendering intent:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x0000000C Channel_type OGG_CHANNEL_BINAURAL_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x0000000D Channel_type OGG_CHANNEL_BINAURAL_RIGHT<br />
<br />
Mapping for two channel ambisonics UHJ:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000010 Channel_type OGG_CHANNEL_UHJ_L<br />
32 0x00000001 Channel 1<br />
32 0x00000011 Channel_type OGG_CHANNEL_UHJ_R<br />
<br />
Mapping for mid/side stereo:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000101 Channel_type OGG_CHANNEL_MS_MID<br />
32 0x00000001 Channel 1<br />
32 0x00000902 Channel_type OGG_CHANNEL_MS_SIDE<br />
<br />
Mapping for Dolby MP matrix stereo:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000012 Channel_type OGG_CHANNEL_DOLBY_STEREO_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000013 Channel_type OGG_CHANNEL_DOLBY_STEREO_RIGHT<br />
<br />
Mapping for horizontal quadraphony in the diagonal layout:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000002 Channel_type OGG_CHANNEL_QUAD_FRONT_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000003 Channel_type OGG_CHANNEL_QUAD_FRONT_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000306 Channel_type OGG_CHANNEL_QUAD_BACK_LEFT<br />
32 0x00000003 Channel 3<br />
32 0x00000307 Channel_type OGG_CHANNEL_QUAD_BACK_RIGHT<br />
<br />
Mapping for horizontal quadraphony in the diamond layout:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000001 Channel 1<br />
32 0x00000500 Channel_type OGG_CHANNEL_BACK_CENTER<br />
32 0x00000002 Channel 2<br />
32 0x00000600 Channel_type OGG_CHANNEL_SIDE_LEFT<br />
32 0x00000003 Channel 3<br />
32 0x00000601 Channel_type OGG_CHANNEL_SIDE_RIGHT<br />
<br />
Mapping for Ambisonics G-format, derived for a square layout using the energy decoding equation:<br />
32 0x00000001 Channel Conversion Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00004000 Mixing coefficient 0.25<br />
32 0x00000001 Channel 1<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00004000 Mixing coefficient 0.25<br />
32 0x00000002 Channel 2<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00004000 Mixing coefficient 0.25<br />
32 0x00000003 Channel 3<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00004000 Mixing coefficient 0.25<br />
32 0x00000000 Channel 0<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0x00005A82 Mixing coefficient 0.25*sqrt(2)<br />
32 0x00000001 Channel 1<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0x00005A82 Mixing coefficient 0.25*sqrt(2)<br />
32 0x00000002 Channel 2<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0xFFFFA57E Mixing coefficient -0.25*sqrt(2)<br />
32 0x00000003 Channel 3<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0xFFFFA57E Mixing coefficient -0.25*sqrt(2)<br />
32 0x00000000 Channel 0<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
32 0x00005A82 Mixing coefficient 0.25*sqrt(2)<br />
32 0x00000001 Channel 1<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
32 0xFFFFA57E Mixing coefficient -0.25*sqrt(2)<br />
32 0x00000003 Channel 3<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
32 0x00005A82 Mixing coefficient 0.25*sqrt(2)<br />
32 0x00000003 Channel 3<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
32 0xFFFFA57E Mixing coefficient -0.25*sqrt(2)<br />
<br />
Mapping for 4.1:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000002 Channel_type OGG_CHANNEL_QUAD_FRONT_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000003 Channel_type OGG_CHANNEL_QUAD_FRONT_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000200 Channel_type OGG_CHANNEL_LFE<br />
32 0x00000003 Channel 3<br />
32 0x00000306 Channel_type OGG_CHANNEL_QUAD_BACK_LEFT<br />
32 0x00000004 Channel 4<br />
32 0x00000307 Channel_type OGG_CHANNEL_QUAD_BACK_RIGHT<br />
<br />
Mapping for Dolby format 42 ("baby boom") 4.2:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000002 Channel_type OGG_CHANNEL_QUAD_FRONT_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000003 Channel_type OGG_CHANNEL_QUAD_FRONT_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000203 Channel_type OGG_CHANNEL_LFE_FRONT_CENTER_LEFT<br />
32 0x00000004 Channel 4<br />
32 0x00000204 Channel_type OGG_CHANNEL_LFE_FRONT_CENTER_RIGHT<br />
32 0x00000005 Channel 5<br />
32 0x00000502 Channel_type OGG_CHANNEL_SURROUND<br />
<br />
Mapping for 5.0 in the ITU-R BS.775-1 layout:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000300 Channel_type OGG_CHANNEL_ITU_BACK_LEFT<br />
32 0x00000004 Channel 4<br />
32 0x00000301 Channel_type OGG_CHANNEL_ITU_BACK_RIGHT<br />
<br />
Mapping for horizontal pentaphony:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x0000000A Channel_type OGG_CHANNEL_PENTAGONAL_FRONT_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x0000000B Channel_type OGG_CHANNEL_PENTAGONAL_FRONT_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000308 Channel_type OGG_CHANNEL_PENTAGONAL_BACK_LEFT<br />
32 0x00000004 Channel 4<br />
32 0x00000309 Channel_type OGG_CHANNEL_PENTAGONAL_BACK_RIGHT<br />
<br />
Mapping for 5.1 in the ITU-R BS.775-1 layout, when a Dolby Surround fallback track is present:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000200 Channel_type OGG_CHANNEL_LFE<br />
32 0x00000004 Channel 4<br />
32 0x00000300 Channel_type OGG_CHANNEL_ITU_BACK_LEFT<br />
32 0x00000005 Channel 5<br />
32 0x00000301 Channel_type OGG_CHANNEL_ITU_BACK_RIGHT<br />
<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000012 Channel_type OGG_CHANNEL_DOLBY_STEREO_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000013 Channel_type OGG_CHANNEL_DOLBY_STEREO_RIGHT<br />
<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
<br />
Mapping for 5.1 in the layout suggested by THX mastering guidelines:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000002 Channel_type OGG_CHANNEL_QUAD_FRONT_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000003 Channel_type OGG_CHANNEL_QUAD_FRONT_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000200 Channel_type OGG_CHANNEL_LFE<br />
32 0x00000004 Channel 4<br />
32 0x00000602 Channel_type OGG_CHANNEL_SIDE_LEFT_SURROUND<br />
32 0x00000005 Channel 5<br />
32 0x00000603 Channel_type OGG_CHANNEL_SIDE_RIGHT_SURROUND<br />
<br />
Mapping for 6.0 in the Dolby format 40 layout, used with 70mm film:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000002 Channel_type OGG_CHANNEL_QUAD_FRONT_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000003 Channel_type OGG_CHANNEL_QUAD_FRONT_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000400 Channel_type OGG_CHANNEL_FRONT_CENTER_LEFT<br />
32 0x00000004 Channel 4<br />
32 0x00000401 Channel_type OGG_CHANNEL_FRONT_CENTER_RIGHT<br />
32 0x00000005 Channel 5<br />
32 0x00000502 Channel_type OGG_CHANNEL_SURROUND<br />
<br />
Mapping for horizontal hexagonal:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000008 Channel_type OGG_CHANNEL_HEX_FRONT_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000009 Channel_type OGG_CHANNEL_HEX_FRONT_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000304 Channel_type OGG_CHANNEL_HEX_BACK_LEFT<br />
32 0x00000004 Channel 4<br />
32 0x00000305 Channel_type OGG_CHANNEL_HEX_BACK_RIGHT<br />
32 0x00000005 Channel 5<br />
32 0x00000500 Channel_type OGG_CHANNEL_BACK_CENTER<br />
<br />
Mapping for ambisonics G+2 format, derived for a square layout using the energy decoding equation:<br />
32 0x00000001 Channel Conversion Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00004000 Mixing coefficient 0.25<br />
32 0x00000001 Channel 1<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00004000 Mixing coefficient 0.25<br />
32 0x00000002 Channel 2<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00004000 Mixing coefficient 0.25<br />
32 0x00000003 Channel 3<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00004000 Mixing coefficient 0.25<br />
32 0x00000000 Channel 0<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0x00005A82 Mixing coefficient 0.25*sqrt(2)<br />
32 0x00000001 Channel 1<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0x00005A82 Mixing coefficient 0.25*sqrt(2)<br />
32 0x00000002 Channel 2<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0xFFFFA57E Mixing coefficient -0.25*sqrt(2)<br />
32 0x00000003 Channel 3<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0xFFFFA57E Mixing coefficient -0.25*sqrt(2)<br />
32 0x00000000 Channel 0<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
32 0x00005A82 Mixing coefficient 0.25*sqrt(2)<br />
32 0x00000001 Channel 1<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
32 0xFFFFA57E Mixing coefficient -0.25*sqrt(2)<br />
32 0x00000003 Channel 3<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
32 0x00005A82 Mixing coefficient 0.25*sqrt(2)<br />
32 0x00000003 Channel 3<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
32 0xFFFFA57E Mixing coefficient -0.25*sqrt(2)<br />
<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000004 Channel 4<br />
32 0x00000010 Channel_type OGG_CHANNEL_UHJ_L<br />
32 0x00000005 Channel 5<br />
32 0x00000011 Channel_type OGG_CHANNEL_UHJ_R<br />
<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000004 Channel 4<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x00000005 Channel 5<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
<br />
Mapping for Ambisonics B+format:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00000003 Channel 3<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0x00000004 Channel 4<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
32 0x00000005 Channel 5<br />
32 0x00000903 Channel_type OGG_CHANNEL_AMBISONICS_Z<br />
<br />
Mapping for Ambisonics G-format, derived for a pentagonal layout using the energy decoding equation:<br />
32 0x00000001 Channel Conversion Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00003333 Mixing coefficient 0.2<br />
32 0x00000001 Channel 1<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00003333 Mixing coefficient 0.2<br />
32 0x00000002 Channel 2<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00003333 Mixing coefficient 0.2<br />
32 0x00000003 Channel 3<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00003333 Mixing coefficient 0.2<br />
32 0x00000004 Channel 4<br />
32 0x00000900 Channel_type OGG_CHANNEL_AMBISONICS_W<br />
32 0x00003333 Mixing coefficient 0.2<br />
32 0x00000000 Channel 0<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0xFFFFCCCD Mixing coefficient -0.2<br />
32 0x00000001 Channel 1<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0xFFFFCCCD Mixing coefficient -0.2<br />
32 0x00000002 Channel 2<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0x0000CCCC Mixing coefficient 0.8<br />
32 0x00000003 Channel 3<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0xFFFFCCCD Mixing coefficient -0.2<br />
32 0x00000004 Channel 4<br />
32 0x00000901 Channel_type OGG_CHANNEL_AMBISONICS_X<br />
32 0xFFFFCCCD Mixing coefficient -0.2<br />
32 0x00000000 Channel 0<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
32 0x0000434B Mixing coefficient 1/(4sin(2pi/5))<br />
32 0x00000001 Channel 1<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
32 0xFFFFBCB5 Mixing coefficient 1/(4sin(-2pi/5))<br />
32 0x00000003 Channel 3<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
32 0x00006CE2 Mixing coefficient 1/(4sin(2pi/10))<br />
32 0x00000004 Channel 4<br />
32 0x00000902 Channel_type OGG_CHANNEL_AMBISONICS_Y<br />
32 0xFFFF931E Mixing coefficient 1/(4sin(-2pi/10))<br />
<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x0000000A Channel_type OGG_CHANNEL_PENTAGONAL_FRONT_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x0000000B Channel_type OGG_CHANNEL_PENTAGONAL_FRONT_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000308 Channel_type OGG_CHANNEL_PENTAGONAL_BACK_LEFT<br />
32 0x00000004 Channel 4<br />
32 0x00000309 Channel_type OGG_CHANNEL_PENTAGONAL_BACK_RIGHT<br />
<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000002 Channel_type OGG_CHANNEL_QUAD_FRONT_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000003 Channel_type OGG_CHANNEL_QUAD_FRONT_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000300 Channel_type OGG_CHANNEL_ITU_BACK_LEFT<br />
32 0x00000004 Channel 4<br />
32 0x00000301 Channel_type OGG_CHANNEL_ITU_BACK_RIGHT<br />
<br />
Mapping for 7.1 in the THX Advanced Speaker Array (ASA) layout:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000001 Channel 1<br />
32 0x00000200 Channel_type OGG_CHANNEL_LFE<br />
32 0x00000002 Channel 2<br />
32 0x0000030C Channel_type OGG_CHANNEL_BACK_STEREO_DIPOLE_LEFT<br />
32 0x00000003 Channel 3<br />
32 0x0000030D Channel_type OGG_CHANNEL_BACK_STEREO_DIPOLE_RIGHT<br />
32 0x00000004 Channel 4<br />
32 0x00000400 Channel_type OGG_CHANNEL_FRONT_CENTER_LEFT<br />
32 0x00000005 Channel 5<br />
32 0x00000401 Channel_type OGG_CHANNEL_FRONT_CENTER_RIGHT<br />
32 0x00000006 Channel 6<br />
32 0x00000602 Channel_type OGG_CHANNEL_SIDE_LEFT_SURROUND<br />
32 0x00000007 Channel 7<br />
32 0x00000603 Channel_type OGG_CHANNEL_SIDE_RIGHT_SURROUND<br />
<br />
Mapping for 7.1 in the SDDS layout:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000002 Channel_type OGG_CHANNEL_QUAD_FRONT_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000003 Channel_type OGG_CHANNEL_QUAD_FRONT_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000200 Channel_type OGG_CHANNEL_LFE<br />
32 0x00000004 Channel 4<br />
32 0x00000400 Channel_type OGG_CHANNEL_FRONT_CENTER_LEFT<br />
32 0x00000005 Channel 5<br />
32 0x00000401 Channel_type OGG_CHANNEL_FRONT_CENTER_RIGHT<br />
32 0x00000006 Channel 6<br />
32 0x00000602 Channel_type OGG_CHANNEL_SIDE_LEFT_SURROUND<br />
32 0x00000007 Channel 7<br />
32 0x00000603 Channel_type OGG_CHANNEL_SIDE_RIGHT_SURROUND<br />
<br />
Mapping for the CAF cubical layout:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000002 Channel_type OGG_CHANNEL_QUAD_FRONT_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000003 Channel_type OGG_CHANNEL_QUAD_FRONT_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000306 Channel_type OGG_CHANNEL_QUAD_BACK_LEFT<br />
32 0x00000003 Channel 3<br />
32 0x00000307 Channel_type OGG_CHANNEL_QUAD_BACK_RIGHT<br />
32 0x00000004 Channel 4<br />
32 0x00000701 Channel_type OGG_CHANNEL_FRONT_TOP_LEFT<br />
32 0x00000005 Channel 5<br />
32 0x00000703 Channel_type OGG_CHANNEL_FRONT_TOP_RIGHT<br />
32 0x00000006 Channel 6<br />
32 0x00000704 Channel_type OGG_CHANNEL_BACK_TOP_LEFT<br />
32 0x00000007 Channel 7<br />
32 0x00000706 Channel_type OGG_CHANNEL_BACK_TOP_RIGHT<br />
<br />
Mapping for horizontal octagonal:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000002 Channel_type OGG_CHANNEL_QUAD_FRONT_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000003 Channel_type OGG_CHANNEL_QUAD_FRONT_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000306 Channel_type OGG_CHANNEL_QUAD_BACK_LEFT<br />
32 0x00000004 Channel 4<br />
32 0x00000307 Channel_type OGG_CHANNEL_QUAD_BACK_RIGHT<br />
32 0x00000005 Channel 5<br />
32 0x00000500 Channel_type OGG_CHANNEL_BACK_CENTER<br />
32 0x00000006 Channel 6<br />
32 0x00000600 Channel_type OGG_CHANNEL_SIDE_LEFT<br />
32 0x00000007 Channel 7<br />
32 0x00000601 Channel_type OGG_CHANNEL_SIDE_RIGHT<br />
<br />
Mapping for TMH 10.2:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000000 Channel_type OGG_CHANNEL_STEREO_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000001 Channel_type OGG_CHANNEL_STEREO_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000201 Channel_type OGG_CHANNEL_LFE_SIDE_LEFT<br />
32 0x00000004 Channel 4<br />
32 0x00000202 Channel_type OGG_CHANNEL_LFE_SIDE_RIGHT<br />
32 0x00000005 Channel 5<br />
32 0x00000300 Channel_type OGG_CHANNEL_ITU_BACK_LEFT<br />
32 0x00000006 Channel 6<br />
32 0x00000301 Channel_type OGG_CHANNEL_ITU_BACK_RIGHT<br />
32 0x00000007 Channel 7<br />
32 0x00000302 Channel_type OGG_CHANNEL_ITU_BACK_LEFT_SURROUND<br />
32 0x00000008 Channel 8<br />
32 0x00000303 Channel_type OGG_CHANNEL_ITU_BACK_RIGHT_SURROUND<br />
32 0x00000009 Channel 9<br />
32 0x00000500 Channel_type OGG_CHANNEL_BACK_CENTER<br />
32 0x0000000A Channel 10<br />
32 0x00000501 Channel_type OGG_CHANNEL_BACK_CENTER_SURROUND<br />
32 0x0000000B Channel 11<br />
32 0x00000701 Channel_type OGG_CHANNEL_FRONT_TOP_LEFT<br />
32 0x0000000C Channel 12<br />
32 0x00000702 Channel_type OGG_CHANNEL_FRONT_TOP_CENTER<br />
32 0x0000000D Channel 13<br />
32 0x00000703 Channel_type OGG_CHANNEL_FRONT_TOP_RIGHT<br />
32 0x0000000E Channel 14<br />
32 0x00000006 Channel_type OGG_CHANNEL_WALL_FRONT_LEFT<br />
32 0x0000000F Channel 15<br />
32 0x00000007 Channel_type OGG_CHANNEL_WALL_FRONT_RIGHT<br />
<br />
Mapping for Hamasaki 22.2:<br />
32 0x00000000 Channel Mapping Header<br />
16 0x0000 Version Major 0<br />
16 0x0000 Version Minor 0<br />
32 0x00000000 Channel 0<br />
32 0x00000002 Channel_type OGG_CHANNEL_QUAD_FRONT_LEFT<br />
32 0x00000001 Channel 1<br />
32 0x00000003 Channel_type OGG_CHANNEL_QUAD_FRONT_RIGHT<br />
32 0x00000002 Channel 2<br />
32 0x00000100 Channel_type OGG_CHANNEL_SCREEN_CENTER<br />
32 0x00000003 Channel 3<br />
32 0x00000205 Channel_type OGG_CHANNEL_LFE_FRONT_BOTTOM_CENTER_LEFT<br />
32 0x00000004 Channel 4<br />
32 0x00000206 Channel_type OGG_CHANNEL_LFE_FRONT_BOTTOM_CENTER_RIGHT<br />
32 0x00000005 Channel 5<br />
32 0x00000306 Channel_type OGG_CHANNEL_QUAD_BACK_LEFT<br />
32 0x00000006 Channel 6<br />
32 0x00000307 Channel_type OGG_CHANNEL_QUAD_BACK_RIGHT<br />
32 0x00000007 Channel 7<br />
32 0x00000400 Channel_type OGG_CHANNEL_FRONT_CENTER_LEFT<br />
32 0x00000008 Channel 8<br />
32 0x00000401 Channel_type OGG_CHANNEL_FRONT_CENTER_RIGHT<br />
32 0x00000009 Channel 9<br />
32 0x00000500 Channel_type OGG_CHANNEL_BACK_CENTER<br />
32 0x0000000A Channel 10<br />
32 0x00000600 Channel_type OGG_CHANNEL_SIDE_LEFT<br />
32 0x0000000B Channel 11<br />
32 0x00000601 Channel_type OGG_CHANNEL_SIDE_RIGHT<br />
32 0x0000000C Channel 12<br />
32 0x00000700 Channel_type OGG_CHANNEL_TOP_CENTER<br />
32 0x0000000D Channel 13<br />
32 0x00000701 Channel_type OGG_CHANNEL_FRONT_TOP_LEFT<br />
32 0x0000000E Channel 14<br />
32 0x00000702 Channel_type OGG_CHANNEL_FRONT_TOP_CENTER<br />
32 0x0000000F Channel 15<br />
32 0x00000703 Channel_type OGG_CHANNEL_FRONT_TOP_RIGHT<br />
32 0x00000010 Channel 16<br />
32 0x00000704 Channel_type OGG_CHANNEL_BACK_TOP_LEFT<br />
32 0x00000011 Channel 17<br />
32 0x00000705 Channel_type OGG_CHANNEL_BACK_TOP_CENTER<br />
32 0x00000012 Channel 18<br />
32 0x00000706 Channel_type OGG_CHANNEL_BACK_TOP_RIGHT<br />
32 0x00000013 Channel 19<br />
32 0x00000800 Channel_type OGG_CHANNEL_SIDE_TOP_LEFT<br />
32 0x00000014 Channel 20<br />
32 0x00000801 Channel_type OGG_CHANNEL_SIDE_TOP_RIGHT<br />
32 0x00000015 Channel 21<br />
32 0x00000802 Channel_type OGG_CHANNEL_FRONT_BOTTOM_LEFT<br />
32 0x00000016 Channel 22<br />
32 0x00000803 Channel_type OGG_CHANNEL_FRONT_BOTTOM_CENTER<br />
32 0x00000017 Channel 23<br />
32 0x00000804 Channel_type OGG_CHANNEL_FRONT_BOTTOM_RIGHT<br />
<br />
[[Category:Drafts]]<br />
[[Category:OggPCM]]</div>Martin.leesehttps://wiki.xiph.org/index.php?title=User_talk:MrZeus&diff=15991User talk:MrZeus2015-08-20T21:23:56Z<p>Martin.leese: Response (neither fish nor fowl)</p>
<hr />
<div>In an Edit Summary, you wrote, "Martin, might this be a sneakier/prettier way of categorising Draft pages? note the <nowiki>{{draft}}</nowiki> template contains its own Category:Draft flag :-)".<br />
: I have avoided using the template <nowiki>{{draft}}</nowiki> in [[OggPCM]] (and in [[Channel mapping examples]]) because it is not really a draft in that it is ready for implementation. It is just that nobody can work up sufficient enthusiasm to actually implement it, and the wording in the template would discourage this. I have included Category:Draft because, until it is implemented, it is not complete either. It is neither fish nor fowl. [[User:Martin.leese|Martin Leese]] ([[User talk:Martin.leese|talk]]) 14:23, 20 August 2015 (PDT)</div>Martin.leese