RTSP(实时流媒体协议)
流媒体相关网络协议

RTMP 传输效率较高,但需要专用的播放器支持,如 Adobe Flash Player。
HLS 和 DASH 则基于 HTTP 协议,可以在普通浏览器中播放,但需要将音视频流 拆分成多个小文件或片段,影响传输效率。
对比分析
• HLS、DASH和SmoothStreaming都是基于HTTP的流媒体协 议,具有跨平台的优势。然而,它们在功能、支持和集成性方 面存在一些差异。例如,DASH具有最广泛的支持和集成性, 而SmoothStreaming则更适合于Windows平台。在选择合适 的协议时,需要考虑应用程序的需求、目标平台和网络条件等 因素。
RTSP/RTP 的使用场景包括但不限于:视频会议、在线直播、视频点播等实时流 媒体应用。
02 HTTP-based 流 媒体协议
HLS(HTTP Live Streaming)
总结词
HLS是一种由Apple公司开发的基于HTTP的流媒体协议,广 泛应用于Apple设备上的直播和点播流媒体服务。
对网络要求较高:WebRTC 对网络的要求比较高,需要 保证网络的质量和稳定性才能达到较好的效果。
05 其他流媒体协议
RTMPS(RTMP over SSL/TLS)
• RTMPS是一种在SSL/TLS协议上运行的RTMP流媒体协议。它通过加密的连接进行数据传输,保证了数据的安全性。 RTMPS在直播流媒体传输中被广泛应用,特别是在需要保护数据安全的场景下。
THANKS
感谢观看
远程会议:WebRTC 可以用于实现远程会议的音 视频通信功能,提高会议效率。
RTSP协议实时流传输协议简介

RTSP协议实时流传输协议简介RTSP(Real-Time Streaming Protocol)是一种用于实时流传输的网络协议。
它的主要作用是控制多媒体服务器上的流媒体数据,实现实时的传输和控制。
一、RTSP协议的概述RTSP协议是由IETF(Internet Engineering Task Force,互联网工程任务组)制定的一种应用层协议。
它通过控制服务端上的媒体数据流,为客户端提供实时播放、暂停、倒带、快进等控制功能。
二、RTSP协议的特点1. 实时性:RTSP协议能够提供低延迟的实时传输,适用于对实时性要求较高的应用场景,如视频监控、视频会议等。
2. 灵活性:RTSP协议支持多种编解码器、多种传输协议,可以适应不同的网络环境和设备要求。
3. 扩展性:RTSP协议允许通过扩展方式定义新的方法和参数,以满足个性化的业务需求。
三、RTSP协议的工作原理1. 客户端发送请求:客户端通过建立RTSP连接向服务器发送命令请求,如PLAY、PAUSE、SETUP等。
这些命令指示服务器开始、暂停或切换媒体流的传输。
2. 服务器响应请求:服务器接收到客户端的请求后,将相应的媒体流数据传输给客户端,并返回相应的状态码和信息。
3. 媒体流传输:客户端通过UDP或TCP协议与服务器建立数据传输通道,实现实时媒体流的传输。
4. 控制指令交互:客户端与服务器之间进行控制指令的交互,如快进、快退、暂停等,实现对媒体流的控制。
四、RTSP协议与RTP协议的关系RTSP协议通常与RTP(Real-Time Transport Protocol)协议配合使用。
RTP协议负责将媒体数据进行分片并在网络中传输,而RTSP协议则负责控制RTP协议的传输和播放。
两者配合使用,可以实现流媒体的实时传输和控制。
五、RTSP协议的应用场景1. 视频监控:RTSP协议适用于实时监控系统,可以帮助实现远程监控图像的实时传输和控制。
2. 视频会议:RTSP协议可以实现多方视频会议中的视频数据传输和控制,保证会议的实时性和流畅性。
RTSP协议范文

RTSP协议范文RTSP(Real Time Streaming Protocol)是一种用于控制实时流媒体传输的应用层协议。
它提供了用于发送和接收媒体数据的控制信令,可以用于实现实时音视频的传输和控制。
本文将介绍RTSP协议的基本原理、工作过程以及其在网络中的应用。
一、RTSP协议的基本原理二、RTSP协议的工作过程1.建立连接:客户端首先与服务器建立TCP连接。
通常使用默认的RTSP端口(554)进行连接。
客户端发送一个OPTIONS请求给服务器,以了解服务器支持的RTSP方法和协议版本。
2.描述会话:客户端发送一个DESCRIBE请求给服务器,请求指定媒体的描述信息。
服务器返回一个包含媒体描述的响应。
客户端根据描述信息选择合适的媒体流。
3.创建会话:客户端发送一个SETUP请求给服务器,请求创建一个媒体会话。
客户端可以选择单播、组播或混合模式的传输。
服务器返回一个包含传输地址和服务器端口的响应。
4.控制媒体:客户端发送PLAY、PAUSE、TEARDOWN等请求给服务器来控制媒体的播放和暂停。
服务器根据请求对媒体进行相应的操作。
5.关闭会话:客户端发送一个TEARDOWN请求给服务器,请求关闭媒体会话。
服务器返回一个响应来确认关闭。
三、RTSP协议在网络中的应用1.直播和点播:RTSP协议可以用于直播和点播的实时流媒体传输。
客户端可以使用RTSP协议与服务器建立连接,并控制媒体的播放、暂停和停止。
2.视频监控:RTSP协议可以用于视频监控系统中的流媒体传输。
监控摄像头可以将实时视频流通过RTSP协议发送到监控中心,监控中心可以使用RTSP协议进行控制和管理。
3.视频会议:RTSP协议可以用于视频会议系统中的实时流媒体传输。
参与者可以通过RTSP协议建立连接,并进行视频传输和控制。
4.多媒体广告:RTSP协议可以用于多媒体广告系统中的实时流媒体传输。
广告服务器可以使用RTSP协议将广告内容发送到终端设备,并进行控制和管理。
RTSP协议详解中文版

RTSP协议详解中文版RTSP(Real Time Streaming Protocol)是一种用于控制实时流媒体的应用层协议,用于在客户端和服务器之间进行媒体资源的传输和控制。
它工作在TCP或UDP上,并且可以与各种流媒体服务器和客户端软件兼容。
RTSP协议的通信模型是基于客户端和服务器之间的请求和响应。
客户端通过发送请求来向服务器发送控制指令,服务器则通过发送响应来告知客户端请求的结果。
请求和响应是基于文本的,并且使用类似于HTTP的格式。
RTSP协议的请求由方法、URL和协议版本组成。
常见的请求方法包括DESCRIBE、SETUP、PLAY、PAUSE、TEARDOWN等。
DESCRIBE方法用于获取媒体资源的描述信息,SETUP方法用于建立与服务器的连接,PLAY方法用于开始播放,PAUSE方法用于暂停播放,TEARDOWN方法用于关闭连接。
RTSP协议的响应由状态码、状态描述和协议版本组成。
常见的状态码包括200 OK,表示请求成功;401 Unauthorized,表示未经授权;404 Not Found,表示资源不存在等。
状态码和状态描述用于告知客户端请求的结果。
RTSP协议还支持使用SDP(Session Description Protocol)来描述媒体资源。
SDP是一种用于描述会话信息的协议,它可以描述媒体资源的类型、媒体格式、传输地址等。
客户端可以使用DESCRIBE方法获取媒体资源的SDP描述,从而可以解析和播放媒体资源。
RTSP协议的优点包括灵活性和互操作性。
由于RTSP协议本身只负责控制,而不直接传输媒体数据,因此可以适用于各种不同的流媒体传输协议,如RTP、RTCP、RTMP等。
同时,RTSP协议还可以与其他媒体相关的协议配合使用,如RTSP over HTTP、RTSP over SSL等。
总结起来,RTSP协议是一种用于实时流媒体控制的协议,它可以实现实时流媒体的连续控制和广泛的交互性。
RFC2326(中文版)-实时流协议(RTSP)

RFC2326(中文版)-实时流协议(RTSP).txt我的人生有A 面也有B面,你的人生有S面也有B 面。
失败不可怕,关键看是不是成功他妈。
现在的大学生太没素质了!过来拷毛片,居然用剪切!有空学风水去,死后占个好墓也算弥补了生前买不起好房的遗憾。
实时流协议(RTSP) ( Real Time Streaming Protocol (RTSP) )备忘录的状态:本文档讲述了一种Internet社区的Internet标准跟踪协议,它需要进一步进行讨论和建议以得到改进。
请参考最新版的“Internet正式协议标准”(STD1)来获得本协议的标准化程度和状态。
本备忘录的发布不受任何限制。
版权声明:版权为The Internet Society 所有。
所有权利保留。
摘要:实时流协议(RTSP)是应用层协议,控制实时数据的传送。
RTSP提供了一个可扩展框架,使实时数据,如音频与视频的受控、点播成为可能。
数据源包括现场数据与存储在剪辑中数据。
该协议目的在于控制多个数据发送连接,为选择发送通道,如UDP、组播UDP与TCP,提供途径,并为选择基于RTP(RFC1889)上传送机制提供方法。
目录:1 绪论 51.1 目的 51.2 要求 61.3 术语 61.4 协议特点 71.5 RTSP扩展 81.6 操作模式 91.7 RTSP状态 91.8 与其他协议关系 102 符号协定 103 协议参数 103.1 RTSP版本 103.2 RTSP URL 113.3 会议标识 133.4 会话标识 133.5 SMPTE 相对时间戳 133.6正常播放时间 143.7 绝对时间 153.8 选择标签 153.8.1 用IANA注册新的选择标签 154 RTSP消息 154.1 消息类型 164.2 消息标题 174.3 消息主体 174.4 消息长度 185 普通标题域 186 请求 196.1 请求队列 196.2 请求标题域 197 回应 207.1 状态行 207.1.1 状态代码和原因分析 207.1.2 回应标题域 238 实体 238.1 实体标题域 248.2 实体主体 249 连接 259.1 流水线操作 259.2 可靠性及确认 2510 方法定义 2510.1 选择 2610.2 描述 2610.3 通告 2610.4 建立 2610.5 播放 2710.6 暂停 2710.7 断开 2710.8 获取参数 2810.9 设置参数 2810.10 重定向 2810.11 录制 2910.12 嵌入二进制数据 2911状态代码定义(Status Code Definitions) 29 11.1成功2xx(Success 2xx) 3011.1.1 存储空间低 250 3011.2 重定向(Redirection 3xx) 3111.3 客户端错误(Client Error )4xx 3111.3.1方法不允许 3211.3.2参数不能理解 3211.3.3会议未找到 3311.3.4 带宽不足 3311.3.5 会话未找到 3411.3.6 本状态下该方法无效 3411.3.7 标题域对资源无效 3411.3.8 无效范围 3511.3.9 参数只读 3511.3.10 不允许合操作 3611.3.11 只允许合操作 3611.3.12 不支持的传输 3611.3.13 目标不可达 3711.3.14 选择不支持 3712 标题域定义(Header Field Definitions) 38 12.1 接受 3812.2 接受编码 3812.3 接受语言 3912.4 允许(Allow) 3912.5 授权(Authorization) 4012.6 带宽 4012.7 块大小 4012.8 缓存控制 4112.9 会议 4112.10 连接 4112.11 基本内容 4212.12 内容编码(Content-Encoding) 4212.13 内容语言 4312.14 内容长度(Content-Length) 4312.15 内容位置 4312.16 内容类型(Content-Type) 4412.17 序列号 4412.18 日期(Date) 4412.19 过期(Expires) 4512.20 来自(From) 4512.21 主机 4512.22 如果匹配 4512.23 从何时更改(If-Modified-Since) 46 12.24 最近更改(Last-Modified) 4612.25 位置(Location) 4612.26 代理授权 4712.27 代理要求 4712.28 公用性 4712.29 范围 4912.30 提交方(Referer) 4912.31 稍后再试 4912.32 要求 4912.33 RTP信息 4912.34 比例 4912.35 速度 4912.36 服务器(Server) 4912.37 会话 4912.38 时间戳 4912.39 传输 4912.40 不支持 4912.41 用户代理(User-Agent) 4912.42 变化 4912.43 通过 4912.44 WWW-授权(WWW-Authenticate) 5013 缓存 5014 实例 5014.1 要求媒体(单播) 5014.2 容器文件的流 5114.3 单个流容器文件 5114.4 组播现场媒体表示 5114.5 在存在的会话中播放媒体 5114.6 录制 5215 语法 5215.1 基本语法 5216 安全考虑(Security Considerations) 52 附录A RTSP协议状态机 53A.1 客户端状态机 53A.2 服务器端状态机 53附录B 同RTP协议的交互 53附录C 使用SDP进行RTSP会话描述 54C.1 定义 54C.1.1 控制URL 55C.1.2 媒体流 55C.1.3 有效载荷类型 55C.1.4 详细格式参数 55C.1.5 表示的范围 56C.1.6 有效时间 56C.1.7 连接信息 56C.1.8 实体标签 57C.2 合控制不可用 57C.3 合控制可用 57附录D 最简单的RTSP实现 58D.1 客户端 58D.1.1回放 58D.1.2 授权 58D.2 服务器 59D.2.1回放 59D.2.2授权 59附录E 作者地址 60附录F 致谢 60参考书目 60版权申明 611 绪论1.1 目的实时流协议(RTSP)建立并控制一个或几个时间同步的连续流媒体。
RTSP协议实时流媒体传输的基本协议

RTSP协议实时流媒体传输的基本协议随着互联网的发展和网络带宽的提升,实时视频流媒体传输变得越来越普遍。
为了满足用户对实时视频的需求,一种被广泛应用的协议是实时流媒体传输协议(Real-Time Streaming Protocol,RTSP)。
一、什么是RTSP协议?RTSP协议是一种应用层协议,旨在管理和控制实时流媒体的传输。
它允许客户端和服务器之间进行交互和通信,以控制媒体播放,例如播放、暂停、停止、快进和倒退等。
RTSP协议使用基于文本的请求和响应模型,类似于HTTP协议。
客户端向服务器发送请求,服务器通过响应来回应客户端的请求。
这种交互的方式使得RTSP协议具有灵活性,同时也增加了其可扩展性。
二、RTSP协议的工作原理RTSP协议在实时流媒体传输中起着重要的作用。
以下是RTSP协议的基本工作原理:1. 建立连接客户端与服务器之间首先建立RTSP连接。
通常,客户端会向服务器发送一个OPTIONS请求,以确认服务器是否支持RTSP协议。
服务器回复一个带有支持的方法列表的响应。
2. 会话描述客户端发送一个DESCRIBE请求,请求服务器提供有关媒体资源的描述信息。
服务器回复一个带有媒体描述的响应,包括媒体类型、媒体格式等信息。
3. 控制会话客户端通过发送SETUP请求来建立媒体传输的会话。
服务器回复一个带有会话标识符的响应,以便将来的操作都与该会话标识符相关联。
4. 媒体控制客户端可以通过发送PLAY、PAUSE、TEARDOWN等请求来控制媒体的播放,暂停和停止。
服务器相应地回复相关响应来执行相应操作。
5. 终止连接当会话结束时,客户端发送TEARDOWN请求来终止与服务器的连接。
三、RTSP协议的优点和应用场景RTSP协议具有以下几个优点:1. 灵活性和可定制性RTSP协议允许客户端与服务器之间进行多种交互,提供了灵活的控制和管理实时流媒体的能力。
客户端可以根据需要控制媒体的播放、暂停、停止等操作,满足不同的需求。
RTSP详解

RTSP详解RTSP 本身并不发送连续媒体流。
换言之,RTSP 充当多媒体服务器的网络远程控制。
RTSP(Real Time Streaming Protocol,实时流媒体协议),是由Real network 和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。
RTSP提供一种可扩展的框架,使能够提供能控制的,按需传输实时数据,比如音频和视频文件。
源数据可以包括现场数据的反馈和存贮的文件。
rtsp对流媒体提供了诸如暂停,快进等控制,而它本身并不传输数据,rtsp作用相当于流媒体服务器的远程控制。
传输数据可以通过传输层的tcp,udp协议,rtsp也提供了基于rtp传输机制的一些有效的方法。
RTSP 在语法和操作上与HTTP/1.1 类似,因此HTTP 的扩展机制在多数情况下可加入RTSP。
然而,在很多重要方面RTSP 仍不同于HTTP :∙RTSP 引入了大量新方法并具有一个不同的协议标识符:∙在大多数情况下,RTSP 服务器需要保持缺省状态,与HTTP 的无状态相对;∙RTSP 中客户端和服务器都可以发出请求;∙在多数情况下,数据由不同的协议传输;∙RTSP 使用ISO 10646 (UTF-8)而并非ISO 8859-1,与当前的国际标准HTML 相一致;∙URI 请求总是包含绝对URI。
为了与过去的错误相互兼容,HTTP/1.1 只在请求过程中传送绝对路径并将主机名置于另外的头字段。
协议结构RTSP 是一种文本协议,采用UTF-8 编码中的ISO 10646 字符集。
一行可通过CRLF 终止,但接收端需要做好解释CR 和LF 作为一行终止符的准备。
关于头字段概述如下:Header Type Support MethodsAccept R opt. entityAccept-Encoding R opt. entityAccept-Language R opt. allAllow R opt. allAuthorization R opt. allBandwidth R opt. allBlocksize R opt. All but OPTIONS, TEARDOWNCache-Control G opt. SETUPConference R opt. SETUPConnection G req. allContent-Base E opt. entityContent-Encoding E req. SET_PARAMETERContent-Encoding E req. DESCRIBE, ANNOUNCE Content-Language E req. DESCRIBE, ANNOUNCE Content-Length E req. SET_PARAMETER, ANNOUNCE Content-Length E req. entityContent-Location E opt. entityContent-Type E req. SET_PARAMETER, ANNOUNCE Content-Type R req. entityCSeq G req. allDate G opt. allExpires E opt. DESCRIBE, ANNOUNCEFrom R opt. allIf-Modified-Since R opt. DESCRIBE, SETUPLast-Modified E opt. entityProxy-AuthenticateProxy-Require R req. allPublic R opt. allRange R opt. PLAY, PAUSE, RECORDRange R opt. PLAY, PAUSE, RECORD Referer R opt. allRequire R req. allRetry-After R opt. allRTP-Info R req. PLAYScale Rr opt. PLAY, RECORDSession Rr req. All but SETUP, OPTIONSServer R opt. allSpeed Rr opt. PLAYTransport Rr req. SETUPUnsupported R req. allUser-Agent R opt. allVia G opt. allWWW-Authenticate R opt. all类型"g" 表示请求和响应中的通用请求头;类型"R" 表示请求头;类型"r" 表示响应头;类型"e" 表示实体头字段。
rtsp协议书介绍

rtsp协议书介绍甲方(提供方):_____________________乙方(使用方):_____________________鉴于甲方拥有合法的RTSP(Real Time Streaming Protocol)流媒体服务提供能力,乙方需要使用甲方提供的RTSP服务进行实时音视频传输。
为明确双方的权利和义务,特订立本协议。
第一条定义1.1 RTSP:即实时流媒体协议,是一种网络控制协议,用于建立和控制音视频数据的实时数据流。
1.2 流媒体服务:指通过RTSP协议传输的音视频数据服务。
1.3 服务期限:指本协议约定的乙方使用甲方RTSP服务的时间范围。
第二条服务内容2.1 甲方同意在服务期限内向乙方提供符合行业标准的RTSP流媒体服务。
2.2 乙方应按照甲方提供的技术要求和操作指南使用RTSP服务。
第三条服务期限3.1 本协议服务期限自____年____月____日起至____年____月____日止。
第四条费用及支付方式4.1 乙方应按照本协议约定向甲方支付服务费用,具体金额为:___________。
4.2 乙方应在本协议签订之日起____天内支付首期服务费用,后续费用按照____支付。
第五条甲方的权利和义务5.1 甲方有权根据本协议约定收取服务费用。
5.2 甲方应保证所提供的RTSP服务的稳定性和安全性。
5.3 甲方应提供必要的技术支持和咨询服务。
第六条乙方的权利和义务6.1 乙方有权按照本协议约定使用甲方提供的RTSP服务。
6.2 乙方应按时支付服务费用。
6.3 乙方应遵守甲方提供的使用指南和操作规范,不得进行任何可能影响服务稳定性和安全性的行为。
第七条保密条款7.1 双方应对在履行本协议过程中知悉的对方商业秘密予以保密。
7.2 未经对方书面同意,任何一方不得向第三方披露、提供或允许第三方使用上述商业秘密。
第八条违约责任8.1 如一方违反本协议约定,应承担违约责任,并赔偿对方因此遭受的损失。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
rtsp简介(ZT)Real Time Streaming Protocol或者RTSP(实时流媒体协议),是由Real network 和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。
RTSP提供一种可扩展的框架,使能够提供能控制的,按需传输实时数据,比如音频和视频文件。
源数据可以包括现场数据的反馈和存贮的文件。
rtsp对流媒体提供了诸如暂停,快进等控制,而它本身并不传输数据,rtsp作用相当于流媒体服务器的远程控制。
传输数据可以通过传输层的tcp,udp协议,rtsp也提供了基于rtp传输机制的一些有效的方法。
RTSP消息格式:RTSP的消息有两大类,一是请求消息(request),一是回应消息(response),两种消息的格式不同.请求消息:方法URI RTSP版本CR LF消息头CR LF CR LF消息体CR LF其中方法包括OPTION回应中所有的命令,URI是接受方的地址,例如:rtsp://192.168.20.136RTSP版本一般都是RTSP/1.0.每行后面的CR LF表示回车换行,需要接受端有相应的解析,最后一个消息头需要有两个CR LF回应消息:RTSP版本状态码解释CR LF消息头CR LF CR LF消息体CR LF其中RTSP版本一般都是RTSP/1.0,状态码是一个数值,200表示成功,解释是与状态码对应的文本解释.简单的rtsp交互过程:C表示rtsp客户端,S表示rtsp服务端1.C->S:OPTION request //询问S有哪些方法可用1.S->C:OPTION response //S回应信息中包括提供的所有可用方法2.C->S:DESCRIBE request //要求得到S提供的媒体初始化描述信息2.S->C:DESCRIBE response //S回应媒体初始化描述信息,主要是sdp3.C->S:SETUP request //设置会话的属性,以及传输模式,提醒S建立会话3.S->C:SETUP response //S建立会话,返回会话标识符,以及会话相关信息4.C->S:PLAY request //C请求播放4.S->C:PLAY response //S回应该请求的信息S->C:发送流媒体数据5.C->S:TEARDOWN request //C请求关闭会话5.S->C:TEARDOWN response //S回应该请求上述的过程是标准的、友好的rtsp流程,但实际的需求中并不一定按部就班来。
其中第3和4步是必需的!第一步,只要服务器客户端约定好,有哪些方法可用,则option请求可以不要。
第二步,如果我们有其他途径得到媒体初始化描述信息(比如http请求等等),则我们也不需要通过rtsp中的describe请求来完成。
第五步,可以根据系统需求的设计来决定是否需要。
rtsp中常用方法:1.OPTION目的是得到服务器提供的可用方法:OPTIONS rtsp://192.168.20.136:5000/xxx666 RTSP/1.0CSeq: 1 //每个消息都有序号来标记,第一个包通常是option请求消息User-Agent: VLC media player (LIVE555 Streaming Media v2005.11.10)服务器的回应信息包括提供的一些方法,例如:RTSP/1.0 200 OKServer: UServer 0.9.7_rc1Cseq: 1 //每个回应消息的cseq数值和请求消息的cseq相对应Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, SCALE,GET_PARAMETER //服务器提供的可用的方法2.DESCRIBEC向S发起DESCRIBE请求,为了得到会话描述信息(SDP):DESCRIBE rtsp://192.168.20.136:5000/xxx666 RTSP/1.0CSeq: 2token:Accept: application/sdpUser-Agent: VLC media player (LIVE555 Streaming Media v2005.11.10)服务器回应一些对此会话的描述信息(sdp):RTSP/1.0 200 OKServer: UServer 0.9.7_rc1Cseq: 2x-prev-url: rtsp://192.168.20.136:5000x-next-url: rtsp://192.168.20.136:5000x-Accept-Retransmit: our-retransmitx-Accept-Dynamic-Rate: 1Cache-Control: must-revalidateLast-Modified: Fri, 10 Nov 2006 12:34:38 GMTDate: Fri, 10 Nov 2006 12:34:38 GMTExpires: Fri, 10 Nov 2006 12:34:38 GMTContent-Base: rtsp://192.168.20.136:5000/xxx666/Content-Length: 344Content-Type: application/sdpv=0 //以下都是sdp信息o=OnewaveUServerNG 1451516402 1025358037 IN IP4 192.168.20.136s=/xxx666u=http:///e=admin@c=IN IP4 0.0.0.0t=0 0a=isma-compliance:1,1.0,1a=range:npt=0-m=video 0 RTP/A VP 96 //m表示媒体描述,下面是对会话中视频通道的媒体描述a=rtpmap:96 MP4V-ES/90000a=fmtp:96profile-level-id=245;config=000001B0F5000001B509000001000000012000C888B0E0E0FA62D 089028307a=control:trackID=0//trackID=0表示视频流用的是通道03.SETUP客户端提醒服务器建立会话,并确定传输模式:SETUP rtsp://192.168.20.136:5000/xxx666/trackID=0 RTSP/1.0CSeq: 3Transport: RTP/A VP/TCP;unicast;interleaved=0-1User-Agent: VLC media player (LIVE555 Streaming Media v2005.11.10)//uri中带有trackID=0,表示对该通道进行设置。
Transport参数设置了传输模式,包的结构。
接下来的数据包头部第二个字节位置就是interleaved,它的值是每个通道都不同的,trackID=0的interleaved值有两个0或1,0表示rtp包,1表示rtcp包,接受端根据interleaved的值来区别是哪种数据包。
服务器回应信息:RTSP/1.0 200 OKServer: UServer 0.9.7_rc1Cseq: 3Session: 6310936469860791894 //服务器回应的会话标识符Cache-Control: no-cacheTransport: RTP/A VP/TCP;unicast;interleaved=0-1;ssrc=6B8B45674.PLAY客户端发送播放请求:PLAY rtsp://192.168.20.136:5000/xxx666 RTSP/1.0CSeq: 4Session: 6310936469860791894Range: npt=0.000- //设置播放时间的范围User-Agent: VLC media player (LIVE555 Streaming Media v2005.11.10)服务器回应信息:RTSP/1.0 200 OKServer: UServer 0.9.7_rc1Cseq: 4Session: 6310936469860791894Range: npt=0.000000-RTP-Info: url=trackID=0;seq=17040;rtptime=1467265309//seq和rtptime都是rtp包中的信息5.TEARDOWN客户端发起关闭请求:TEARDOWN rtsp://192.168.20.136:5000/xxx666 RTSP/1.0CSeq: 5Session: 6310936469860791894User-Agent: VLC media player (LIVE555 Streaming Media v2005.11.10)服务器回应:RTSP/1.0 200 OKServer: UServer 0.9.7_rc1Cseq: 5Session: 6310936469860791894Connection: Close以上方法都是交互过程中最为常用的,其它还有一些重要的方法如get/set_parameter,pause,redirect等等ps:sdp的格式v=<version>o=<username> <session id> <version> <network type> <address type> <address> s=<session name>i=<session description>u=<URI>e=<email address>p=<phone number>c=<network type> <address type> <connection address>b=<modifier>:<bandwidth-value>t=<start time> <stop time>r=<repeat interval> <active duration> <list of offsets from start-time>z=<adjustment time> <offset> <adjustment time> <offset> ....k=<method>k=<method>:<encryption key>a=<attribute>a=<attribute>:<value>m=<media> <port> <transport> <fmt list>v = (协议版本)o = (所有者/创建者和会话标识符)s = (会话名称)i = * (会话信息)u = * (URI 描述)e = * (Email 地址)p = * (电话号码)c = * (连接信息)b = * (带宽信息)z = * (时间区域调整)k = * (加密密钥)a = * (0 个或多个会话属性行)时间描述:t = (会话活动时间)r = * (0或多次重复次数)媒体描述:m = (媒体名称和传输地址)i = * (媒体标题)c = * (连接信息—如果包含在会话层则该字段可选)b = * (带宽信息)k = * (加密密钥)a = * (0 个或多个媒体属性行)参考文章:rfc2326(rtsp);rfc2327(sdp)。