范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

实时传输协议RTP(一)

  实时传输协议:Real-time Transport Protocol(RTP )。
  实时传输控制协议:Real-time Transport Control Protocol(RTCP)。
  RFC文档为RFC3550(RFC1889为其过期版本)详细介绍了RTP/RTCP相关协议。
  RTP对音频、视频、图像等多种种需要实时传输的多媒体数据提供端到端的实时传输服务。RTP为Internet上端到端的实时传输提供时间信息和流同步,但并不保证服务质量,服务质量由RTCP来提供。
  本章对RTP进行简介和实例说明,RTCP在后面章节详细解释。RTP协议详解
  RTP 初始设计是用来满足参与者媒体会议的需要,它没有限定于专门的应用。但随着在单播或多播网络需求中应用实时数据传输的推广。RTP现在广泛的应用在流媒体直播、会议、可视电话等多个领域中。
  简单的多播音频会议。语音通信通过一个多播地址和一对端口来实现。一个用于音频数据(RTP),另一个用于控制包(RTCP)。
  音频和视频会议。如果在一次会议中同时使用了音频和视频会议,这两种媒体将分别在不同的RTP会话中传送,每一个会话使用不同的传输地址(IP地址 端口)。如果一个用户同时使用了两个会话,则每个会话对应的RTCP包都使用规范化名字CNAME(Canonical Name)。与会者可以根据RTCP包中的CNAME来获取相关联的音频和视频,然后根据RTCP包中的计时信息(Network time protocol)来实现音频和视频的同步。
  基于UDP实现的,RTP用来为端到端的实时传输提供时间信息和流同步,但并不保证服务质量。服务质量由RTCP来提供。
  整体协议字段如图所示:
  图1-rtp协议
  1.RTP协议之Header固定头结构解析
  图2-Header固定头
  Header固定头有12个固定字节,各字段按比特计算,代表含义如下所示:
  (1)版本(V):2 比特,此定义了 RTP 的版本。此协议定义的版本是 2。
  (2)填充(P):1 比特,若填料比特被设置,则此包包含一到多个附加在末端的填充比特,填充比特不算作负载的一部分。填充的最后一个字节指明可以忽略多少个填充比特。填充可能用于某些具有固定长度的加密算法,或者用于在底层数据单元中传输多个 RTP 包。
  (3)扩展(X):1 比特,设置扩展比特标识。0代表无扩展头,1代表有扩展头。
  (4)CSRC 计数(CC):4 比特,CSRC 计数包含了跟在固定头后面 CSRC 识别符的数目。
  (5)标志(M):1 比特,标志的解释由具体协议规定。它用来允许在比特流中标记重要的事件,如帧边界。
  (6)负载类型(PT):7 比特,此定义了负载的格式,由具体应用决定其解释,协议可以规定负载类型码和负载格式之间一个默认的匹配。其他的负载类型码可以通过非 RTP 方法动态定义。RTP发送端在任意给定时间发出一个单独的 RTP 负载类型;此不用来复用不同的媒体流。
  (7)序列号(sequence number):16 比特,每发送一个 RTP 数据包,序列号加 1,接收端可以据此检测丢包和重建包序列。序列号的初始值是随机的(不可预测),以使即便在源本身不加密时(有时包要通过翻译器,它会这样做),对加密算法泛知的普通文本攻击也会更加困难。
  (8)时间戳(timestamp) :32 比特,时间戳反映了 RTP 数据包中第一个字节的采样时间。时钟频率依赖于负载数据格式,并在描述文件(profile)中进行描述。也可以通过 RTP 方法对负载格式动态描述。
  (9)SSRC:32 比特,用以识别同步源。标识符被随机生成,以使在同一个 RTP 会话期中没有任何两个同步源有相同的 SSRC 识别符。尽管多个源选择同一个 SSRC 识别符的概率很低,所有 RTP 实现工具都必须准备检测和解决冲突。若一个源改变本身的源传输地址,必须选择新的SSRC 识别符,以避免被当作一个环路源。
  (10)CSRC 列表:0 到 15 项,每项 32 比特,CSRC 列表识别在此包中负载的所有贡献源。识别符的数目在 CC 域中给定。若有贡献源多于 15 个,仅识别 15 个。CSRC 识别符由混合器插入,并列出所有贡献源的 SSRC 识别符。
  2.RTP协议之Header扩展头结构解析
  RTP-Header固定长度12字节,在一些情况下无法满足需要,需要扩展。在固定头中标识了是否有扩展字段相关信息。
  如果 RTP 标准头部扩展(X) 位为1,就表示CSRC后面还有一些额外的 RTP 扩展头,rfc5285 对 header extension 做了拓展,支持两种类型的拓展头 One-byte Header 和 Two-byte Header
  图3-扩展头
  扩展头(ExtensionsHeader)所有信息都包含在CC中,可以得知扩展头长度:如CC=4,ExtensionsHeader_size =4*4(字节)=4*32(bit)。
  前4个字节来区分用何种类型扩展头defined by profile(占2个字节):[One-byte Header 标识0xBEDE/Two-byte Header 标识0x1000],length表示除去 defined by profile和length字段之外的ExtensionsHeader 长度说明( 占2个字节);
  图4-One-byte Header
  如上图4所示第一个 16 为固定为 0XBEDE 标志,意味着这是一个 one-byte 扩展,length = 3 说明 header extension 的总长度为 3 * 32bit = 96bit = 12byte。
  每个扩展头首先以一个 byte 开始, ID为标识,占4bit, 后4bit是L 的长度代表后面紧跟数据长度(此时 数据长度为L+1) ,比如 L=0 时,紧跟后面有1个 byte 的 data,同理第二个扩展头的 L=1 说明后面还有 2 个 byte 的 data,但是注意,其后没有紧跟第三个扩展头,而是添加了 2 个byte大小的全 0 的 data,这是为了作填充对齐,因为扩展头是以为 32bit 作填充对齐的
  图5-Two-byte Header
  如上图5所示第一个 16 为固定为 0X1000 标志,意味着这是一个 two-byte 扩展,length = 3 说明 header extension 的总长度为 3 * 32bit = 96bit = 12byte。
  每个扩展头首先以一个 byte 开始, ID为标识,占8bit, 后8bit是L 的长度代表后面紧跟数据长度(此时 数据长度为L,表示真实的长度 ) ,比如 L=0 时,紧跟没有data,同理第二个扩展头的 L=1 说明后面还有 1个 byte 的 data,但是注意,其后没有紧跟第三个扩展头,而是添加了 1 个byte大小的全 0 的 data,这是为了作填充对齐,因为扩展头是以为 32bit 作填充对齐的
  3.RTP协议之Playload/Padding解析
  注释: buffer为RtpPacket数据,size为RtpPacket数据长度,payload_offset为RtpPacket数据真正载荷的偏移量,cc为固定头中字段CSRC 计数(CC)。
  一段RtpPacket数据包由RtpHeader + RtpBody组成;
  RtpHeader由FixHeader + ExtensionsHeader 组成;
  RtpBody由Playload + Padding组成;
  在FixHeader中标识了是否有填充数据字段填充(P);若为1,则有填充字段;如何计算填充数据长度?在RtpPacket包最后一位标记了填充数据长度。注意填充数据长度也包含RtpPacket包最后一位。
  if (P)
  padding_size = buffer[size - 1];
  else
  padding_size =0;
  Playload是RtpPacket数据所承载的真实数据,长度为:
  payload_offset = FixedHeaderSize + cc* 4;
  payload_size = size - payload_offset - padding_size;
  4.RTP实例演示
  图6-wirshark-RtpPacket
  如上图6所示,抓取wirshark获取的rtp包,从中可以看到rtp 固定头信息和扩展头信息。截取一段RTP包的buffer数据分析如下:
  90 60 02 7c 00 13 51 50 00 03 11 a6 be de 00 01 51 02 7c 00  7c 85 b8 00 00 08 10 63
  90 是V_P_X_CC ,把90换成二进制1000 0000
  V是10;P是0;X是1;CC是0000 (这个地方有误);
  60 是M_PT,把60换成二进制0110 0000
  M是0;PT是1100000;
  02 7e 是SequenceNum;
  00 13 51 50 是Timestamp;
  00 03 11 a6 是SSRC;
  be de 是扩展头defined by profile (One-byte Header 标识);
  00 01 是length字段,说明有一个扩展字段;
  51 是扩展字段标识和长度,把51换成二进制0101 0001;
  标识是5;
  长度是1,其 真实长度是1+1=2 ;
  02 7c 是扩展字段内容;
  00 是填充字段,要保证4的倍数;
  5.RTP代码解析
  此段代码是对RtpPacket的解析,代码中进行了相关注释!!!
  请继续关注本人系列作品!欢迎讨论!!!

通达OA网络智能办公系统,用OA选通达通达OA最新版是款针对办公的用户们打造的办公系统。通达OA中为用户提供协同办公即时通讯客户关系管理项目管理工作流等高端功能模块。通达OA中用户还可以随时切换不同设备,并查看消息历史洞察丨做物联网的守护者,派拓网络每一天都比昨天更安全物联网技术带来了各个领域的巨大变化,大幅升级了企业的数字化运营模式并提高了生产效率。但和所有的新兴事物一样,物联网在蓬勃发展的同时,也面临着日益严重的问题,那就是不容忽视的安全威胁妙趣横生印证快乐佳能动物佳年华亲子体验活动在沪启动近日,一场主题为动物佳年华的佳能打印机亲子体验系列活动在上海MR。ZOO小小动物元室内动物园火热开启。在与小动物实现近距离接触的同时,父母更可与孩子一起,现场通过佳能Creativ对话Gartner研究副总裁孙志勇博士数字化转型的战略路径当下的时代,社会经济商业科技等各个领域都在发生着快速变化,同时也在塑造着新的运行模式和思维方式。而未来的5年到10年,更是新一轮的数字化变革从蓄势待发到群体迸发的关键时期。而在向数和SHURE一起说得好听10月29日,上海声音小镇,Shure和媒体及用户朋友们一起,在全新设计的Shure体验中心和Shure创作中心,开启创意之旅,分享体验了全新MV7主播话筒的创作魅力。当天,位于上三星推出首款旗舰级5nm移动处理器Exynos1080三星Exynos于11月12日在上海举办了首场面向中国市场的新品发布会,并发布了具有旗舰级性能的Exynos1080移动处理芯片。集成了5G模组的Exynos1080是三星首款基于2020博世商用及工业锅炉合作伙伴峰会亮相京城8月28日,博世热力技术举办的2020博世商用及工业锅炉合作伙伴峰会在京顺利召开。来自全国各地的50多位核心经销商伙伴齐聚一堂共襄盛举,共同探讨了热力事业的发展道路与前景,以及各种NVIDIA携众多合作伙伴亮相BIRTV20208月19日,NVIDIA应邀参加了第二十九届北京国际广播电影电视展览会(BIRTV2020)线上展,并携众多合作伙伴与媒体分享了NVIDIAGPU和网络在广播电视行业的应用和案例。真全面屏!全球首款屏下摄像手机中兴Axon205G发布9月1日,中兴手机正式发布具有划时代意义的全球首款屏下摄像手机中兴天机Axon205G,其搭载极具视觉张力的全面屏,在为消费者带来极致全面的视觉进化的同时,也以屏下摄像技术的正式商直击Akamai边缘安全策略粉碎网络攻击,实现企业增值突发的新冠疫情给经济和生产生活带来了沉重的损失。可硬币总有两面,偏偏有这么一类人,却和疫情一起肆虐和狂欢,他们,就是一直也没闲着的网络黑客。根据智能边缘安全领导厂商Akamai的监科技圈大劲爆!华为等巨头传来了惊爆性消息,库克这是要逆天?随着如今西方国家野心越来越强大,不仅对于我国企业实施了几番的制裁,且谷歌为了配合西方国家禁止了华为搭载谷歌GMS服务,且禁止华为使用安卓系统。手机系统作为手机最为重要的一环,没了系
上班族现在越来越不爱用苹果手机!调研后发现主要有这几大原因?在前几年生活中,你可能看到最多的就是使用苹果手机的上班族。可是最近不管是坐地铁还是在深圳CBD闲逛,你会发现相比于苹果手机,上班族们会更偏爱使用一些安卓旗舰手机。为什么现在上班族越网贷平台总说要起诉,结果一年多了不仅没起诉,连催收也消失了?网贷一直都是人们比较热议的话题,尤其是当下的年轻人,听到网贷估计都是百感交集。实际上,这也证明了当下网贷用户的规模是非常庞大的,而且,在所有的网贷用户之中,逾期的人数也占据了较大的第一时间看苹果春季发布会直播5大方法教给你苹果春季发表会即将在北京时间4月21日凌晨1点登场,收看直播的方法通通整理给你。(摘自苹果官网)苹果(Apple)今年度第一场发表会即将在北京时间4月21日凌晨1点登场,如果想要熬牵一发动全身!美国或锁死14nm出口中国对于这则新闻,相信下游们涉及硬件销售的大大们有很深的感受,市场价格变化之快,都因芯片这一根弦而震颤。可谓,芯,百姓苦亡,百姓苦。据路透社报道,美国国会参议员给美国商务部的信件,内容京东提前上架苹果春季新品!iPadmini6和iPadPro稳了苹果已经确定在明天凌晨1点钟举办春季发布会,而目前在京东苹果专区,已经提前上架了苹果的新品链接。上架的两款新品有iPadmini6和iPadPro1112。9新款。不过京东只是上架果粉迎来好消息,苹果正式官宣,库克这是开始着急了?纵观整个科技行业,每一代的产品更新升级都十分迅速,因为各大厂商要靠着各种新颖的技术来吸引消费者买单,从而提升自己的市场份额和用户占比,这样才能为企业实现一个良性循环,继续研发新产品数字货币开启大变局这数字人民币马上就要来到你的身边了,那数字人民币背后,谋划着怎样的一局大棋您知道吗?今天咱就说一说数字人民币和跨境支付。全球各国都想发展经济,每个人都想赚钱。那咋赚钱呢就是做贸易啊永久关闭!网友叹又一波回忆被杀青来源河南广电映象网互联网曾经是未来的代名词,而现在已经开始频频创造历史和往事已经16岁高龄的雅虎问答(YahooAnswers),近日官宣将于5月4日关闭。届时YahooAnswe开始意识到比特币很大概率是普通人一生中最巨大的机遇这件事没必要怀疑,因为我也经历了类似的过程。目前总资产为300万左右,总投入不到20万。一背景介绍农村出身,村里多年来唯一的大学生,家境贫寒,父母无文化。于2018年本科毕业,暖通Q1全球手机市场出货量排名三星独占鳌头,OPPO稳居前四2020从年头到年尾,智能手机市场从黑暗期走了出来。统计机构StrategyAnalytics的最新研究表明,2021年Q1全球智能手机出货量为3。4亿部,同比增长24,是20152021苹果春季发布会马上来了!要推出7个新品?近日,苹果发出了2021年春季新品发布会的邀请函之后,不少网友都眼巴巴地期待4月21日的到来,一观苹果推出的新品。为了满足大家的好奇心,网上知名博主给大家专门拍摄了一个视频,告诉大