RTSP协议学习笔记
- 格式:pdf
- 大小:307.72 KB
- 文档页数:15
几种常见音视频传输协议使用总结在音视频传输领域,有多种常见的协议被用于在网络中传输音视频数据。
每种协议都有其独特的特点和适用范围。
下面将对其中几种常见音视频传输协议进行总结。
RTP是一种用于实时传输音视频数据的协议。
它提供了时间戳、序列号、同步源标识等功能,以确保音视频数据能够准确有序地传输。
RTP协议通常与RTCP(RTP Control Protocol)一起使用,后者用于监控数据质量、同步参与者等。
RTP适用于对实时性要求较高的音视频应用,如WebRTC、视频会议等。
2. RTSP(Real-Time Streaming Protocol)RTSP是一种基于客户端-服务端模型的流媒体控制协议。
它允许客户端向服务器发送命令,控制流媒体的播放、暂停、停止等操作。
RTSP常用于流媒体服务器和播放器之间的控制通信,如IP摄像头、网络电视等。
3. SIP(Session Initiation Protocol)5. HTTP Live Streaming(HLS)HLS是一种基于HTTP的流媒体传输协议。
它将整个音视频文件切分成多个小的TS(Transport Stream)分片文件,并使用M3U8文件来描述这些分片的信息和顺序。
HLS适用于优化大规模流媒体内容的传输,如在线直播、点播,以及移动端的流媒体传输。
6. RTP over UDP/TCPRTP协议通常在UDP(User Datagram Protocol)或TCP (Transmission Control Protocol)协议上运行。
使用UDP时,RTP提供了实时性高、延迟低的优势,适用于对数据准确性要求不高的应用。
而使用TCP时,RTP可以提供可靠性,保证音视频数据的有序性和完整性,适用于对数据准确性要求较高的应用。
综上所述,不同的音视频传输协议适用于不同的应用场景。
RTP和RTSP适用于流媒体的实时传输和控制;SIP和WebRTC适用于实时通信应用;HLS适用于优化大规模流媒体传输;而RTP over UDP/TCP则根据应用的具体需求选择不同的传输方式。
RTMP、RTSP、HTTP视频协议详解(附:直播流地址、播放软件)⼀、RTMP、RTSP、HTTP协议这三个协议都属于互联⽹ TCP/IP 五层体系结构中应⽤层的协议。
理论上这三种都可以⽤来做视频直播或点播。
但通常来说,直播⼀般⽤ RTMP、RTSP。
⽽点播⽤ HTTP。
下⾯分别介绍下三者的特点。
1,RTMP协议(1)是流媒体协议。
(2)RTMP协议是 Adobe 的私有协议,未完全公开。
(3)RTMP协议⼀般传输的是 flv,f4v 格式流。
(4)RTMP⼀般在 TCP 1个通道上传输命令和数据。
2,RTSP协议(1)是流媒体协议。
(2)RTSP协议是共有协议,并有专门机构做维护。
.(3)RTSP协议⼀般传输的是 ts、mp4 格式的流。
(4)RTSP传输⼀般需要 2-3 个通道,命令和数据通道分离。
3,HTTP协议(1)不是是流媒体协议。
(2)HTTP协议是共有协议,并有专门机构做维护。
(3)HTTP协议没有特定的传输流。
(4)HTTP传输⼀般需要 2-3 个通道,命令和数据通道分离。
⼆、可⽤的直播流地址通常我们进⾏ RTMP/RTSP 开发时,除了可以⾃⼰搭建视频服务器来进⾏测试外。
也可以直接使⽤⼀些电视台的直播地址,省时省⼒。
下⾯是我收集汇总的⼀些视频直播地址,亲测可⽤。
1,RTMP协议直播源⾹港卫视:rtmp:///live/hks2,RTSP协议直播源珠海过澳门⼤厅摄像头监控:rtsp://218.204.223.237:554/live/1/66251FC11353191F/e7ooqwcfbqjoo80j.sdp⼤熊兔(点播):rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov3,HTTP协议直播源⾹港卫视:/live/hks/playlist.m3u8CCTV1⾼清:/hls/cctv1hd.m3u8CCTV3⾼清:/hls/cctv3hd.m3u8CCTV5⾼清:/hls/cctv5hd.m3u8CCTV5+⾼清:/hls/cctv5phd.m3u8CCTV6⾼清:/hls/cctv6hd.m3u8苹果提供的测试源(点播):/streaming/examples/bipbop_4x3/gear2/prog_index.m3u8三、播放软件推荐:VLC要播放视频直播流,或者测试⼀个直播视频地址是否可以使⽤。
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协议是一种用于实时流媒体控制的协议,它可以实现实时流媒体的连续控制和广泛的交互性。
竭诚为您提供优质文档/双击可除rtsp协议,c语言篇一:Rtsp协议学习笔记第一部分:总体概述一、流媒体概念流媒体包含广义和狭义两种内涵:广义上的流媒体指的是使音频和视频形成稳定和连续的传输流和回放流的一系列技术、方法和协议的总称,即流媒体技术;狭义上的流媒体是相对于传统的下载-回放方式而言的,指的是一种从internet上获取音频和视频等多媒体数据的新方法,它能够支持多媒体数据流的实时传输和实时播放。
通过运用流媒体技术,服务器能够向客户机发送稳定和连续的多媒体数据流,客户机在接收数据的同时以一个稳定的速率回放,而不用等数据全部下载完之后再进行回放。
二、流媒体协议实时传输协议(Real-timetransportprotocol,Rtp)是在internet上处理多媒体数据流的一种网络协议,利用它能够在一对一(unicast,单播)或者一对多(multicast,多播)的网络环境中实现传流媒体数据的实时传输。
Rtp通常使用udp来进行多媒体数据的传输,但如果需要的话可以使用tcp或者atm等其它协议,整个Rtp协议由两个密切相关的部分组成:Rtp数据协议和Rtp控制协议。
实时流协议(Realtimestreamingprotocol,Rtsp)最早由Realnetworks 和netscape公司共同提出,它位于Rtp和Rtcp之上,其目的是希望通过ip网络有效地传输多媒体数据。
实时流传输协议Rtsp(Real-timestreamingprotocol,RFc2326)、实时传输协议(RtpReal-timetransferprotocol,RFc3550)、实时传输控制协议(RtcpReal-timetransportcontrolprotocol,RFc1889)、会话描述协议(sdpsessiondescriptionprotocol,RFc2327)。
目前在流媒体传输技术中使用最多的就是基于Rtsp/Rtp的流媒体传输。
RTSP协议详解中文版RTSP(Real Time Streaming Protocol)是一种用于控制媒体流传输的应用层协议。
它在传输数据之前,通过建立控制信道,协商会话参数,完成媒体流的控制和管理。
本文将详细介绍RTSP协议的各个方面。
RTSP协议中,客户端发送请求,服务器回复响应,请求和响应的消息格式基于文本,并且可以使用多种传输协议(如TCP或UDP)进行通信。
RTSP协议定义了丰富的方法(Method),以便客户端可以控制会话的各个方面。
常用的方法包括OPTIONS,DESCRIBE,SETUP,PLAY和TEARDOWN。
OPTIONS方法用于查询服务器支持的方法,客户端可以通过此方法获取服务器的能力信息。
DESCRIBE方法用于获取媒体会话的描述信息,客户端可以通过此方法获得媒体流的信息,例如编码格式和媒体地址。
SETUP方法用于建立媒体流的传输通道,客户端可以通过此方法告知服务器自己的传输能力,并请求服务器向其指定的地址发送数据。
服务器可以根据实际情况来进行响应,例如选择合适的传输协议(如TCP或UDP)以及传输端口。
PLAY方法用于开始播放媒体流,服务器会将实时传输协议(RTP)数据发送给客户端。
客户端可以通过TEARDOWN方法来终止会话,服务器在接收到TEARDOWN请求后会释放资源并关闭连接。
总结起来,RTSP协议是一种用于控制媒体流传输的应用层协议。
它使用文本消息格式,在客户端和服务器之间建立控制信道,并通过方法来实现会话管理和媒体流的控制。
RTSP协议具有可扩展性和灵活性,可以与其他协议结合使用,适用于不同的应用场景。
rtsp协议详解RTSP(Real Time Streaming Protocol)是一种用于控制多媒体数据流传输的网络协议。
它是一种应用层协议,通常用于流媒体服务器和客户端之间的通信,以便实现实时音频和视频的传输。
RTSP协议是由IETF(Internet Engineering Task Force)制定的,它的设计目的是为了支持实时多媒体会话,如实时音频和视频的传输。
RTSP协议的工作原理是通过建立和维护一个会话来控制多媒体数据流的传输。
它使用客户端-服务器模型,客户端和服务器之间通过RTSP协议进行通信。
在建立会话时,客户端向服务器发送RTSP请求,服务器响应这些请求,并建立一个会话来传输多媒体数据。
在会话期间,客户端可以向服务器发送控制命令,如播放、暂停、停止等,以控制多媒体数据流的传输。
RTSP协议使用的是TCP或UDP协议进行数据传输。
在建立会话时,客户端和服务器之间会协商使用的传输协议和端口号。
一般情况下,实时多媒体数据的传输会使用UDP协议,而控制命令的传输会使用TCP协议。
这样可以保证实时多媒体数据的传输稳定性和实时性。
RTSP协议的消息格式包括请求消息和响应消息。
请求消息由客户端发送给服务器,用于请求建立会话或发送控制命令;响应消息由服务器发送给客户端,用于响应客户端的请求。
请求消息和响应消息都包括起始行、消息头和消息体。
起始行包括请求行或状态行,消息头包括一些控制信息,消息体包括一些实体数据。
RTSP协议支持多种控制命令,如PLAY、PAUSE、TEARDOWN等。
这些控制命令可以用于控制多媒体数据流的传输,如开始播放、暂停播放、停止播放等。
这样可以让客户端和服务器之间实现灵活的控制和交互。
总的来说,RTSP协议是一种用于控制实时多媒体数据流传输的网络协议。
它通过建立和维护会话来实现多媒体数据的传输和控制,支持多种控制命令,可以实现客户端和服务器之间的灵活交互。
在实际应用中,RTSP协议被广泛应用于流媒体服务器和客户端之间的通信,为实时音频和视频的传输提供了有效的支持。
RTSP协议的实时流媒体传输与视频播放控制随着网络技术的迅速发展,实时流媒体传输与视频播放控制成为了现代多媒体领域的热门课题。
其中,RTSP(Real Time Streaming Protocol,实时流传输协议)作为一种通信协议,被广泛应用于实时流媒体的传输与控制。
本文将探讨RTSP协议的原理、功能和应用,并分析其在实时流媒体传输与视频播放控制中的关键作用。
一、RTSP协议的原理与基本工作方式RTSP协议是一种应用层协议,基于客户端/服务器模型,用于控制实时流媒体传输过程中的媒体会话。
它通过建立控制连接和传输连接,实现了流媒体的传输与控制分离。
控制连接负责处理与媒体会话相关的操作指令,而传输连接则负责实际的媒体数据传输。
在RTSP协议中,客户端发起请求,服务器通过回复实现相应操作。
客户端可以向服务器发送各种控制指令,如播放、暂停、停止、快进、快退等。
服务器则对这些指令进行解析,并进行相应的操作,如传送媒体数据、调整播放速度、发送状态消息等。
二、RTSP协议的功能与特点1. 实时流媒体传输:RTSP协议可以有效地传输实时流媒体数据,支持多种流媒体格式,如音频、视频、文本等。
它通过控制连接与传输连接的配合,实现了高效可靠的流媒体传输。
2. 视频播放控制:RTSP协议具备丰富的视频播放控制功能,可以实现播放、暂停、停止、快进、快退等操作。
用户可以根据需求调整播放状态,实现对视频内容进行灵活的控制。
3. 与其他协议的结合:RTSP协议兼容性较好,可以与其他相关协议相结合,如RTP(Real-time Transport Protocol,实时传输协议)用于媒体数据的传输,SDP(Session Description Protocol,会话描述协议)用于描述会话的相关参数等。
4. 开放式标准:RTSP协议是一种开放式标准,其规范和实现代码均可供公众访问和使用。
这使得开发人员可以根据实际需要进行定制和扩展,以满足不同应用场景的需求。
RTSPRTSP(Real Time Streaming Protocol),实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学、网景和RealNetworks公司提交的I ETF RFC标准。
该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。
RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或RTP完成数据传输。
HTTP与RTSP相比,HTTP传送HTML,而RTP传送的是多媒体数据。
HTTP 请求由客户机发出,服务器作出响应;使用RTSP时,客户机和服务器都可以发出请求,即RTSP可以是双向的。
RTSP是用来控制声音或影像的多媒体串流协议,并允许同时多个串流需求控制,传输时所用的网络通讯协定并不在其定义的范围内,服务器端可以自行选择使用TC P或UDP来传送串流内容,它的语法和运作跟HTTP 1.1类似,但并不特别强调时间同步,所以比较能容忍网络延迟。
而前面提到的允许同时多个串流需求控制(Mul ticast),除了可以降低服务器端的网络用量,更进而支持多方视讯会议(Video Co nference)。
因为与HTTP1.1的运作方式相似,所以代理服务器〈Proxy〉的快取功能〈Cache〉也同样适用于RTSP,并因RTSP具有重新导向功能,可视实际负载情况来转换提供服务的服务器,以避免过大的负载集中于同一服务器而造成延迟。
该协议用于C/S模型,是一个基于文本的协议,用于在客户端和服务器端建立和协商实时流会话。
实时流协议(RTSP)是应用级协议,控制实时数据的发送。
RTSP提供了一个可扩展框架,使实时数据,如音频与视频,的受控、点播成为可能。
数据源包括现场数据与存储在剪辑中数据。
该协议目的在于控制多个数据发送连接,为选择发送通道,如UDP、组播UD P与TCP,提供途径,并为选择基于RTP上发送机制提供方法。
实时流协议(RTSP)建立并控制一个或几个时间同步的连续流媒体。
RTSP协议进⾏视频取流的⽅法、注意点及python实现在视频应⽤中,我们⼀般都需要基于摄像头或录像机的视频流进⾏⼆次开发,那么就涉及到如何将视频流取出来。
在摄像机安装好之后,⼀般是通过局域⽹与本地的服务器进⾏连接,要取录像机的视频流就要在局域⽹范围内进⾏操作。
步骤:1)获取摄像机的IP地址、配置的⽤户名和密码,按照格式写出RTSP协议地址码2)⽤VLC⼯具连接,测试是否可以取出视频流3)python中通过opencv读取视频流详细说明:1)摄像机的IP地址、配置的⽤户名和密码是已知的参数,在安装的时候即已配置好。
RTSP协议地址码根据所⽤摄像机的型号来定,以海康摄像头为例(来⾃于海康的客服):★⽬前海康录像机、⽹络摄像机,⽹络球机的RTSP单播取流格式如下(车载录像机不⽀持RTSP取流):rtsp://⽤户名:密码@IP:554/Streaming/Channels/101→录像机⽰例:取第1个通道的主码流预览rtsp://admin::554/Streaming/Channels/101取第1个通道的⼦码流预览rtsp://admin::554/Streaming/Channels/102取第1个通道的第三码流预览rtsp://admin::554/Streaming/Channels/103取第12个通道的主码流预览rtsp://admin::554/Streaming/Channels/1201→⽹络摄像机/⽹络球机⽰例:取主码流的URL:rtsp://admin::554/Streaming/Channels/101★如果是多播取流的话,则使⽤以下路径rtsp://⽤户名:密码@IP:554/Streaming/Channels/101?transportmode=unicast→录像机⽰例:取第1个通道的主码流预览rtsp://admin::554/Streaming/Channels/101?transportmode=unicast2)我⼀般先⽤VLC⼯具测试是否可以取出视频流,当然这⼀步不是必须的。
RTSP协议学习笔记目录RTSP协议学习笔记 (1)第一部分:RTSP协议 (3)一、RTSP协议概述 (3)二、RTSP协议与HTTP协议区别 (3)三、RTSP重要术语 (4)1.集合控制(Aggregate control): (4)2.实体(Entity): (4)3.容器文件(Container file): (4)4.RTSP会话(RTSP session): (4)四、RTSP请求消息 (4)1.消息格式: (4)五、RTSP回应消息 (5)1.消息格式: (5)六、RTSP重要方法 (5)1.OPTIONS: (6)2.DESCRIBE: (6)3.SETUP: (7)4.PLAY: (8)5.PAUSE: (9)6.TEARDOWN: (10)七、RTSP重要头字段参数 (10)1.Accept: (10)2.Bandwidth: (10)3.CSeq: (11)4.Rang: (11)5.Session: (11)6.Transport: (11)八、简单的RTSP消息交互过程 (11)1.第一步:查询服务器端可用方法 (11)2.第二步:得到媒体描述信息 (11)3.第三步:建立RTSP会话 (12)4.第四步:请求开始传送数据 (12)5.第五步:数据传送播放中 (12)6.第六步:关闭会话,退出 (12)第二部分:SDP协议 (12)一、SDP协议概述 (12)二、SDP格式 (13)三、SDP示例 (14)第三部分:MMS协议 (14)一、MMS协议概述 (14)第一部分:RTSP协议一、RTSP协议概述RTSP(Real-Time Stream Protocol)是一种基于文本的应用层协议,在语法及一些消息参数等方面,RTSP协议与HTTP协议类似。
RTSP被用于建立的控制媒体流的传输,它为多媒体服务扮演“网络远程控制”的角色。
尽管有时可以把RTSP控制信息和媒体数据流交织在一起传送,但一般情况RTSP本身并不用于转送媒体流数据。
媒体数据的传送可通过RTP/RTCP 等协议来完成。
一次基本的RTSP操作过程是:首先,客户端连接到流服务器并发送一个RTSP 描述命令(DESCRIBE)。
流服务器通过一个SDP描述来进行反馈,反馈信息包括流数量、媒体类型等信息。
客户端在分析该SDP描述,并为会话中的每一个流发送一个RTSP建立命令(SETUP),RTSP建立命令告诉服务器客户端用于接收媒体数据的端口。
流媒体连接建立完成后,客户端发送一个播放命令(PLAY),服务器就开始在UDP上传送媒体流(RTP包)到客户端。
在播放过程中客户端还可以向服务器发送命令来控制快进、快退和暂停等。
最后,客户端可发送一个终止命令(TERADOWN)来结束流媒体会话二、RTSP协议与HTTP协议区别1.RTSP引入了几种新的方法,比如DESCRIBE、PLAY、SETUP等,并且有不同的协议标识符,RTSP为rtsp 1.0,HTTP为http 1.1;2.HTTP是无状态的协议,而RTSP为每个会话保持状态;3.RTSP协议的客户端和服务器端都可以发送Request请求,而在HTTPF协议中,只有客户端能发送Request请求。
4.在RTSP协议中,载荷数据一般是通过带外方式来传送的(除了交织的情况),及通过RTP协议在不同的通道中来传送载荷数据。
而HTTP协议的载荷数据都是通过带内方式传送的,比如请求的网页数据是在回应的消息体中携带的。
5.使用ISO10646(UTF-8)而不是ISO8859-1,以配合当前HTML的国际化;6.RTSP使用URI请求时包含绝对URI。
而由于历史原因造成的向后兼容性问题,HTTP/1.1只在请求中包含绝对路径,把主机名放入单独的标题域中;三、RTSP重要术语1.集合控制(Aggregate control):对多个流的同时控制。
对音频/视频来讲,客户端仅需发送一条播放或者暂停消息就可同时控制音频流和视频流。
2.实体(Entity):作为请求或者回应的有效负荷传输的信息。
由以实体标题域(entity-header field)形式存在的元信息和以实体主体(entity body)形式存在的内容组成3.容器文件(Container file):可以容纳多个媒体流的文件。
RTSP服务器可以为这些容器文件提供集合控制。
4.RTSP会话(RTSP session):RTSP交互的全过程。
对一个电影的观看过程,会话(session)包括由客户端建立媒体流传输机制(SETUP),使用播放(PLAY)或录制(RECORD)开始传送流,用停止(TEARDOWN)关闭流。
四、RTSP请求消息1.消息格式:方法URI RTSP版本CR LF消息头CR LF CR LF消息体CR LF其中方法包括OPIONS、DESCRIBE、SETUP、PLAY、TEARDOWN等,URI是接受方的地址,例如:rtsp://192.168.0.1/video1.3gp。
RTSP版本一般都是RTSP/1.0。
每行后面的CR LF表示回车换行,需要接受端有相应的解析,最后一个消息头需要有两个CR LF消息体是可选的,有的Request消息并不带消息体。
五、RTSP回应消息1.消息格式:RTSP版本状态码解释CR LF消息头CR LF CR LF消息体CR LF其中RTSP版本一般都是RTSP/1.0,状态码是一个数值,用于表示Request 消息的执行结果,比如200表示成功,解释是与状态码对应的文本解释.六、RTSP重要方法1.OPTIONS:用于得到服务器提供的可用方法;如:OPTIONS rtsp://192.168.20.136:5000/xxx666RTSP/1.0CSeq:1服务器的回应信息会在Public字段列出提供的方法。
如:RTSP/1.0200OKCSeq:1//每个回应消息的cseq数值和请求消息的cseq相对应Public:OPTIONS,DESCRIBE,SETUP,TEARDOWN,PLAY,PAUSE2.DESCRIBE:客户端向服务器端发送DESCRIBE,用于得到URI所指定的媒体描述信息,一般是SDP信息。
客户端通过Accept头指定客户端可以接受的媒体述信息类型。
如:C->S:DESCRIBE rtsp:///fizzle/foo RTSP/1.0CSeq:312Accept:application/sdp,application/rtsl,application/mheg)服务器回应URI指定媒体的描述信息:如:S->C:RTSP/1.0200OKCSeq:312Date:23Jan199715:35:06GMTContent-Type:application/sdp//表示回应为SDP信息Content-Length:376//这里为一个空行//以下为具体的SDP信息v=0o=mhandley28908445262890842807IN IP4126.16.64.4s=SDP Seminari=A Seminar on the session description protocolu=/staff/M.Handley/sdp.03.pse=mjh@(Mark Handley)c=IN IP4224.2.17.12/127t=28733974962873404696a=recvonlym=audio3456RTP/AVP0m=video2232RTP/AVP31m=whiteboard32416UDP WBa=orient:portrait媒体初始化是任何基于RTSP系统的必要条件,但RTSP规范并没有规定它必须通过DESCRIBE方法完成。
RTSP客户端可以通过以下方法来接收媒体描述信息:a)通过DESCRIBE方法;b)其它一些协议(HTTP,email附件,等);c)通过命令行或标准输入设备3.SETUP:用于确定转输机制,建立RTSP会话。
客户端能够发出一个SETUP请求为正在播放的媒体流改变传输参数,服务器可能同意这些参数的改变。
若是不同意,它必须响应错误"455Method Not Valid In This State"。
Request中的Transport头字段指定了客户端可接受的数据传输参数;Response中的Transport头字段包含了由服务器选出的传输参数。
如:C->S:SETUP rtsp:///foo/bar/baz.rm RTSP/1.0CSeq:302Transport:RTP/AVP;unicast;client_port=4588-4589服务器端对SETUP Request产生一个Session Identifiers。
如:S->C:RTSP/1.0200OKCSeq:302Date:23Jan199715:35:06GMTSession:47112344//产生一个Session IDTransport:RTP/AVP;unicast;client_port=4588-4589;server_port=6256-62574.PLAY:PLAY方法告知服务器通过SETUP中指定的机制开始发送数据。
在尚未收到SETUP请求的成功应答之前,客户端不可以发出PLAY请求。
PLAY请求将正常播放时间(normal play time)定位到指定范围的起始处,并且传输数据流直到播放范围结束。
PLAY请求可能被管道化(pipelined),即放入队列中(queued);服务器必须将PLAY请求放到队列中有序执行。
也就是说,后一个PLAY请求需要等待前一个PLAY请求完成才能得到执行。
比如,在下例中,不管到达的两个PLAY请求之间有多紧凑,服务器首先play 第10到15秒,然后立即第20到25秒,最后是第30秒直到结束。
C->S:PLAY rtsp:///audio RTSP/1.0CSeq:835Session:12345678Range:npt=10-15C->S:PLAY rtsp:///audio RTSP/1.0CSeq:836Session:12345678Range:npt=20-25C->S:PLAY rtsp:///audio RTSP/1.0CSeq:837Session:12345678Range:npt=30-Range头可能包含一个时间参数。
该参数以UTC格式指定了播放开始的时间。
如果在这个指定时间后收到消息,那么播放立即开始。
时间参数可能用来帮助同步从不同数据源获取的数据流。
不含Range头的PLAY请求也是合法的。