VorbisRTP

From XiphWiki
Revision as of 17:28, 25 October 2004 by 60.25.122.54 (talk)
Jump to navigation Jump to search

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.

Drafts

draft-kerr-avt-vorbis-rtp-03 (now expired) was the last spec attempt and serves as the baseline for current work.

Version 04 of the draft is being written using the XML markup defined in RFC2629. Text and HTML versions of the current draft state are available here:

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 03 draft a bit. 健身器材 场馆设备 拓展训练 尖锐湿疣 尖锐湿疣 尖锐湿疣 尖锐湿疣 尖锐湿疣 尖锐湿疣 尖锐湿疣 尖锐湿疣 尖锐湿疣 脉管炎 脉管炎 脉管炎 脉管炎 脉管炎 脉管炎 芦荟叶粉 芦荟汁 旅游观光 旅游洁具 绿色鲜氧美容 氯代异氰脲酸 美白养颜 美容保健品 美容膏 美容工 美容美体仪器 美容胭脂 美容仪器 美乳霜 美颜霜 密封胶溶剂 绵羊油系列 棉短绒 棉壳 棉籽 面膜 面膜系列 灭蚊片 摩丝 抹身亮彩膏 沐浴露 沐浴卫生间 沐足按摩 凝玉眼啫哩 牛磺酸 钮扣树脂 农业蜡 盘香 喷雾型彩条 喷雾型飞花 喷雾型喷雪 喷雾型飘雪 皮革化学品 皮革蜡 偏重亚硫酸钾 嘌呤 起蜡水 气雾剂溶剂油 强力修复剂 强力油污乳化剂 羟丙基甲基纤维素 羟丙纤维素 羟乙基纤维素聚合物 氢溴酸 清毒养颜 清洁保养剂 清洁工具 清新美颜面膜 清新爽肤水 祛斑 祛斑面膜 去粉刺 去角质霜 去屑止痒剂 日化产品 日化蜡 日化香精 溶剂油 柔肤精华玉液 乳化剂 润唇膏 润肤剂 润肤霜 润滑脂 三甲基四氢喹喔啉 三聚磷酸二氢铝 三聚磷酸铝 三聚磷酸钠 三氯生 三氯生广谱抗菌剂 三氯新 三氯异氰尿酸 杀虫气雾剂 杀蚁饵剂 杀蟑饵盒 沙棘面膜 设备专用清洁剂 深层调理面膜 生发灵 生物护理液 生物祛斑霜 胜德油基杀虫剂 湿巾 石材养护 食用香精 收缩水 手性氨基酸 手性配体 树脂 双戊二烯树脂 爽肤水 水产养殖消毒杀菌剂 水基气雾杀虫剂 水晶按摩膏 水晶蜡 水泥分散剂 水泥缓凝剂 水溶性膜型清洁剂 通渠粉 维他命系列 洁面乳 卫洁纯 卫洁灵 卫生间用品 卫生杀虫气雾剂 无钴变色硅胶 无磷助洗剂 无水硫酸钠 吸水地垫 硒强化营养盐 洗发露 洗发香波 洗锅刷 洗护系列 洗甲水 洗洁精 洗面奶 洗面乳 洗手乳液 洗手液 洗衣粉 洗衣液 细孔硅胶 鲜花干燥硅胶 现代中药 香精片 香球 香水 香水配件 香水瓶 香浴露 消毒湿巾 锌强化营养盐 新鲜蔬菜 雅肤深层洁面乳 亚硫酸钾 烟酮 烟用香精 烟用香料 胭脂眼影 眼袋霜 眼线液 眼影 羊胎素 液体电蚊香 衣吊 衣架系列 医药中间体 仪器清洁剂 乙基纤维素 异氰尿酸 引擎抗磨养护剂 引擎磨合养护剂 荧光增白剂 营养霜 营养盐 优质美容套刷 油墨溶剂 油田钻井液 游离子牛油果焗油发膜 有机磷酸盐 右旋龙脑 元明粉 圆球刷 皂基 啫喱水 增白面膜 增稠剂 樟脑 樟脑丸 蟑螂胶饵 真珠膏 织物柔软剂 织物洗涤用品 植物莹白祛斑霜 植物转基因 指甲油 珠光剂 铸造蜡 专业外墙清洗剂 专用树脂 滋养秀肤面霜 紫苏醛 紫苏糖 紫苏葶 紫外吸收剂 自动车库门 左旋龙脑 左旋樟脑 透明工艺品树脂 褪红营养素 脱模用油 外墙清洗剂 微波炉 微波炉用具 微晶纤维素 微脂囊按摩膏 维B细胞活力霜 维生素B5 维生素及其衍生物 通用树脂