VorbisRTP: Difference between revisions

From XiphWiki
Jump to navigation Jump to search
No edit summary
m (→‎Issues: icecast => Icecast)
 
(18 intermediate revisions by 10 users not shown)
Line 3: Line 3:
This page documents current consensus on the RTP payload format for Vorbis audio. This encapsulation is useful for interactive and multicast streaming.
This page documents current consensus on the RTP payload format for Vorbis audio. This encapsulation is useful for interactive and multicast streaming.


=== Drafts ===
=== Standard ===


[http://svn.xiph.org/tags/vorbis/libvorbis-1.1.0/doc/draft-kerr-avt-vorbis-rtp-03.txt draft-kerr-avt-vorbis-rtp-03] (now expired) was the last spec attempt and serves as the baseline for current work.
In 2008, the Vorbis RTP specification was accepted by the IETF's Network Working Group as RFC 5215. It may be found at
 
*[http://tools.ietf.org/rfc/rfc5215.txt rfc5215.txt]
Version 04 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:
*[http://xiph.org/vorbis/doc/rfc5215.xml rfc5215.xml]
 
* [http://www.j-ogg.de/rfc/vorbis-rtp.txt draft-kerr-avt-vorbis-rtp-04.txt]
* [http://www.j-ogg.de/rfc/vorbis-rtp.html draft-kerr-avt-vorbis-rtp-04.html]


=== Issues ===
=== Issues ===


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


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.
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.
Line 32: Line 29:
=== Implementation ===
=== Implementation ===


Tor-Einar Jarnbjo has an [http://www.j-ogg.de/rtp/index.html example implementation] that extends the ideas in the 03 draft a bit.
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.
Host English Website Navigate:


[http://www.9993339.com/01index.htm Beverages]
[[Category:Vorbis]]
[http://www.9993339.com/02index.htm Bicycle Parts]
[http://www.9993339.com/03index.htm Bicycles]
[http://www.9993339.com/04index.htm Bidets]
[http://www.9993339.com/05index.htm Billiards]
[http://www.9993339.com/06index.htm Binoculars]
[http://www.9993339.com/07index.htm Bio-technology Products]
[http://www.9993339.com/08index.htm Biscuit]
[http://www.9993339.com/09index.htm Bitumen]
[http://www.9993339.com/10index.htm Blank Records]
[http://www.9993339.com/11index.htm Blanket]
[http://www.9993339.com/12index.htm Blender]
[http://www.9993339.com/13index.htm Blister Cards]
[http://www.9993339.com/14index.htm Boards]
[http://www.9993339.com/15index.htm Boats]
[http://www.9993339.com/16index.htm Body Building]
[http://www.9993339.com/17index.htm Bodyguard]
[http://www.9993339.com/18index.htm Boilers]
[http://www.9993339.com/19index.htm Books]
[http://www.9993339.com/20index.htm Bottles]
[http://www.9993339.com/21index.htm Bowling]
[http://www.9993339.com/22index.htm Boxing]
[http://www.9993339.com/23index.htm Brakes]
[http://www.9993339.com/24index.htm Bread]
[http://www.9993339.com/25index.htm Breast]
[http://www.9993339.com/26index.htm Bricks]
[http://www.9995555.com/01index.htm Ballast]
[http://www.9995555.com/02index.htm Bamboo]
[http://www.9995555.com/03index.htm Bare Wire]
[http://www.9995555.com/04index.htm Barrels]
[http://www.9995555.com/05index.htm Baseball]
[http://www.9995555.com/06index.htm Basketball]
[http://www.9995555.com/07index.htm Basketry]
[http://www.9995555.com/08index.htm Bath]
[http://www.9995555.com/09index.htm Bath Mirror]
[http://www.9995555.com/10index.htm Bath Racks]
[http://www.9995555.com/11index.htm Bathrobe]
[http://www.9995555.com/12index.htm Bathroom & Kitchen Fixture]
[http://www.9995555.com/13index.htm Bathroom Cabinets]
[http://www.9995555.com/14index.htm Bathtub]
[http://www.9995555.com/15index.htm Batteries and Chargers]
[http://www.9995555.com/16index.htm Battery Packs]
[http://www.9995555.com/17index.htm Battery Testers]
[http://www.9995555.com/18index.htm Bean Products]
[http://www.9995555.com/19index.htm Bearing Accessories]
[http://www.9995555.com/20index.htm Bearings]
[http://www.9995555.com/21index.htm Beauty]
[http://www.9995555.com/22index.htm Beauty Equipment]
[http://www.9995555.com/23index.htm Bedding]
[http://www.9995555.com/24index.htm Bedding Set]
[http://www.9995555.com/25index.htm Benzene]
[http://www.9995555.com/26index.htm Beverage Processing Machinery]
[http://www.9995556.com/01index.htm Assembly]
[http://www.9995556.com/02index.htm Athletic Wear]
[http://www.9995556.com/03index.htm ATV]
[http://www.9995556.com/04index.htm Audio]
[http://www.9995556.com/05index.htm Auto Accessories]
[http://www.9995556.com/06index.htm Auto Batteries]
[http://www.9995556.com/07index.htm Auto Bearing]
[http://www.9995556.com/08index.htm Auto Electrical System]
[http://www.9995556.com/09index.htm Auto Electronics]
[http://www.9995556.com/10index.htm Auto Filter]
[http://www.9995556.com/11index.htm Auto Ignition System]
[http://www.9995556.com/12index.htm Auto Lighting System]
[http://www.9995556.com/13index.htm Auto Maintenance]
[http://www.9995556.com/14index.htm Auto Meter]
[http://www.9995556.com/15index.htm Auto Parts]
[http://www.9995556.com/16index.htm Auto Production Line Equipment]
[http://www.9995556.com/17index.htm Auto Starter System]
[http://www.9995556.com/18index.htm Automobile]
[http://www.9995556.com/19index.htm Automobile Stocks]
[http://www.9995556.com/20index.htm Auxiliary]
[http://www.9995556.com/21index.htm Aviation]
[http://www.9995556.com/22index.htm Baby Food]
[http://www.9995556.com/23index.htm Badminton]
[http://www.9995556.com/24index.htm Bag]
[http://www.9995556.com/25index.htm Ball]
[http://www.9995556.com/26index.htm Ball Bearings]
[http://www.9995558.com/01index.htm Alarm]
[http://www.9995558.com/02index.htm Alcohol]
[http://www.9995558.com/03index.htm Aldehyde]
[http://www.9995558.com/04index.htm Alkali]
[http://www.9995558.com/05index.htm Alkene]
[http://www.9995558.com/06index.htm Alkyl]
[http://www.9995558.com/07index.htm Alkyne]
[http://www.9995558.com/08index.htm Alternator]
[http://www.9995558.com/09index.htm Aluminum Pipes]
[http://www.9995558.com/10index.htm Amine]
[http://www.9995558.com/11index.htm Amplifier]
[http://www.9995558.com/12index.htm Amusement Park]
[http://www.9995558.com/13index.htm Angular Contact Ball Bearing]
[http://www.9995558.com/14index.htm Animal Husbandry]
[http://www.9995558.com/15index.htm Antique Imitation Crafts]
[http://www.9995558.com/16index.htm Antiques]
[http://www.9995558.com/17index.htm Anti-static Packaging]
[http://www.9995558.com/18index.htm Apartment]
[http://www.9995558.com/19index.htm Apparel
[http://www.9995558.com/20index.htm Apparel Stocks]
[http://www.9995558.com/21index.htm Aquatic Products]
[http://www.9995558.com/22index.htm Art Set]
[http://www.9995558.com/23index.htm Artificial Crafts]
[http://www.9995558.com/24index.htm Arts]
[http://www.9995558.com/25index.htm Asbestos Products]
[http://www.9995559.com/02index.htm Air Treatment]
[http://www.9995559.com/03index.htm Air-Compressing]
[http://www.9995559.com/04index.htm Air-conditioner]
[http://www.9995559.com/05index.htm Air-Separation]
[http://www.9995559.com/06index.htm Alarm]
[http://www.9995559.com/07index.htm Alcohol]
[http://www.9995559.com/08index.htm Aldehyde]
[http://www.9995559.com/09index.htm Alkali]
[http://www.9995559.com/10index.htm Alkene]
[http://www.9995559.com/11index.htm Alkyl]
[http://www.9995559.com/12index.htm Alkyne]
[http://www.9995559.com/13index.htm System]
[http://www.9995559.com/14index.htm Air Freshener]
[http://www.9995559.com/15index.htm Air Conditioning]
[http://www.9995559.com/16index.htm Product Stocks]
[http://www.9995559.com/17index.htm Agrochemicals]
[http://www.9995559.com/18index.htm Abrasives]
[http://www.9995559.com/19index.htm Adapter]
[http://www.9995559.com/20index.htm Accessories]
[http://www.9995559.com/21index.htm Acrylic Fabric]
[http://www.9995559.com/22index.htm Activated Carbon]
[http://www.9995559.com/23index.htm Adapter]
[http://www.9995559.com/24index.htm Adhesive Tape]
[http://www.9995559.com/25index.htm Adhesives]
[http://www.9995559.com/26index.htm Advertising]
[http://www.9995559.com/jianjie.htm Advertising]
[http://www.9995559.com/lianxi.htm Materials]
[http://www.9995559.com/products.htm Aerosols]
[http://www.9995559.com/rongyu.htm Aggregate]
[http://www.9995559.com/shiyong.htm Agricultural
[http://www.9995559.com/tuijian.htm Packaging]
[http://www.9995559.com/zhuyao.htm Agriculture]
[http://www.9995559.com/index.htm Agriculture]
[http://www.apicalsoft.com website monitor]
[http://www.apicalsoft.com website monitoring]
[http://www.apicalsoft.com server monitor]
[http://www.apicalsoft.com host monitor]
[http://www.apicalsoft.com website performance]
[http://www.a688.net/amarketingsoft1.htm Fireworks]
[http://www.a688.net/amarketingsoft3.htm gemstone globe]

Latest revision as of 10:59, 19 February 2016

Vorbis over RTP

This page documents current consensus on the RTP payload format for Vorbis audio. This encapsulation is useful for interactive and multicast streaming.

Standard

In 2008, the Vorbis RTP specification was accepted by the IETF's Network Working Group as RFC 5215. It may be found at

Issues

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.

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.

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.

Design

  • Vorbis packets get packed into RTP packets
  • Header parameters are fixed per stream, so they can be passed in the SDP
 * inline in the SDP?
 * HTTP reference or other protocol?
 * some kind of hash so clients can cache codebooks/parameters
 * inline in the RTP stream should also be allowed
  • Granulepos becomes timestamp (still in samples)

Implementation

Tor-Einar Jarnbjo has an example implementation that extends the ideas in the kerr 03 draft a bit.