- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
rtp协议2003
* 1.协议简介 RTP是针对Internet上多媒体数据流的一个传输协议。可以实现一对一或一对多的传输情况。RTP的典型应用建立在UDP上,但也可以在TCP或ATM等其他协议之上工作。 RTP本身只保证实时数据的传输,并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制。 2.RTP工作机制 多媒体数据传输的一个尖锐的问题就是不可预料数据到达时间。但是流媒体的传输是需要数据的适时的到达用以播放和回放。 rtp协议就是提供了时间标签,序列号以及其它的结构用于控制适时数据流的播放。发送端依照即时的采样在数据包里设置了时间标签。在接受端收到数据包后,就依照时间标签按照正确的速率恢复成原始的适时的数据。 ? 在rtp协议中,一帧数据被分割成几个包,这几个包具有相同的时间标签,但是每一个包又具有不同的序号。 3.RTP协议头 ①版本(V) 2位,标识RTP版本。 ②填充标识(P) 1位,如设置填充位,在包尾将包含附加填充字,它不属于有效载荷。填充的最后一个字节指明可以忽略多少个填充比特。填充可能用于某些具有固定长度的加密算法 ③扩展(X) 1位,如设置扩展位,固定头后跟一个头扩展。 ④CSRC计数(CC) 4位,CSRC计数包括紧接在固定头后CSRC标识符个数。 ⑤标记(M) 1位,标志的解释由具体协议规定。它用来允许在比特流中标记重要的事件,如帧边界。 3.RTP协议头 ⑥载荷类型(PT) 7位,记录后面资料使用哪种编码,接收端找出相应的?decoder?解码出来。 ⑦系列号 16位,系列号随每个RTP数据包而增加1,由接收者用来探测包损失。系列号初值是随机的。 ⑧时标 32位,时标反映RTP数据包中第一个八进制数的采样时刻,采样时刻必须从单调、线性增加的时钟导出,以允许同步与抖动计算。时标可以让receiver端知道在正确的时间将资料播放出来。 只有系列号而没有时标,并不能完整按照顺序的将data播放出来,因为如果data中间有一段是没有资料的,只有系列号的话会造成错误. 3.RTP协议头 ⑨SSRC 32位,SSRC段标识同步源。此标识不是随机选择的,目的在于使同一RTP包连接中没有两个同步源有相同的SSRC标识。尽管多个源选择同一个标识的概率很低,所有RTP实现都必须探测并解决冲突。 ? ⑩CSRC列表 0到15项,每项32位。CSRC列表表示包内的对载荷起作用的源。标识数量由CC段给出。如超出15个作用源,也仅标识15个。 3.RTP协议的报文结构 typedef struct { unsigned char csrc_len:4; unsigned char extension:1; unsigned char padding:1; unsigned char version:2; unsigned char payload:7; unsigned char marker:1; unsigned short seq_no; unsigned long timestamp; unsigned long ssrc; } RTP_FIXED_HEADER; H264各项设置: { 0 1 0 2 96 1:第一个包或最后一个包 0:中间包 seq_num ++ htonl(current_time) htonl(10) } RTP_FIXED_HEADER;11 4.H.264 RTP 封包 在获取264裸流后,我们要找到NAL(网络抽象层)单元,这个单元用来支持在基于包交换技术的网络中传输。我们公司的编码器编码后的264裸流,NAL单元起始标志是起始码为:0x00 00 00 01。NAL的数据结构如下: typedef struct { int startcodeprefix_len; unsigned len; unsigned max_size; int forbidden_bit; int nal_reference_idc; int nal_unit_type
您可能关注的文档
最近下载
- Linux网络操作系统配置与管理 第四版 项目3 文件和目录的管理.ppt VIP
- 医学课件-肝功能衰竭.pptx VIP
- 《保教政策法规与职业道德》中职幼儿保育专业全套教学课件.pptx
- 肝功能衰竭医学科普.pptx
- 2024-2025学年广东省深圳中学九年级(上)开学数学试卷(含详解).pdf VIP
- 《肝功能衰竭》课件课件-2024鲜版.ppt VIP
- 通桥(2014)2132-Ⅳ(跨度31.5m) (附条文及目录 ).pdf VIP
- 儿科学麻疹病例分析,病例导入法.docx VIP
- 燃煤锅炉超低排放治理工程项目实施方案(参考).docx
- 24012NDS00 NDS试验测试标准.doc VIP
文档评论(0)