




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
全球眼实时视频传输和控制协议 v2修改历史日期修改人姓名注释2006-06-23朴希闯创建2006-08-07朴希闯添加说明节重新排版复审人日期部门姓名和职务一、说明这份协议描述了视频服务器与流媒体分发服务器、视频服务器与企业客户端之间传输实时视频的方法。文档中没有针对媒体分发服务器与企业客户端(第三方播放器)之间的通信方法,但是媒体分发服务器与企业客户端(第三方播放器)之间的通信方法尊守RTC1889和RPC2326定义的规范。在这篇文档里我们把象视频服务器这样能够给观看者提供视频数据的设备称为逻辑上的服务端角色(也就是视频源),象企业客户端这样播放视频的终端设备称为逻辑上的客户端角色(也就是接收者或观看者)。流媒体分发服务器同时具有两种角色。交互流程中列出了两种模式,我们当前要先实现接模式。推模式是为了视频服务器在私网环境时也可以通过流媒体发服务器向用户提供视频服务。推模式暂不实现。协议中没有提及RTCP协议,但并不影响视频通信质量,而且目前很难实现有效的编解码之间返馈的处理方法,所以现在,以及将来的一段时间都不会考虑RTCP协议,除非出现有效的视频质量控制机制。本文参考RFC 1889、1890、2326、3550完成,如有不符合标准的、或者不完善的陈述,请提出来,发电子邮件到。如果您有更好的想法也可以通过邮件进行交流。二、协议通信方式使用RTP over TCP方式。(RTC1889、RFC2326)1、一个完整的包网络字节顺序2、RTP包的封装(RTP over TCP)网络字节顺序Channel Identifier:取值0。因为只有一个流在一个TCP连接中传递,同时不使用RTCP协议。参见RFC 2326 10.12节。Lenth:取值为RTP包的大小,包括RTP头部, 但不包含本身的4个字节,以BYTE为单位。3、RTP 12字节头部网络字节顺序V:版本,取值2。可能会使用0值,还没想清楚,可能的使用情况是为了实现防火墙穿透P:附加数据,取值为0。X:扩展头,取值为1。CC:CSRC列表数量,取值为0。M:记号,取值0或1。关于M字段的取值:如果扩展头中T字段为1,则当一个包(RTP Packet)是一个帧(Sample)的最后一个包时取值1,否则取值0;扩展头中T字段为1时,由于指令长度较小,一个RTP就可以传输完成,所以取值为1。除非要使用多个RTP包传输,最后一个RTP包取值为1,前面的包取值为0。PT:负载类型,动态,取值96。参见RFC 1890 7节。Sequence Number:RTP包的序号,初始值是随机的,不是0。Timestamp:以视频编码算法提供者的需要填写或单调增长的时间戳。将来可能把这个值也传递给视频解码算法中去。SSRC:随机数,用于在同一个会话中区分不同的流。建议使用MD32。UINT Y4If Y = MD5(X) ThenMD32(X) = Y1 Y2 Y3 Y4注:RTP包大小最大值为2048。(因为DSS支持的最大包为2048Bytes)4、RTP扩展头网络字节顺序T:扩展头标志,取值0或1。Packet Type:负载类型。取值见下表:TPacket Type说明01连接请求2连接请求应答3视频头部11I帧2音频帧3非I帧Length:扩展头长度,取值0。其中1=4Bytes,不包括当前列出的32Bits数据。参见RFC 3550 5.3.1节。1、 Playload的格式扩展头部定义的Playload类型:T=0,Packet Type=1XML格式,定义如下ST=0,Packet Type=2XML格式,定义如下NT=0,Packet Type=3二进制的原始视频头部数据T=1,Packet Type=1二进制的原始视频数据T=1,Packet Type=2二进制的原始音频数据T=1,Packet Type=3二进制的原始视频数据注:Naming是摄像头的全局唯一标识符,用与平台与联,目前的视频服务器协议可以忽略这个属性。三、交互流程在全球眼系统中,对于实时视频传输控制协议扮演服务器角色的是前端视频服务器,扮演客户端角色的有企业客户端、流分发服务器、显示服务器、WEB客户端。下面以前端视频服务器与流分发服务器为例说明实时视频传输控制协议的交互流程。1、拉模式第一步:流分发服务器(客户端角色)发起到前端视频服务器(服务器角色)的TCP连接请求,前端视频服务器接受这个连接。完成TCP连接的建立。第二步:流分发服务器发送连接请求数据报到前端视频服务器。(扩展头部T字段为0,Packet Type为1)第三步:前端视频服务器验证请求,如果请求有效,则回应给流分发服务器连请求应答(扩展头部T字段为0,Packet Type为2)数据报;如果请求无效,则回应给流分发服务器一个请求有错的连接请求应答(扩展头部T字段为0,Packet Type为2)数据报,并关闭TCP连接,前端视频服务器(服务器角色)算法结束。第四步:流分发服务器如果接收到一个正确的连接请求应答,则进入第五步;否则如果接收到错误的连接请求应答(或者说没有接收到连接请求应答),则关闭TCP连接,流分发服务器(客户端角色)算法结束。第五步:前端视频服务器向流分发服务器发送视频头部(扩展头部T字段为0,Packet Type为3)数据报。第六步:前端视频服务器根据编码器产生的实时音视频数据向流分发服务器发送视频数据报(扩展头部T字段为1,Packet Type为1,2,3)。第七步:前端视频服务器重复第六步,直到TCP连接断开,前端视频服务器算法结束。第八步:流分发服务器持续接收前端视频服务器在第六步、第七步发送的视频数据报。第九步:流分发服务器不再需要视频流数据时(停止观看),流分发服务器关闭TCP连接,流分发服务器(客户端角色)算法结束。2、推模式算法与拉模式相似,只在第一步、第二步、第三步算法中把服务器角色和客户端角色对换。算法描述如下:第一步:前端视频服务器(服务器角色)发起到流分发服务器(客户端角色)的TCP连接请求,流分发服务器接受这个连接。完成TCP连接的建立。第二步:流分发服务器发送连接请求数据报到流分发服务器。(扩展头部T字段为0,Packet Type为1)第三步:流分发服务器验证请求,如果请求有效,则回应给前端视频服务器连请求应答(扩展头部T字段为0,Packet Type为2)数据报;如果请求无效,则回应给前端视频服务器一个请求有错的连接请求应答(扩展头部T字段为0,Packet Type为2)数据报,并关闭TCP连接,流分发服务器(客户端角色)算法结束。第四步:前端视频服务器如果接收到一个正确的连接请求应答,则进入第五步;否则如果接收到错误的连接请求应答(或者说没有接收到连接请求应答),则关闭TCP连接,前端视频服务器(服务器角色)算法结束。第五步:前端视频服务器向流分发服务器发送视频头部(扩展头部T字段为0,Packet Type为3)数据报。第六步:前端视频服务器根据编码器产生的实时音视频数据向流分发服务器发送视频数据报(扩展头部T字段为1,Packet Type为1,2,3)。第七步:前端视频服务器重复第六步,直到TCP连接断开,前端视频服务器算法结束。第八步:流分发服务器持续接收前端视频服务器在第六步、第七步发送的视频数据报。第九步:流分发服务器不再需要视频流数据时(停止观看),流分发服务器关闭TCP连接,流分发服务器(客户端角色)算法结束。四、兼容性视频服务器作为服务端角色,应该实现对原来版本实时视频传输协议的兼容机制。这
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大数据合同协议
- 中标协议供货合同
- 出库转让协议合同
- 挂账协议合同模板
- 房东不愿签补充协议合同
- 合同和认购协议
- 承包刷漆协议合同
- 提车协议合同
- 科技公司合同协议
- 产品展示合同协议
- 中国盐业集团有限公司 笔试 内容
- 全过程工程咨询投标方案(技术方案)
- DL∕T 1051-2019 电力技术监督导则
- 关于学生假期(寒暑假)安排的调查问卷
- 2024广东深圳市龙岗区总工会招聘社会化工会工作者及事宜笔试历年典型考题及考点剖析附答案带详解
- 缺血性脑卒中的护理
- 中国历史-Chinese History (中英文)
- 未被列入违法失信名单承诺书
- 2024年专升本考试-专升本考试(机械设计基础)笔试考试历年高频考点试题摘选含答案
- 公司供应商风险管理制度
- 小学六年级上下册语文必背古诗词
评论
0/150
提交评论