版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、RTSP协议讲解,数字监控行业核心技术与产品提供商 ,北京汉邦高科数字技术股份有限公司,2015-06-14,讲解内容,RTSP协议概念 RTSP协议在网络中所处的位置 RTSP介绍 RTSP的第三方库 RTP/RTCP协议介绍 SIP/SDP协议介绍 RTSP和onvif的关系,RTSP协议概念,RTSP(Real Time Streaming Protocol),实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学、网景和RealNetworks公司提交的IETF RFC标准。 RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或RTP完成数据传输。它的语法和运
2、作跟HTTP 1.1类似,HTTP与RTSP相比,HTTP传送HTML,而RTSP传送的是多媒体数据。HTTP请求由客户机发出,服务器作出响应;使用RTSP时,客户机和服务器都可以发出请求,即RTSP可以是双向的。,RTSP协议在网络中所处的位置,RTSP介绍,实时流协议(RTSP)建立并控制一个或几个时间同步的连续流媒体,如音频和视频。尽管连续媒体流与控制流交叉是可能的,RTSP 本身并不发送连续媒体流。换言之,RTSP 充当多媒体服务器的网络远程控制。RTSP 提供了一个可扩展框架,实现实时数据(如音频与视频)的受控、按需传送。数据源包括实况数据与存储的剪辑。RTSP 用于控制多个数据发送
3、会话,提供了选择发送通道(如 UDP、组播 UDP 与 TCP 等)的方式,并提供了选择基于 RTP 的发送机制的方法。 目前还没有 RTSP 连接的概念;服务器维护由识别符标识的会话。RTSP 会话不会绑定到传输层连接,如 TCP。在 RTSP 会话期间,RTSP 客户端可打开或关闭多个对服务器的可靠传输连接以发出 RTSP 请求。它也可选择使用无连接传输协议,如 UDP。,OPTIONS,客户端发送请求: OPTIONS rtsp:/35:554 RTSP/1.0 CSeq: 1 User-Agent: RealMedia Player HelixDNAClient/
4、5 (win32) /客户端版本,运行的系统 ClientChallenge: ecfc7f451b599180ec25b706ddbd18ee ClientID: WinNT_6.1_5_play32_RN01_EN_686 CompanyID: YurviqDthCPgn+V3Ms/YiQ= GUID: 00000000-0000-0000-0000-000000000000 PlayerStarttime: 03/08/2011:11:26:10 08:00 /流媒体开始播放的时间 Pragma: initiate-session RegionData:
5、0 解析:此步骤是客户端向服务器询问有哪些方法可以使用。包里面说明了客户端请求的文件所在的地址和端口,并说明播放器的版本和操作系统平台。,OPTIONS,服务端响应请求: RTSP/1.0 200 OK CSeq: 1 Date: Wed, Aug 03 2011 07:01:25 GMT /服务器当前时间 Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER /服务器支持的方法 解析:接收到OPTIONS请求后服务端发出响应报文。最开始返回状态码200代表请求成功。然后返回服
6、务器当前时间(GMT)和所支持的方法。,DESCRIBE,客户端发送请求: DESCRIBE rtsp:/35:554/21.aac RTSP/1.0 CSeq: 2 Accept: application/sdp /定义描述类型 解析:该方法是客户端向服务端请求描述媒体的详细信息。包中说明需要描述的媒体文件具体目录和名称,定义客户端能理解的描述类型,要求服务端以SDP包方式来描述媒体信息,DESCRIBE,服务端响应请求: RTSP/1.0 200 OK CSeq: 2 Date: Wed, Aug 03 2011 07:01:26 GMT Content-Base:
7、rtsp:/35/21.aac/ Content-Type: application/sdp /描述类型 Content-Length: 515 /SDP包的长度 第一部分解析:这是服务端响应DESCRIBE请求所发回的报文。以上内容说明描述的媒体文件具体路径和名称,以及所采用的描述类型(sdp),并定义了SDP包内容的长度。以下的第二部分是SDP包的内容。,DESCRIBE,SETUP,客户端发送请求: SETUP rtsp:/35/21.aac/track1 RTSP/1.0 CSeq: 3 User-Agent: MPlayer (LIVE55
8、5 Streaming Media v2011.03.14) /客户端详细信息 Transport: RTP/AVP;unicast;client_port=59558-59559 /传输协议+传播方式(单播或多播)+接收数据的端口号。 解析:客户端向服务端发送SETUP请求,要求服务端设置会话属性和流媒体传输方式以建立会话。包内容包含客户端软件详细信息,以及所需要的传输协议(RTP),传播方式和客户端用来接收数据的端口号。,SETUP,服务端响应请求: RTSP/1.0 200 OK CSeq: 3 Date: Wed, Aug 03 2011 07:01:26 GMT Transport:
9、RTP/AVP;unicast;destination=79;source=35;client_port=59558-59559;server_port=6970-6971 /传输协议+传播方式+目的IP+源IP+客户端端口+服务端端口 Session: 00007578 /会话标识 解析:服务端接收到SETUP请求后建立会话,向客户端返回会话详细信息以及会话标识。会话标识是唯一的。至此一个会话建立完成。,PLAY,客户端发送请求: PLAY rtsp:/35/21.aac/ RTSP/1.0 CSeq: 4 User-Agen
10、t: MPlayer (LIVE555 Streaming Media v2011.03.14) /播放器信息 Session: 00007578 /会话标识 Range: npt=0.000- /播放时间范围,从第0秒到文件播放完 解析:会话建立后,客户端发出PLAY请求播放所申请的流媒体21.acc。传输机制按照SETUP命令所设置的进行。PLAY请求可以发送多次,服务器会将请求放入队列逐个处理。同时客户端可以定义播放的时间范围,比如从该流媒体的第N秒播放到第M秒。,PLAY,服务器响应请求: RTSP/1.0 200 OK CSeq: 4 Date: Wed, Aug 03 2011 0
11、7:01:26 GMT Range: npt=0.000- Session: 00007578 RTP-Info: url=rtsp:/35/21.aac/track1;seq=23335;rtptime=2147485332 解析:服务器返回确认报文并开始传输流媒体数据。数据传输一般使用UDP发送。,TEARDOWN,客户端发送请求: TEARDOWN rtsp:/35/21.aac/ RTSP/1.0 CSeq: 5 User-Agent: MPlayer (LIVE555 Streaming Media v2011.03.14) Session
12、: 00007578 解析:流媒体全部传输完毕后,客户端向服务端发出TEARDOWN请求,要求终止该会话。 服务端响应请求: RTSP/1.0 200 OK CSeq: 5 Date: Wed, Aug 03 2011 07:01:57 GMT 解析:服务端响应TEARDOWN请求,发送回响应报文并终止该会话,至此该会话结束,服务器继续等待下一个RTSP请求。,RTSP的第三方库,live555简介 Live555 是一个为流媒体提供解决方案的跨平台的C+开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流
13、化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码。同时由于良好的设计,Live555非常容易扩展对其他格式的支持。目前,Live555已经被用于多款播放器的流媒体播放功能的实现,如VLC(VideoLan)、MPlayer。,RTSP的第三方库,FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了目前领先的音/视频编码库libavcodec等。 libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构 和读取音视频帧等功能; libavcodec:用于各种类型声音/图像编解码
14、; libavutil:包含一些公共的工具函数; libswscale:用于视频场景比例缩放、色彩映射转换; libpostproc:用于后期效果处理; ffmpeg:该项目提供的一个工具,可用于格式转换、解码或电视卡即时编码等; ffsever:一个 HTTP 多媒体即时广播串流服务器; ffplay:是一个简单的播放器,使用ffmpeg 库解析和解码,通过SDL显示;,RTP/RTCP协议介绍,RTP全名是Real-time Transport Protocol(实时传输协议),RTP被定义为传输音频、视频、模拟数据等实时数据的传输协议,与传统的注重的高可靠的数据传输的运输层协议相比,它更
15、加侧重的数据传输的实时性,此协议提供的服务包括数据顺序号、时间标记、传输控制等。 RTP通常与辅助控制协议RTCP一起工作,RTP只负责实时数据的传输,RTCP负责对RTP的通信和会话进行带外管理(如流量控制、拥塞控制、会话源管理等)。,RTP协议,1.V:RTP协议的版本号,占2位,当前协议版本号为2。 2. P:填充标志,占1位,如果P=1,则在该报文的尾部填充一个或多个额外的八位组,它们不是有效载荷的一部分。 3. X:扩展标志,占1位,如果X=1,则在RTP报头后跟有一个扩展报头。 CC:CSRC计数器,占4位,指示CSRC 标识符的个数。 5. M: 标记,占1位,不同的有效载荷有不
16、同的含义,对于视频,标记一帧的结束;对于音频,标记会话的开始。 6. PT: 有效载荷类型,占7位,用于说明RTP报文中有效载荷的类型,如GSM音频、JPEM图像等,在流媒体中大部分是用来区分音频流和视频流的,这样便于客户端进行解析。,RTP协议,7. 序列号:占16位,用于标识发送者所发送的RTP报文的序列号,每发送一个报文,序列号增1。这个字段当下层的承载协议用UDP的时候,网络状况不好的时候可以用来检查丢包。同时出现网络抖动的情况可以用来对数据进行重新排序,在helix服务器中这个字段是从0开始的,同时音频包和视频包的sequence是分别记数的。 8. 时戳(Timestamp):占3
17、2位,时戳反映了该RTP报文的第一个八位组的采样时刻。接收者使用时戳来计算延迟和延迟抖动,并进行同步控制。 9. 同步信源(SSRC)标识符:占32位,用于标识同步信源。该标识符是随机选择的,参加同一视频会议的两个同步信源不能有相同的SSRC。 10. 特约信源(CSRC)标识符:每个CSRC标识符占32位,可以有015个。每个CSRC标识了包含在该RTP报文有效载荷中的所有特约信源。,RTCP协议,RTCP 协议的主要功能是:服务质量的监视与反馈、媒体间的同步,以及多播组中成员的标识。RTCP 分组也使用 UDP 传送,但 RTCP 并不对声音或视像分组进行封装。可将多个 RTCP 分组封装
18、在一个 UDP 用户数据报中。RTCP 分组周期性地在网上传送,它带有发送端和接收端对服务质量的统计信息报告。 RTCP包含五种分组类型 1)结束分组 BYE 表示关闭一个数据流。 2)特定应用分组 APP 使应用程序能够定义新的分组类型。 3)接收端报告分组 RR 用来使接收端周期性地向所有的点用多播方式进行报告。 4)发送端报告分组 SR 用来使发送端周期性地向所有接收端用多播方式进行报告。 5)源点描述分组 SDES 给出会话中参加者的描述。,SIP协议,SIP(Session Initiation Protocol)是一个应用层的信令控制协议。用于创建、修改和释放一个或多个参与者的会话。这些会话可以是Internet多媒体会议1、IP电话或多媒体分发。,用户定位服务 会话建立 会话参与方管理,SIP 用户代理 SIP 注册服务器 SIP 代理服务器 SIP 重定向服务器,SDP协议,SDP(Session Description Protocol)为会话通知、会话邀请和其它形式的多媒体会话初始化等目的提供了多媒体会话描述。它不属于传输协议 它只使用不同的适当的传输协议,会话初始协议(SIP)、实时流协议(RTSP)、电子邮件以及超文本传输协议(H
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中考物理复习专题5间接测量类实验课件
- 电机与电气控制实训课程教案
- Photoshop创意合成实例教案
- 《鲤鱼风筝》教案
- 中小学教务管理聘用协议书
- 幼儿园体弱儿关怀计划
- 教育培训中心箱涵施工合同
- 临时销售电脑租赁合同范本
- 超市卖场租赁续约协议
- 矿产资源勘查单位聘用合同模板
- 2024年巴黎奥运会
- MOOC 创业基础-暨南大学 中国大学慕课答案
- 现代自然科学大事年表(1894 1985)
- 典型草原割草场技术规范-编制说明-内蒙古
- 阿坝藏族羌族自治州羌族文化生态保护实验区实施方案 - 阿坝州羌族
- 转体梁施工技术总结(宝兰-陈明涛)
- 精细化工——洗涤剂的合成PPT课件
- 最新Tcpdump格式文件分析
- 大国工匠精神演讲稿
- 出口退税风险点
- ZL10装载机的使用说明书(共27页)
评论
0/150
提交评论