RTP协议

Ver.(2 bits)是目前协定的版本号码,目前版号是 2。

P(1 bit)如果该位被设置,则在该packet末尾包含了额外的附加信息,附加信息的最后一个字节表示额外附加信息的长度(包含该字节本身)。该字段之所以存在是因为一些加密机制需要固定长度的数据块,或者为了在一个底层协议数据单元中传输多个RTP packets。

X(1 bit)如果应用程序类型允许扩展,则使用X指定分组中是否有扩展,如果该位被设置,则在固定的头部后存在一个扩展头部。.

CC(4 bits)包含了 CSRC 数目用于修正标头(fixed header).

M(1 bit) 是用于应用等级以及其原型(profile)的定义。如果不为零表示目前的数据有特别的程序解译。

PT(7 bits)标识RTP负载的格式,包括所采用的编码算法、采样频率、承载通道等。如果接收方不识别该类型,必须忽略该packet。

序号(16位)包含分组的序号,某些会话的第一个序号是随机选择的。在每一次发送时才增加1,接收方根据序列号重新排列数据包顺序。也可通过此项为接收方提供探测数据丢失的方法,但是如果数据丢失则是应用程序自己的事情,协议本身不负责数据的重传。

timerstamp(32位)时间戳:反映packet所携带信息包中第一个字节的采样时间。时间戳连续增加,即使是没有信号、没有发送的期间也是如此。当同事对多个分组采样,可以允许这些分组的时间戳一样。通过此项来确定时间间隔,判断数据的到达是否受到抖动的影响。

SSRC 是同步化来源。在使用混合器时,将多个数据流混合成新的数据流,此项用于标识数据流的源,最多可以流出15个源。每个源站必须选择一个唯一的32位标识符,如果冲突,协议中包含解决冲突的机制。

CSRC,只有存在Mixer的时候才有效,如一个将多声道的语音流合并成一个单声道的语音流,在这里就列出原来每个声道的SSRC。

RTCP协议

负责管理传输质量在当前应用进程之间交换控制信息。RTP本身不能为按序传输数据包提供可靠的保障,也不提供流量控制和拥塞控制,于是配合RTCP一起使用。当应用程序启动一个RTP会话时将同时占用两个端口,分别供RTP和RTCP使用。RTCP向会话中的所有成员周期性的发送控制信息,应用程序通过接收这些数据来获取会话参与者的相关信息、网络状况、分组丢失数量等。因此,服务器利用这些信息动态地改变传输速率,甚至改变有效载荷类型。RTP和RTCP配合使用,能有效的反馈和最小化开销使传输效率最佳化。

在RTCP通信控制中,RTCP协议的功能是通过不同的RTCP数据报来实现的,主要有如下几种类型:

①SR:发送端报告,用来使发送端周期的向所有接收端用多播方式进行报告,

内容包括:该RTP流的SSRC;该RTP流中最新产生的RTP分组的时间戳和绝对时钟时间(或称墙上时间:wall clock time);该RTP流包含的分组数;该RTP流包含的字节数。绝对时钟时间是必要的。因为RTP要求每一种媒体使用单独的流,所以发送视频和伴随的音频需要两个数据流。有了绝对时钟时间就可以进行图形和声音的同步。

②RR:接收端报告,用来使接收端周期性的向所有的点用多播方式进行报告。

内容包括:所接收到的RTP流的SSRC;该RTP流的分组丢失率;在该RTP流中的最后一个RTP分组的序号;分组到达时间间隔的抖动等。发送RR分组有两个目的。第一,可以使所有的接收端和发送端了解当前网络的状态。第二,可以使所有发送RTCP分组的站点自适应的调整自己发送RTCP分组的速率,RTCP分组的通信量不超过网络中的数据分组的通信量的5%,而接收端分组报告分组的通信量又应小于所有RTCP分组的通信量的75%。

③SDES:源描述,主要功能是作为会话成员有关标识信息的载体,如用户名、邮件地址、电话号码等,此外还具有向会话成员传达会话控制信息的功能。

④BYE:通知离开,主要功能是指示某一个或者几个源不再有效,即通知会话中的其他成员自己将退出会话。
⑤APP:由应用程序自己定义,解决了RTCP的扩展性问题,并且为协议的实现者提供了很大的灵活性。

RTSP协议

用来控制声音或影像的多媒体串流协议,并允许同时多个串流需求控制,传输所用协议并不在其定义的范围,服务器可自行选择TCP或UDP来传送串流内容。它的语法和运作与HTTP1.1类似,但不特别强调时间同步,所以比较能容忍网络延迟,而且proxy的缓冲功能也使用于RTSP,在负载均衡上,因RTSP有重定向功能,所以可根据负载情况来转换提供服务的服务器。RTSP支持多播,所以除了降低网络的负载,还能提供视频会议的功能。

RTSP状态:RTSP的控制信息和数据是分开的,我们可以用TCP来传控制信息,用UDP来传数据,主要状态有:

SETUP:服务器将会开辟资源,准备传输被请求的数据流。

PLAY和RECORD:经由SETUP开辟的流,开始传数据。

PAUSE:暂停流,但是不将服务器段的资源释放。

TEARDOWN:将流占用的资源释放掉,并关闭这个RTSP会话。

rtp rstp 编程

http://blog.csdn.net/pu1030/article/details/7619908

转载于:https://www.cnblogs.com/pengkunfan/p/3551629.html

rtp rtcp rtsp相关推荐

  1. RTP/RTCP/RTSP协议初探

    From:http://apps.hi.baidu.com/share/detail/24794429 一.产生的背景 随着互连网的发展,人们已经不满足于传统的HTTP,FTP和电子邮件等文本信息和服 ...

  2. 智能终端会议系统(20)---网络视频传输协议--RTP/RTCP/RTSP/SIP/SDP 之间关系

    网络视频传输协议--RTP/RTCP/RTSP/SIP/SDP 之间关系 RTP/RTCP/RTSP/SIP/SDP 关系 1. RTP Real-time Transport Protocol,是用 ...

  3. RTP/RTCP/RTSP/SIP/SDP 关系(直接看总结)

    RTP/RTCP/RTSP/SIP/SDP 关系   RTP(实时传输协议,传输层) Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输层协议 ...

  4. 网络流媒体协议的联系与区别(RTP RTCP RTSP RTMP HLS)

    简结">三句话简结 RTP RTCP RTSP RTMP HLS区别与联系 RTP传输流媒体数据.RTCP对RTP进行控制,同步.RTSP发起/终止流媒体 RTP和RTCP互为姐妹关系 ...

  5. RTP/RTCP/RTSP协议

                            描述:协议关系图 图片: 一.产生的背景 随着互连网的发展,人们已经不满足于传统的HTTP,FTP和电子邮件等文本信息和服务,而对内容丰富多彩的多媒体信 ...

  6. php视频流传输,视频流传输协议RTP/RTCP/RTSP/HTTP的区别

    用一句简单的话总结:RTSP发起/终结流媒体.RTP传输流媒体数据.RTCP对RTP进行控制,同步.之所以以前对这几个有点分不清,是因为CTC标准里没有对RTCP进行要求,因此在标准RTSP的代码中没 ...

  7. 视频流传输协议RTP/RTCP/RTSP/HTTP的区别

    在转载之前:我研究主要是基于HTTP的视频流,正在研读的论文名:"Modeling and Analyzing the Influence of Chunk Size Variation o ...

  8. 流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)

    RTP     参考文档 RFC3550/RFC3551     Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输层协议.RTP协议详细说明 ...

  9. RTP/RTCP/RTSP

    From: http://www.51testing.com/html/44/17144-18146.html 1. 基本概念 实时传输协议(RTP,Real-time Transport Proto ...

最新文章

  1. MyBatis-Plus,搭配 Spring Boot 使用,一篇就够了
  2. 关于对php-fpm的压力测试
  3. 为什么我的SQL server 在附加数据库后,数据库总是变成了只读?
  4. 莫名其妙的主机名 VM_32_234_centos
  5. 在Windows上安装Elasticsearch 5.0
  6. 汉语拼音/pinyin4j
  7. 【超图+CESIUM】【基础API使用示例】48、超图|CESIUM - 漫游飞行效果
  8. 三种碎片化方法:RECAP, BRICS与eMolFrag
  9. android联想搜索不到wifi,联想笔记本搜不到无线网解决办法
  10. 3lian网页素材网站
  11. 阿里总结的《Java成神之路》 PDF 火了,完整版开放下载!
  12. matlab怎样分别求偏相关系数,如何用Matlab计算相关系数和偏相关系数
  13. atoi atol实现
  14. 全球及中国光电传感器行业商业模式分析及投资风险预测2022年版
  15. python绘制直线的垂线_Matplotlib:散点图中的垂直线
  16. 成都拓嘉辰丰:拼多多关键词搜不到自家商品怎么回事?
  17. 聊城大学计算机学院许丽莉,计算机学院
  18. WPF 设置纯软件渲染
  19. 你知道要去学人工智能,但你却无从入手,对吗?
  20. ARM汇编指令EQU与等号“=”的异同

热门文章

  1. ITK:提取网格边界上的顶点
  2. OpenGL Gamma Correction伽马校正的实例
  3. C语言实现基数排序Radix sort算法之二(附完整源码)
  4. QT绘制百分比条形图。
  5. python3 exe_Windows10下python3和python2同时安装 python2.exe、python3.exe和pip2、pip3设置
  6. 阿里巴巴400集python教程_递归的练习课程 | Python从入门到精通:高阶篇之十二-阿里云开发者社区...
  7. ubuntu 命令卡住_如何在Ubuntu系统中重置root密码
  8. B02_NumPy数据类型(常见基本数据类型列举,数据类型对象 (dtype))
  9. 配置虚拟目录的方式(Linux下/windows下)
  10. Code Review工具Jupiter介绍