Real Time Streaming Protocol或者RTSP(实时流媒体协议),是由Real network 和 Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。
RTSP提供一种可扩展的框架,使能够提供可控制的,按需传输实时数据,比如音频和视频文件。
RTSP对流媒体提供了诸如暂停,快进等控制,而它本身并不传输数据,rtsp作用相当于流媒体服务器的远程控制。
传输数据可以通过传输层的tcp,udp协议,rtsp也提供了基于rtp传输机制的一些有效的方法。
RTSP交互过程
备注:C表示RTSP客户端 S表示RTSP服务端
1. 先发OPTIONS命令,查询课用的方法
C->S:OPTIONS request //询问S有哪些方法可用
S->C:OPTIONS response //S回应信息中包括提供的所有可用方法
2. 发送 DESCRIBE命令,获取SDP信息
C->S:DESCRIBE request //要求得到S提供的媒体初始化描述信息
S->C:DESCRIBE response //S回应媒体初始化描述信息,主要是sdp
3. 建立音视频会话(设置TCP/UDP传输模式)
C->S:SETUP request //设置会话的属性,以及传输模式,提醒S建立会话
S->C:SETUP response //S建立会话,返回会话标识符,以及会话相关信息
4. 开始播放 PLAY
C->S:PLAY request //C请求播放
S->C:PLAY response //S回应该请求的信息
5. 服务端发送音视频RTP数据包
S->C:发送流媒体数据
。。。。
6. 客户端,继续往服务端发送OPTIONS心跳信息
7. 客户端发送TEARDOWN,结束会话
C->S:TEARDOWN request //C请求关闭会话
S->C:TEARDOWN response //S回应该请求
常用RTSP播放器
VLC、大牛直播SmartPlayer、ijkplayer、Vitamio Player、Pot Player.