1、rtsp协议用于控制具有实时性的数据(例如多媒体流) 的传送,对媒体流提供了诸如开始、暂停、快进等控制功能。
2、它本身并不传输数据。它体系结构上在RTP/RTCP协议之上,传输协议可多选(如TCP\UDP\组播udp\tcp)
3、RTSP是一个基于文本的协议,它的语法和操作上跟HTTP1.1类似,且都是纯文本协议,但它们也有区别:
RTSP中所有的操作都是通过服务器和客户端的消息应答机制完成的,其中消息包括请求(request)和应答(response)两种。
RTSP方法
常用:OPTIONS/DESCRIBE/SETUP/PLAY/PAUSE/TEARDOWN
2、响应报文
常用状态码
重要的首部字段
OPTIONS
一般用于客户端主动发出,获取服务器支持的方法。可以在任何时候发送,不影响服务器的状态。
注意Cseq,Public字段
DESCRIBE
客户端向服务器获取URL指定的媒体对象的描述信息,一般参照SDP协议格式,describe阶段构成了rtsp的媒体初始化阶段
SETUP
客户端向服务器请求建立会话并准备传输。请求信息主要包括流媒体传输的初始化信息
Transport: Transport字段包含客户端可以接受的传输选项列表,包括传输协议,地址端口等。服务器端也通过这个头字段返回实际选择的具体选项。
Session: Session字段标识了一个RTSP会话。Session ID 是由服务器在SETUP的回应中选择的,客户端一当得到Session ID后,在以后的对Session的操作请求消息中都要包含Session ID
PLAY
客户端主动通知服务器以SETUP指定的传输机制开始发送数据。当多个PLAY请求到达时,服务器会将PLAY请求排成队列,顺序执行,即必须等待第一个PLAY的时间完成后,才会继续处理第二个PLAY消息。
PAUSE
客户端请求服务器的媒体流传输临时暂停,不释放资源。可以通过Range参数在指定时间点暂停,也可以指定某股流暂停,例如如果指定音频流暂停,则播放将是无音状态
TEARDOWN
TEARDOWN请求停止给定URL流发送,释放相关资源。
RECOED
RECORD通知服务器方法客户端将会根据之前的描述开始记录媒体数据。
live555提供了RTSP流媒体服务器的一个开源解决方案。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。