<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.xiph.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Basilgohar</id>
	<title>XiphWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.xiph.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Basilgohar"/>
	<link rel="alternate" type="text/html" href="https://wiki.xiph.org/Special:Contributions/Basilgohar"/>
	<updated>2026-06-03T23:31:21Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Vorbis&amp;diff=14338</id>
		<title>Vorbis</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Vorbis&amp;diff=14338"/>
		<updated>2013-11-25T16:41:26Z</updated>

		<summary type="html">&lt;p&gt;Basilgohar: Removed another dead link (maresweb.de is for sale)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Vorbis&#039;&#039;&#039; is a patent-clear, fully open, general purpose audio encoding format standard that rivals or even surpasses the &#039;upcoming&#039; generation of proprietary codecs ([[Wikipedia:Advanced Audio Coding|AAC]] and [[Wikipedia:TwinVQ|TwinVQ]], also known as VQF). There is no raw Vorbis stream defined, instead the Vorbis codec is typically used in the [[Ogg]] container format for audio files. Because for a long time the Ogg container was quasi exclusive for Vorbis people often refer to it as &#039;Ogg Vorbis&#039;. Later the FLAC audio codec as well as the video codecs Theora and Dirac began to be used inside Ogg too. In 2010 the [[WebM]] format was defined using the Vorbis codec inside the WebM container.&lt;br /&gt;
&lt;br /&gt;
libvorbis, a BSD-licensed source implementation of Vorbis as a library is available; See the [http://xiph.org/vorbis/ Ogg Vorbis page] for documentation, downloads and distribution terms.&lt;br /&gt;
&lt;br /&gt;
Many hard- and software players support Ogg Vorbis; see [http://www.vorbis.com/ vorbis.com] or the links below for a list of all the players we know about.&lt;br /&gt;
&lt;br /&gt;
== More information ==&lt;br /&gt;
&lt;br /&gt;
* [[Vorbis Hardware]]: List of hardware-players supporting Ogg Vorbis&lt;br /&gt;
* [[Vorbis Software Players]]: List of media players that can play Ogg Vorbis&lt;br /&gt;
* [[Vorbis Software Encoders]]: List of libvorbis frontends&lt;br /&gt;
* [[Vorbis Decoders]]: List of decoders (e.g. Xiph, Tremor, JOrbis, etc)&lt;br /&gt;
* [[Vorbis Encoders]]: List of encoders (e.g. Xiph, aoTuV, GT, vorbis-java)&lt;br /&gt;
* [[Vorbis-tools]]: Reference tools maintained by Xiph.org&lt;br /&gt;
* [[Games that use Vorbis]]: List of games using Ogg Vorbis&lt;br /&gt;
* [[VorbisStreams]]: Stations streaming with the [[Vorbis]] codec&lt;br /&gt;
* [[VorbisCasts]]: Audiocasts publishing Ogg [[Vorbis]] feeds&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.vorbis.com/ Vorbis.com]&lt;br /&gt;
* [[Wikipedia: Vorbis]]&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=35438 80kbps personal listening test]&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=36465 180kbps personal listening test with classical music]&lt;br /&gt;
&lt;br /&gt;
[[Category:Vorbis]]&lt;/div&gt;</summary>
		<author><name>Basilgohar</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Vorbis&amp;diff=14337</id>
		<title>Vorbis</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Vorbis&amp;diff=14337"/>
		<updated>2013-11-25T16:40:11Z</updated>

		<summary type="html">&lt;p&gt;Basilgohar: Removed a dead link (rjamorin&amp;#039;s 128kbps test, domain name is for sale)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Vorbis&#039;&#039;&#039; is a patent-clear, fully open, general purpose audio encoding format standard that rivals or even surpasses the &#039;upcoming&#039; generation of proprietary codecs ([[Wikipedia:Advanced Audio Coding|AAC]] and [[Wikipedia:TwinVQ|TwinVQ]], also known as VQF). There is no raw Vorbis stream defined, instead the Vorbis codec is typically used in the [[Ogg]] container format for audio files. Because for a long time the Ogg container was quasi exclusive for Vorbis people often refer to it as &#039;Ogg Vorbis&#039;. Later the FLAC audio codec as well as the video codecs Theora and Dirac began to be used inside Ogg too. In 2010 the [[WebM]] format was defined using the Vorbis codec inside the WebM container.&lt;br /&gt;
&lt;br /&gt;
libvorbis, a BSD-licensed source implementation of Vorbis as a library is available; See the [http://xiph.org/vorbis/ Ogg Vorbis page] for documentation, downloads and distribution terms.&lt;br /&gt;
&lt;br /&gt;
Many hard- and software players support Ogg Vorbis; see [http://www.vorbis.com/ vorbis.com] or the links below for a list of all the players we know about.&lt;br /&gt;
&lt;br /&gt;
== More information ==&lt;br /&gt;
&lt;br /&gt;
* [[Vorbis Hardware]]: List of hardware-players supporting Ogg Vorbis&lt;br /&gt;
* [[Vorbis Software Players]]: List of media players that can play Ogg Vorbis&lt;br /&gt;
* [[Vorbis Software Encoders]]: List of libvorbis frontends&lt;br /&gt;
* [[Vorbis Decoders]]: List of decoders (e.g. Xiph, Tremor, JOrbis, etc)&lt;br /&gt;
* [[Vorbis Encoders]]: List of encoders (e.g. Xiph, aoTuV, GT, vorbis-java)&lt;br /&gt;
* [[Vorbis-tools]]: Reference tools maintained by Xiph.org&lt;br /&gt;
* [[Games that use Vorbis]]: List of games using Ogg Vorbis&lt;br /&gt;
* [[VorbisStreams]]: Stations streaming with the [[Vorbis]] codec&lt;br /&gt;
* [[VorbisCasts]]: Audiocasts publishing Ogg [[Vorbis]] feeds&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.vorbis.com/ Vorbis.com]&lt;br /&gt;
* [[Wikipedia: Vorbis]]&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=35438 80kbps personal listening test]&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=36465 180kbps personal listening test with classical music]&lt;br /&gt;
* [http://www.maresweb.de/listening-tests/mf-128-1/results.htm 128kbps public listening test]&lt;br /&gt;
&lt;br /&gt;
[[Category:Vorbis]]&lt;/div&gt;</summary>
		<author><name>Basilgohar</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Main_Page&amp;diff=14336</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Main_Page&amp;diff=14336"/>
		<updated>2013-11-25T16:38:06Z</updated>

		<summary type="html">&lt;p&gt;Basilgohar: Added link to the OpusFAQ (no link to Opus before this!)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In an effort to bring open-source ideals to the world of multimedia the [[Xiph.Org Foundation]] develops a multitude of amazing products.  This wiki describes our free and open protocols and software.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Demonstrations of Xiph technologies =&lt;br /&gt;
&lt;br /&gt;
Want to hear or see Xiph in action?  These projects are using our codecs, formats, or libraries.&lt;br /&gt;
&lt;br /&gt;
* [[VorbisStreams|Vorbis Streams]]: Stations streaming with the [[Vorbis]] codec&lt;br /&gt;
* [[Games that use Vorbis]]: Games using the Vorbis codec for music or sound effects&lt;br /&gt;
* [[VorbisHardware|Vorbis Hardware]]: Hardware players using the Vorbis codec&lt;br /&gt;
* [[VorbisSoftwarePlayers|Vorbis Software Players]]: list of media players with out-of-box support for Vorbis&lt;br /&gt;
* [[TheoraHardware|Theora Hardware]]: Hardware using the Theora video codec&lt;br /&gt;
* [[TheoraSoftwarePlayers|Theora Software Players]]: list of media players with Theora support&lt;br /&gt;
* [[List of Theora videos]]: Sources for video encoded with [[Theora]]&lt;br /&gt;
&lt;br /&gt;
= Projects/Formats =&lt;br /&gt;
&lt;br /&gt;
== Container Formats ==&lt;br /&gt;
&lt;br /&gt;
* [[Ogg]]: Media container. This is our native format and the recommended container for Xiph codecs.&lt;br /&gt;
** [[Ogg Skeleton]]: Skeleton information on all logical content bitstreams in Ogg.&lt;br /&gt;
** [[MIMETypesCodecs|Specification of MIME types and respective codecs parameter]]&lt;br /&gt;
* [[SpeexRTP]]: RTP payload format for voice&lt;br /&gt;
* [[VorbisRTP]]: RTP payload format for general audio&lt;br /&gt;
* [[TheoraRTP]]: RTP payload format for video&lt;br /&gt;
* [[XSPF]]: XML Sharable Playlist Format&lt;br /&gt;
&lt;br /&gt;
== Codecs ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Compressed Audio/Video Codecs:&#039;&#039;&#039;&lt;br /&gt;
** [[Vorbis]]: Audio codec with a [[Tremor|fixed point decoder]]&lt;br /&gt;
** [[Theora]]: Video codec&lt;br /&gt;
** [[FLAC]]: Free Lossless Audio Codec&lt;br /&gt;
** [[Speex]]: Speech codec&lt;br /&gt;
** [[OpusFAQ|Opus]]: Low-latency general-purpose audio codec&lt;br /&gt;
* &#039;&#039;&#039;Uncompressed Audio/Video Codecs:&#039;&#039;&#039;&lt;br /&gt;
** [[OggPCM]]: Audio codec&lt;br /&gt;
* &#039;&#039;&#039;Timed Text/Metadata Codecs:&#039;&#039;&#039;&lt;br /&gt;
** [[CMML]]: Continuous Media Markup Language, used for [http://www.annodex.net/ Annodex] and subtitles (xine, vlc, gstreamer, and DirectShow support)&lt;br /&gt;
**[[OggKate|Kate]]: new format for lyrics and subtitles&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Software for distributing media&#039;&#039;&#039;&lt;br /&gt;
** [[Icecast]]: Streaming server&lt;br /&gt;
** [[Ices]]: Source client for Icecast servers&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Libraries&#039;&#039;&#039;&lt;br /&gt;
** [[OggPlay]]: library for synchronised Xiph media playback&lt;br /&gt;
**[[XiphQT]]: Quicktime component to play the main Xiph formats&lt;br /&gt;
** [[VorbisCommentEdit]]: Macintosh Framework making it easy to incorporate the editing of [[VorbisComment|Vorbis Comments]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Other software&#039;&#039;&#039;&lt;br /&gt;
** [[OggComponent/VorbisComponent]]: Wrappers to integrate Vorbis into Mac OS X (does not yet support encoding)&lt;br /&gt;
** [http://xiph.org/paranoia/ cdparanoia]: CDDA extractor/ripper&lt;br /&gt;
&lt;br /&gt;
== Community ==&lt;br /&gt;
&lt;br /&gt;
*[[How to help]]&lt;br /&gt;
*[[Spread Open Media]]: project to promote Xiph formats.&lt;br /&gt;
**[[MailOgging]]: provides templates for anyone willing to contact a company requesting them to add support for Xiph formats.&lt;br /&gt;
*[[People]]: Who&#039;s who in Xiph.&lt;br /&gt;
&lt;br /&gt;
== Work in Progress ==&lt;br /&gt;
* [[Work In Progress]]: codecs and software still in the research and development stages.&lt;br /&gt;
* [[Todo]]: To-do list for various Xiph projects.&lt;br /&gt;
&lt;br /&gt;
= Project management =&lt;br /&gt;
&lt;br /&gt;
* [[AdminProcesses]]: who&#039;s in charge of what project&lt;br /&gt;
* [[MonthlyMeeting]]: page with information on Xiph&#039;s MonthlyMeeting&lt;br /&gt;
* [[MailingLists]]: list of Xiph&#039;s mailing lists&lt;br /&gt;
* [[Bounties]]: list of bounties that you can take to improve Xiph&#039;s projects&lt;br /&gt;
&lt;br /&gt;
= Resources for Video and Audio programmers =&lt;br /&gt;
&lt;br /&gt;
* [[Ambisonics]]: page with technical information on Ambisonics&lt;br /&gt;
* [[Resources and papers on Audio, Music and Speech|Courses and papers on Audio, Music and Speech]]: page with links to MIT and other universities&#039; content&lt;br /&gt;
* [[Oggless]]: for ideas on how to use the different Xiph codecs outside Ogg&lt;br /&gt;
&lt;br /&gt;
= Wiki internal =&lt;br /&gt;
&lt;br /&gt;
* [[Translations]]: What about some translation work&lt;br /&gt;
* [[Sandbox]]: Testbed for testing editing skills&lt;br /&gt;
* [[XiphWiki:Copyrights]]: License used for all content on the XiphWiki&lt;/div&gt;</summary>
		<author><name>Basilgohar</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=SpeexRTP&amp;diff=13788</id>
		<title>SpeexRTP</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=SpeexRTP&amp;diff=13788"/>
		<updated>2012-12-05T19:04:33Z</updated>

		<summary type="html">&lt;p&gt;Basilgohar: Reverted edits by Svererenov (talk) to last revision by Saoshyant&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Speex over RTP ===&lt;br /&gt;
&lt;br /&gt;
While [[Ogg]] is the native file format for speex data, an RTP encapsulation is a natural fit with the codec&#039;s low latency design.&lt;br /&gt;
&lt;br /&gt;
Fortunately, unlike [[Vorbis]] and [[Theora]], [[Speex]] has no required setup headers, so the application is easy. A [http://speex.org/drafts/draft-herlein-speex-rtp-profile-02.txt draft exists]. It just needs to be reviewed and then taken through the formal ratification process with the IETF.&lt;br /&gt;
&lt;br /&gt;
[[Category:Speex]]&lt;/div&gt;</summary>
		<author><name>Basilgohar</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Icecast_Server&amp;diff=13127</id>
		<title>Icecast Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Icecast_Server&amp;diff=13127"/>
		<updated>2011-11-21T22:33:54Z</updated>

		<summary type="html">&lt;p&gt;Basilgohar: added OggOpus streaming&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Icecast&#039;&#039;&#039; is an open source multi-platform streaming server. It supports [[Ogg]] [[Vorbis]], Ogg [[Theora]], and [[MP3]].&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.icecast.org/ Icecast homepage]&lt;br /&gt;
* [http://dir.xiph.org/index.php Stream directory]&lt;br /&gt;
* [http://www.nabble.com/Icecast-f2880.html Icecast archive / forum] - an Icecast mailing list archive that combines both user and dev lists. It is hosted by [http://www.nabble.com/ Nabble]. You can search or browse Icecast discussions here.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
*trunk http://svn.xiph.org/icecast/trunk/icecast&lt;br /&gt;
*kh-branch http://svn.xiph.org/icecast/branches/kh/icecast&lt;br /&gt;
**diff to trunk&lt;br /&gt;
***fast pre-buffering aka burst-on-connect. &amp;lt;br&amp;gt;State a burst size in bytes to indicate how much should be sent at listener connect.&lt;br /&gt;
***mp3 accepts artist and title separately on the url.&lt;br /&gt;
***program invocation at stream start and end, per mount based.&lt;br /&gt;
***on-demand relays, activated on first listener, disconnected when listenersfalls to 0. &amp;lt;br&amp;gt;Available for master relays as well.&lt;br /&gt;
***multiple Ogg codec streaming. Current codecs handled are Theora, Vorbis, Speex, Writ.&lt;br /&gt;
***Clients are started at theora key frame if theora is being streamed.&lt;br /&gt;
***Added URL and command based listener authentication&lt;br /&gt;
***server xml reload, and reopen logging available via admin url&lt;br /&gt;
***slave startup re-organised so that relays are more independant&lt;br /&gt;
***on xml reload, active sources are updated as well&lt;br /&gt;
***When max-listeners reached, a HTTP 302 code can be sent to redirect clients to alternative slave hosts.&lt;br /&gt;
***authenticated relays, those that match the relay user/pass, bypass the max-listener check&lt;br /&gt;
&lt;br /&gt;
== Wish List ==&lt;br /&gt;
&lt;br /&gt;
As good ideas are never a waste, and for tracking purposes, please list here all the features you&#039;re missing in icecast trunk.&lt;br /&gt;
&lt;br /&gt;
Note: please check that the feature you request is not already in trunk before posting !&lt;br /&gt;
&lt;br /&gt;
* WebM streaming&lt;br /&gt;
* OggOpus streaming&lt;br /&gt;
* PUT method support&lt;br /&gt;
* Ponies&lt;br /&gt;
&lt;br /&gt;
[[Category:Xiph-related Software]]&lt;/div&gt;</summary>
		<author><name>Basilgohar</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Icecast_Server&amp;diff=13126</id>
		<title>Icecast Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Icecast_Server&amp;diff=13126"/>
		<updated>2011-11-21T19:50:40Z</updated>

		<summary type="html">&lt;p&gt;Basilgohar: Ponies should be spelled correctly (http://en.wiktionary.org/wiki/ponies)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Icecast&#039;&#039;&#039; is an open source multi-platform streaming server. It supports [[Ogg]] [[Vorbis]], Ogg [[Theora]], and [[MP3]].&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.icecast.org/ Icecast homepage]&lt;br /&gt;
* [http://dir.xiph.org/index.php Stream directory]&lt;br /&gt;
* [http://www.nabble.com/Icecast-f2880.html Icecast archive / forum] - an Icecast mailing list archive that combines both user and dev lists. It is hosted by [http://www.nabble.com/ Nabble]. You can search or browse Icecast discussions here.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
*trunk http://svn.xiph.org/icecast/trunk/icecast&lt;br /&gt;
*kh-branch http://svn.xiph.org/icecast/branches/kh/icecast&lt;br /&gt;
**diff to trunk&lt;br /&gt;
***fast pre-buffering aka burst-on-connect. &amp;lt;br&amp;gt;State a burst size in bytes to indicate how much should be sent at listener connect.&lt;br /&gt;
***mp3 accepts artist and title separately on the url.&lt;br /&gt;
***program invocation at stream start and end, per mount based.&lt;br /&gt;
***on-demand relays, activated on first listener, disconnected when listenersfalls to 0. &amp;lt;br&amp;gt;Available for master relays as well.&lt;br /&gt;
***multiple Ogg codec streaming. Current codecs handled are Theora, Vorbis, Speex, Writ.&lt;br /&gt;
***Clients are started at theora key frame if theora is being streamed.&lt;br /&gt;
***Added URL and command based listener authentication&lt;br /&gt;
***server xml reload, and reopen logging available via admin url&lt;br /&gt;
***slave startup re-organised so that relays are more independant&lt;br /&gt;
***on xml reload, active sources are updated as well&lt;br /&gt;
***When max-listeners reached, a HTTP 302 code can be sent to redirect clients to alternative slave hosts.&lt;br /&gt;
***authenticated relays, those that match the relay user/pass, bypass the max-listener check&lt;br /&gt;
&lt;br /&gt;
== Wish List ==&lt;br /&gt;
&lt;br /&gt;
As good ideas are never a waste, and for tracking purposes, please list here all the features you&#039;re missing in icecast trunk.&lt;br /&gt;
&lt;br /&gt;
Note: please check that the feature you request is not already in trunk before posting !&lt;br /&gt;
&lt;br /&gt;
* WebM Streaming&lt;br /&gt;
* PUT method support&lt;br /&gt;
* Ponies&lt;br /&gt;
&lt;br /&gt;
[[Category:Xiph-related Software]]&lt;/div&gt;</summary>
		<author><name>Basilgohar</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Icecast_Server&amp;diff=13124</id>
		<title>Icecast Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Icecast_Server&amp;diff=13124"/>
		<updated>2011-11-21T19:47:50Z</updated>

		<summary type="html">&lt;p&gt;Basilgohar: added WebM streaming and PUT method support&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Icecast&#039;&#039;&#039; is an open source multi-platform streaming server. It supports [[Ogg]] [[Vorbis]], Ogg [[Theora]], and [[MP3]].&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.icecast.org/ Icecast homepage]&lt;br /&gt;
* [http://dir.xiph.org/index.php Stream directory]&lt;br /&gt;
* [http://www.nabble.com/Icecast-f2880.html Icecast archive / forum] - an Icecast mailing list archive that combines both user and dev lists. It is hosted by [http://www.nabble.com/ Nabble]. You can search or browse Icecast discussions here.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
*trunk http://svn.xiph.org/icecast/trunk/icecast&lt;br /&gt;
*kh-branch http://svn.xiph.org/icecast/branches/kh/icecast&lt;br /&gt;
**diff to trunk&lt;br /&gt;
***fast pre-buffering aka burst-on-connect. &amp;lt;br&amp;gt;State a burst size in bytes to indicate how much should be sent at listener connect.&lt;br /&gt;
***mp3 accepts artist and title separately on the url.&lt;br /&gt;
***program invocation at stream start and end, per mount based.&lt;br /&gt;
***on-demand relays, activated on first listener, disconnected when listenersfalls to 0. &amp;lt;br&amp;gt;Available for master relays as well.&lt;br /&gt;
***multiple Ogg codec streaming. Current codecs handled are Theora, Vorbis, Speex, Writ.&lt;br /&gt;
***Clients are started at theora key frame if theora is being streamed.&lt;br /&gt;
***Added URL and command based listener authentication&lt;br /&gt;
***server xml reload, and reopen logging available via admin url&lt;br /&gt;
***slave startup re-organised so that relays are more independant&lt;br /&gt;
***on xml reload, active sources are updated as well&lt;br /&gt;
***When max-listeners reached, a HTTP 302 code can be sent to redirect clients to alternative slave hosts.&lt;br /&gt;
***authenticated relays, those that match the relay user/pass, bypass the max-listener check&lt;br /&gt;
&lt;br /&gt;
== Wish List ==&lt;br /&gt;
&lt;br /&gt;
As good ideas are never a waste, and for tracking purposes, please list here all the features you&#039;re missing in icecast trunk.&lt;br /&gt;
&lt;br /&gt;
Note: please check that the feature you request is not already in trunk before posting !&lt;br /&gt;
&lt;br /&gt;
* Ponnies&lt;br /&gt;
* WebM Streaming&lt;br /&gt;
* PUT method support&lt;br /&gt;
&lt;br /&gt;
[[Category:Xiph-related Software]]&lt;/div&gt;</summary>
		<author><name>Basilgohar</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=User:Basilgohar&amp;diff=12622</id>
		<title>User:Basilgohar</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=User:Basilgohar&amp;diff=12622"/>
		<updated>2010-10-13T03:49:31Z</updated>

		<summary type="html">&lt;p&gt;Basilgohar: Created my personal page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My name is Basil Mohamed Gohar. For more extensive personal information, you can probably find out a lot more by visiting my [http://www.basilgohar.com personal website].&lt;br /&gt;
=Introduction=&lt;br /&gt;
I am currently (at least, as of 2010) a fulltime web developer who works for a small consulting firm in Columbus, Ohio.  I am blessed to be able to work in an environment where the work I need to do can be achieved almost exclusively with free (as in freedom) software.  However, my normal work doesn&#039;t require me to work extensively with multimedia, as I am primarily writing, extending, and maintaining web applications written in PHP and running atop MySQL.  I do the vast majority of my multimedia work on the side or in my free time.  It is here that I find great value in projects like [[Xiph]] and its sponsored technologies, such as [[Ogg]], [[Theora]], &amp;amp; [[Vorbis]], which allow me to create &amp;amp; share media without restrictions or hidden costs.&lt;br /&gt;
=Projects=&lt;br /&gt;
I try my best to incorporate free formats into my projects as much as possible, as well as use them as a platform to share free media and educate others about free formats and the need for them.&lt;br /&gt;
==Libre Video==&lt;br /&gt;
&#039;&#039;Libre Video&#039;&#039; is a fledgling website/community I started to promote awareness about the issues surrounding free formats, software patents, and the hidden costs of intellectual property.&lt;br /&gt;
==Adam to Akhira==&lt;br /&gt;
&amp;quot;Adam to Akhira&amp;quot; was a promotional event held in Cleveland, Ohio in January, 2010, featuring a multitude of speakers, including a couple from AlMaghrib Institute.  I mention this here because, with the permission (and to the great pleasure) of the organizers, I posted the audio &amp;amp; video recordings of the entire days worth of events online.  While perhaps not amazing in terms of quality (the audio-only records came out well enough, though), the entire production process was done exclusively with free software.&lt;br /&gt;
===How it was produced===&lt;br /&gt;
All the videos were recorded using my very cheap MiniDV camcorder.  The video was recorded straight to my laptop in interlaced DV format.  I edited these source&lt;br /&gt;
&lt;br /&gt;
mwEmbed is used to enable in-browser video playback without the explicit use of proprietary software, even in browsers that do not yet support the &amp;lt;video&amp;gt; tag from HTML5.&lt;br /&gt;
=External Links=&lt;br /&gt;
*[http://www.basilgohar.com/blog HidayahTech (my blog)]&lt;br /&gt;
*[http://www.librevideo.org Libre Video]&lt;/div&gt;</summary>
		<author><name>Basilgohar</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=GST_cookbook&amp;diff=11005</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=GST_cookbook&amp;diff=11005"/>
		<updated>2010-04-16T21:53:48Z</updated>

		<summary type="html">&lt;p&gt;Basilgohar: Added example of capturing v4l2 video, displaying decoded video locally, saving encoded video to file, and streaming encoded video to Icecast server&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don&#039;t complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Thera+Vorbis and send to a icecast server:===&lt;br /&gt;
(requires purchasing fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch 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.&lt;br /&gt;
&lt;br /&gt;
===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===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! &#039;video/x-raw-yuv, width=640, height=480&#039; ! videorate ! &#039;video/x-raw-yuv, framerate=15/1&#039; ! 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.&lt;/div&gt;</summary>
		<author><name>Basilgohar</name></author>
	</entry>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=Notes_on_testing_theora&amp;diff=10992</id>
		<title>Notes on testing theora</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=Notes_on_testing_theora&amp;diff=10992"/>
		<updated>2010-04-11T16:55:01Z</updated>

		<summary type="html">&lt;p&gt;Basilgohar: Fixed some typos and/or grammatical mistakes &amp;amp; misspellings, as well as Americanizing one instance of &amp;quot;colour&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is still in development, and it&#039;s something of a rant at this point in time. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== On testing ==&lt;br /&gt;
&lt;br /&gt;
Testing correctly is enormously difficult.  I&#039;ve yet to see a video codec comparison that didn&#039;t have at least one material flaw which could be expected to influence the results. This includes my own testing.&lt;br /&gt;
&lt;br /&gt;
Much of this difficulty comes from the fact that we&#039;re trying to measure highly dimensional and highly flexible things in a fair manner. Achieving real fairness is often not possible, because the operating space of two codecs doesn&#039;t often completely overlap.  How you combine these orthogonal dimensions into one metric of &amp;quot;better&amp;quot; or &amp;quot;worse&amp;quot; is necessarily subjective. &lt;br /&gt;
&lt;br /&gt;
Testing is so difficult that experts in testing, codec developers, and academics have all gotten it wrong.   If you&#039;re not willing to spend the time to take a serious effort to understand exactly what is happening, then you should probably abandon any hope of performing a rigorous test and instead admit that your test is just a casual one which might only be applicable to your own usage.&lt;br /&gt;
&lt;br /&gt;
All that said, I&#039;m tired of seeing the same mistakes repeated over and over again. So I thought I&#039;d make this list so that when you fail, as you inevitably will, you can at least fail in new and interesting ways.   --[[User:Gmaxwell|Gmaxwell]] 21:17, 10 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Comparable operating modes ==&lt;br /&gt;
&lt;br /&gt;
By default, libtheora provides either a constant QI encode (target quality), a rate-controlled encode (target bitrate), or a two-pass rate controlled encode (target bitrate). The defaults for each are designed for the situations in which they&#039;re expected to be used, and &#039;&#039;not&#039;&#039; for consistent codec testing.&lt;br /&gt;
&lt;br /&gt;
Libtheora&#039;s one-pass modes are designed for live streaming, which was its original target use case.  Thus, they are &amp;quot;zero&amp;quot; latency and use a short keyframe interval. The one-pass rate-controlled mode is also strictly buffer constrained (constant bit-rate over a small buffering window).  This hard CBR requirement significantly hurts quality at a given bitrate but it makes streaming more reliable and lower latency.  Encoders for many other formats provide this kind of behavior only if you explicitly ask for it.  You can relax, but not disable, this constraint in libtheora if it is not useful for your application, or use a target quality if your application does not require particular bitrates.  The frequent keyframes also require a lot more bits, but improve loss robustness and startup times.&lt;br /&gt;
&lt;br /&gt;
Libtheora&#039;s two-pass mode does not impose a hard CBR constraint by default, and uses a higher keyframe interval. It&#039;s also able to look ahead at the stream to aid its rate control decisions.  This is similar to the default behavior of many encoders for other formats.  You can still request a hard CBR constraint if it is useful for your application.&lt;br /&gt;
&lt;br /&gt;
You should not compare libtheora&#039;s one-pass, one frame in/one frame out, hard CBR mode against other codecs&#039; one-pass VBR mode with several seconds of lookahead. Even though they are both one pass, you are comparing holodecks to oranges. You should also explicitly set the keyframe interval to the same value for every codec you use. Every codec has a different default, and even relatively similar values may give statistically significant differences in the results, depending on how well they allow keyframes to align with scene changes.&lt;br /&gt;
&lt;br /&gt;
=== Profiles ===&lt;br /&gt;
&lt;br /&gt;
Some formats offer multiple profiles, and some devices can only decode some profiles and not others.  Arguably this means that they aren&#039;t a single format, but are instead a collection of related formats under a common name.   Theora has only a single profile. &lt;br /&gt;
&lt;br /&gt;
It isn&#039;t reasonable to compare Theora&#039;s  &amp;quot;one setting works everwhere&amp;quot; to the best characteristics of different profiles of a competing encoder.&lt;br /&gt;
&lt;br /&gt;
If you compare Theora against a high complexity profile that restricts what devices that other format can play on, understand that you&#039;ve added a subjective factor to the comparison.  There isn&#039;t anything wrong with this, and it can be impossible to avoid, but it should be understood.  You cannot simultaneously compare Theora&#039;s quality/bitrate performance against the most complex profile another codec offers and compare its device support to the simplest.&lt;br /&gt;
&lt;br /&gt;
=== Encoder speed levels ===&lt;br /&gt;
&lt;br /&gt;
Although it is fairly fast, libtheora&#039;s encoder is not extensively optimized for performance. It&#039;s basically been made fast enough to encode streaming resolutions on normal hardware. As of now, current development efforts have gone into improving other parts of the codec. There is a lot of low-hanging fruit in this area.&lt;br /&gt;
&lt;br /&gt;
In particular, speed level 2 is provided as an emergency &amp;quot;make it go fast without regard to bitrate&amp;quot; knob. It disables half of the formats&#039; features as a quick measure to make the encoder faster for some real-time applications.  The same kind of speed is possible without sacrificing as much quality/bitrate, but no one has had a chance to write code for that yet.&lt;br /&gt;
&lt;br /&gt;
For a comparison you should probably test libtheora at the default speed.  It&#039;s completely fair to note that other encoders currently offer additional speed knobs that make them much faster than libtheora.  It&#039;s not really fair to run libtheora at speed level 2 then measure the quality at low bitrates. Unless you want to measure it against MJPEG. The quality/bitrate at speed level 2 is poor. It&#039;s supposed to be. It constrains the format to act similar to MJPEG with limited delta frames.&lt;br /&gt;
&lt;br /&gt;
== General points on &amp;quot;objective&amp;quot; measures like PSNR and SSIM ==&lt;br /&gt;
Objective measurements like PSNR and SSIM are tools for measuring &amp;quot;quality&amp;quot; which don&#039;t require a human to judge the quality, as the computer does it for you. As such, they can enormously reduce the cost of testing.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, much of the art in codec development comes from the fact that computers are not particular good judges of quality.   So what a tool that measures PSNR or SSIM isn&#039;t measuring quality, it&#039;s measuring PSNR or SSIM.  Under particular circumstances these metrics can be shown to correlate well with human quality judgements. But &amp;quot;particular circumstances&amp;quot; do not mean &#039;all circumstances&#039;— it isn&#039;t too difficult to construct  modified images that get a great objective measure but look like crap, and it is VERY easy to modify in image in a way which is almost imperceptible but which ruins the objective measures.  I&#039;m not aware of any study demonstrating that any of the available objective measures are useful across significantly different compression techniques, but if used correctly they are probably usable as a rough yard stick.&lt;br /&gt;
&lt;br /&gt;
The key there being used correctly.  There seems to be a problem with using them correctly, since roughly a majority of comparisons seem to screw this up. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;If you are comparing PSNR or SSIM and the scores for all your test cases do not converge to a similar very high quality at very high bitrates then you are almost certainly doing something wrong.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
... or you&#039;ve found some kind of gross bug in the encoder.   Depending on the nature of the bug, your objective measure may not predict human results at all.&lt;br /&gt;
&lt;br /&gt;
=== Offsets ===&lt;br /&gt;
&lt;br /&gt;
The primary cause of getting strange and invalid results from PSNR or SSIM is offset handling.&lt;br /&gt;
&lt;br /&gt;
If you shift a video over a couple of pixels a human observer will hardly notice.  But your SSIM or PSNR will become very bad.&lt;br /&gt;
&lt;br /&gt;
If you see this kind of behaviour,  &#039;&#039;look&#039;&#039; at the results and see if they agree with the numbers.  If the PSNR/SSIM says the video looks no better at 10mbit than it did at 1mbit, but to your eyes it clearly does then your test is broken and useless. &lt;br /&gt;
&lt;br /&gt;
Additionally, different formats have the sub-sampled pixels for chroma at different locations.  Theora _always_ uses the MPEG-1/MJPEG convention. MPEG2 has another convention which is used by default by most other codecs.  Getting the chroma location wrong doesn&#039;t produce a &#039;&#039;visible&#039;&#039; harm on most material, but it does screw up PSNR or SSIM.  Many media formats, frameworks, and libraries do not even have the ability to specify which subsampling should be used, and thus do whatever that particular programmer expected would be &amp;quot;normal&amp;quot;.  Most PC player software, even software focused on modern MPEG formats, always decodes as in the MJPEG style, because it is computationally cheaper.  Other software pedantically tries to correct for chroma tagged in one format when it is set up to handle a different one, even though these tags are often wrong.  Unless you know exactly what your tools are doing, you are at risk of one of them screwing this up.  If you apply objective measures in the original YUV space, difference in handling the chroma offset should be limited to damaging the chroma PSNR/SSIM scores, which makes this error more obvious.&lt;br /&gt;
&lt;br /&gt;
If you are planning on comparing your PSNR or SSIM scores with someone else&#039;s, you probably shouldn&#039;t bother. There is too much inconsistency between tools and too much likelihood of using somewhat different input clips.  This is why its important that you publish your input material— without it people have no hope of reproducing your results, and without reproducing your results the public should have zero trust that you didn&#039;t make a simple measurement error.&lt;br /&gt;
&lt;br /&gt;
=== Frame drops ===&lt;br /&gt;
&lt;br /&gt;
If Theora runs out of bits in its hard-bitrate constraint or determines that a frame has almost no motion it will output a zero byte packet. Some decoders simply ignore the zero byte packets, and depend on their normal AV sync mechanisms to keep things well timed.   However, if you are dumping the output to a file for analysis with a SSIM/PSNR tool, these &#039;lost&#039; frames will result in a time-offset and frames will be compared with the wrong source frames.   This will have somewhere between a big and a huge negative impact on the scores. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;If your output doesn&#039;t have the same number of frames as the input. Stop. You&#039;ve done something wrong&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
This case can also cause the &amp;quot;never gets good at high bitrates&amp;quot; behaviour.&lt;br /&gt;
&lt;br /&gt;
=== Levels ===&lt;br /&gt;
&lt;br /&gt;
Objective measures are also very sensitive to changes in luma levels (brightening / darkening). The best way to avoid this case is to measure in the colorspace that the codec worked in, without conversions.  &#039;&#039;&#039;Do not convert to RGB before using objective metrics on codecs that operate in YUV&#039;&#039;&#039;, because you will probably screw it up in a non-obvious way.  &lt;br /&gt;
&lt;br /&gt;
=== Input files ===&lt;br /&gt;
&lt;br /&gt;
It&#039;s obvious to most people attempting testing that you must begin with the same input for all of the codecs under test.  It&#039;s less obvious that you may run into problems if you begin with RGB input:  Current codecs all operate in some YUV colorspace rather than RGB. If you use RGB files for your inputs differences in the conversion from RGB to YUV between different tools may reduce the objective scores for some formats compared to others. &lt;br /&gt;
&lt;br /&gt;
These differences can even create visible quality differences in corner cases. &lt;br /&gt;
&lt;br /&gt;
== General points on subjective testing ==&lt;br /&gt;
&lt;br /&gt;
=== Codec X has &amp;quot;better colors&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Modern lossy codecs don&#039;t do anything which should grossly change the overall brightness, hue, or saturation of an image.  If the colors look different in your comparison, your software is probably mishandling colorspace conversions. Figure out what is broken and try again.&lt;/div&gt;</summary>
		<author><name>Basilgohar</name></author>
	</entry>
</feed>