<?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=Ma30002000</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=Ma30002000"/>
	<link rel="alternate" type="text/html" href="https://wiki.xiph.org/Special:Contributions/Ma30002000"/>
	<updated>2026-04-30T08:45:08Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.xiph.org/index.php?title=VorbisRTP&amp;diff=6840</id>
		<title>VorbisRTP</title>
		<link rel="alternate" type="text/html" href="https://wiki.xiph.org/index.php?title=VorbisRTP&amp;diff=6840"/>
		<updated>2007-06-02T18:23:58Z</updated>

		<summary type="html">&lt;p&gt;Ma30002000: /* Drafts */ Changed to version 5 since version 4 docs don&amp;#039;t exist anymore&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Vorbis over RTP ==&lt;br /&gt;
&lt;br /&gt;
This page documents current consensus on the RTP payload format for Vorbis audio. This encapsulation is useful for interactive and multicast streaming.&lt;br /&gt;
&lt;br /&gt;
=== Drafts ===&lt;br /&gt;
&lt;br /&gt;
Current version of the draft is being written using the XML markup defined in [http://xml.resource.org/public/rfc/html/rfc2629.html RFC2629]. Text and HTML versions of the current draft state are available here:&lt;br /&gt;
*[http://svn.xiph.org/trunk/vorbis/doc/draft-ietf-avt-rtp-vorbis-05.txt draft-ietf-avt-rtp-vorbis-05.txt]&lt;br /&gt;
*[http://svn.xiph.org/trunk/vorbis/doc/draft-ietf-avt-rtp-vorbis-05.xml draft-ietf-avt-rtp-vorbis-05.xml]&lt;br /&gt;
&lt;br /&gt;
=== Issues ===&lt;br /&gt;
&lt;br /&gt;
Basically, we pack Vorbis packets into RTP packets; that&#039;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&#039;t be prepended on connection the way icecast does with HTTP streams.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;simulated live&amp;quot; case encoded files often have the same set of codebooks, and those that do not can be re-encoded on the fly.&lt;br /&gt;
&lt;br /&gt;
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&#039;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.&lt;br /&gt;
&lt;br /&gt;
=== Design ===&lt;br /&gt;
&lt;br /&gt;
* Vorbis packets get packed into RTP packets&lt;br /&gt;
* Header parameters are fixed per stream, so they can be passed in the SDP&lt;br /&gt;
  * inline in the SDP?&lt;br /&gt;
  * HTTP reference or other protocol?&lt;br /&gt;
  * some kind of hash so clients can cache codebooks/parameters&lt;br /&gt;
  * inline in the RTP stream should also be allowed&lt;br /&gt;
* Granulepos becomes timestamp (still in samples)&lt;br /&gt;
&lt;br /&gt;
=== Implementation ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Ma30002000</name></author>
	</entry>
</feed>