Lines Matching full:vorbis
13 <title abbrev="Vorbis RTP Payload Format">RTP Payload Format for Vorbis Encoded Audio</title>
30 <keyword>Vorbis</keyword>
38 This document describes an RTP payload format for transporting Vorbis encoded
39 audio. It details the RTP encapsulation mechanism for raw Vorbis data and
46 necessary for the use of Vorbis with the Session Description Protocol (SDP).
58 Vorbis is a general purpose perceptual audio codec intended to allow
63 Vorbis is also intended for lower and higher sample rates (from
70 Vorbis encoded audio is generally encapsulated within an Ogg format bitstream
72 For the purposes of RTP transport, this layer is unnecessary, and so raw Vorbis
88 For RTP-based transport of Vorbis-encoded audio, the standard RTP header is
90 headers are used to associate the Vorbis data with its associated decoding
92 Vorbis data and/or the number of whole Vorbis data frames. The payload data
93 contains the raw Vorbis bitstream information. There are 3 types of Vorbis
127 <xref target="RFC3551"></xref> for details). For Vorbis RTP, the following
161 of <xref target="VORBIS-SPEC-REF"></xref>.
169 designates the payload as Vorbis.
184 Vorbis packet in the RTP payload. The clock frequency MUST be set to the sample
219 This 24-bit field is used to associate the Vorbis data to a decoding
237 Vorbis Data Type (VDT): 2 bits</t>
239 This field specifies the kind of Vorbis data stored in this RTP packet. There
240 are currently three different types of Vorbis payloads. Each packet MUST contain only a single type of Vorbis packet (e.g., you must not aggregate configuration and comment packets in the same RTP payload).
245 <t> 0 = Raw Vorbis payload</t>
246 <t> 1 = Vorbis Packed Configuration payload</t>
247 <t> 2 = Legacy Vorbis Comment payload</t>
255 provides for a maximum number of 15 Vorbis packets in the payload. If the
264 Raw Vorbis packets are currently unbounded in length; application profiles will
265 likely define a practical limit. Typical Vorbis packet sizes range from very
269 RTP context, to avoid fragmentation, the Vorbis data packet size SHOULD be kept
279 | length | vorbis packet data ..
285 Each Vorbis payload packet starts with a two octet length header, which is used
287 raw Vorbis data padded to the nearest byte boundary, as explained by the <xref target="VORBIS-SPEC-REF">Vorbis I Specification</xref>. The length value is stored
292 For payloads that consist of multiple Vorbis packets, the payload data consists
293 of the packet length followed by the packet data for each of the Vorbis packets
298 The Vorbis packet length header is the length of the Vorbis data block only and
303 The payload packing of the Vorbis data packets MUST follow the guidelines
304 set out in <xref target="RFC3551"></xref>, where the oldest Vorbis packet occurs
305 immediately after the RTP packet header. Subsequent Vorbis packets, if any, MUST
311 <xref target="VORBIS-SPEC-REF">Vorbis I Specification</xref>.
319 Here is an example RTP payload containing two Vorbis packets.
322 <figure anchor="Example Raw Vorbis Packet" title="Example Raw Vorbis Packet">
339 | length | vorbis data ..
341 .. vorbis data |
343 | length | next vorbis packet data ..
345 .. vorbis data ..
347 .. vorbis data |
354 followed by the one octet bit field header, which has the number of Vorbis
355 frames set to 2. Each of the Vorbis data frames is prefixed by the two octets
368 Unlike other mainstream audio codecs, Vorbis has no statically
375 often referred to collectively as the "codebooks" for a Vorbis stream,
378 the <xref target="VORBIS-SPEC-REF">Vorbis I specification</xref>
420 does not have this information, it MUST NOT decode the raw associated Vorbis
428 sent in-band with the packet type bits set to match the Vorbis Data Type.
437 A Vorbis Packed Configuration is indicated with the Vorbis Data Type field set
439 <xref target="VORBIS-SPEC-REF">Vorbis I specification</xref>, the
461 The headers are packed in the same order as they are present in Ogg <xref target="VORBIS-SPEC-REF" />:
528 As mentioned above, the RECOMMENDED delivery vector for Vorbis configuration
535 payload for each chained Vorbis stream.
591 Unlike the loss of raw Vorbis payload data, loss of a configuration header
606 Vorbis Data Type flag set to 2 indicates that the packet contains
610 format of the comments can be found in the <xref target="VORBIS-SPEC-REF">Vorbis I Specification</xref>.
646 Each RTP payload contains either one Vorbis packet fragment or an integer
647 number of complete Vorbis packets (up to a maximum of 15 packets, since the
652 Any Vorbis data packet that is less than path MTU SHOULD be bundled in the RTP
653 payload with as many Vorbis packets as will fit, up to a maximum of 15, except
664 Vorbis packet will have the Fragment type set to 3. To maintain the correct
671 <section anchor="Example Fragmented Vorbis Packet" title="Example Fragmented Vorbis Packet">
674 Here is an example of a fragmented Vorbis packet split over three RTP payloads.
675 Each of them contains the standard RTP headers as well as the 4-octet Vorbis
698 | length | vorbis data ..
700 .. vorbis data |
707 the payload is raw Vorbis data, the VDT field is set to 0.
729 | length | vorbis data ..
731 .. vorbis data |
738 For large Vorbis fragments, there can be several of these types of payloads.
763 | length | vorbis data ..
765 .. vorbis data |
771 This is the last Vorbis fragment payload. The Fragment type is set to 3 and the
781 As there is no error correction within the Vorbis stream, packet loss will
783 Vorbis packets as the client will have to cope with the handling of the
785 remaining Vorbis fragments and decode the incomplete packet. If we use the
786 fragmented Vorbis packet example above and the first RTP payload is lost, the
792 kept and the incomplete Vorbis packet decoded.
807 <t hangText="Subtype name:"> vorbis </t>
841 Ogg Vorbis I specification: Codec setup and packet decode. Available from the Xiph website, http://xiph.org/
885 <t hangText="Subtype name:"> vorbis-config </t>
919 Vorbis encoded audio, configuration data
974 <t>The subtype name ("vorbis") goes in SDP "a=rtpmap" as the encoding name.</t>
986 If the stream comprises chained Vorbis files and all of them are known in
994 attribute SHOULD match the current Vorbis stream or should be considered the maximum
1013 <t>a=rtpmap:98 vorbis/44100/2</t>
1040 data apply to Vorbis audio over RTP as well. See the RTP specification
1117 Moffitt, J., "RTP Payload Format for Vorbis Encoded Audio", February 2001.
1119 Kerr, R., "RTP Payload Format for Vorbis Encoded Audio", December 2004.
1123 Short, B., "The audio/rtp-vorbis MIME Type", January 2008.
1127 Thanks to the AVT, Vorbis Communities / Xiph.Org Foundation including Steve Casner,
1153 <reference anchor="VORBIS-SPEC-REF">
1155 <title>Ogg Vorbis I specification: Codec setup and packet decode. Available from the Xiph website, http://xiph.org/vorbis/doc/Vorbis_I_spec.html</title>
1167 <title>libvorbis: Available from the dedicated website, http://vorbis.com/</title>