1 RTSP学习概念

参考:
RFC中文文档:
传输协议
RTP:实时传输协议RTCP:实时传输控制协议RTSP:实时流传输协议RTMP:实时消息传输协议RTMFP:Adobe实时消息流协议(P2P协议)HTTP:超文本传输协议
RTSP:实时流协议
RTSP的请求主要有,SETUP,PLAY,PAUSE,,等,顾名思义可以知道起对话和控制作用
RTSP的对话过程中SETUP可以确定RTP/RTCP使用的端口,PLAY/PAUSE/可以开始或者停止RTP的发送
RTP:实时传输协议
RTP/RTCP是实际传输数据的协议(建立在udp和tcp协议之上,也就是调用关系)
RTP传输音频/视频数据,如果是PLAY,发送到端,如果是,可以由发送到
整个RTP协议由两个密切相关的部分组成:RTP数据协议和RTP控制协议(即RTCP)
RTCP:实时传输控制协议
是实时传输协议(RTP)的一个姐妹协议 。RTCP为RTP媒体流提供信道外(out-of-band)控制 。RTCP本身并不传输数据,但和RTP一起协作将多媒体数据打包和发送 。RTCP定期在流多媒体会话参加者之间传输控制数据 。RTCP的主要功能是为RTP所提供的服务质量( of )提供反馈
RTCP包括 和,用来进行音频/视频的同步以及其他用途,是一种控制协议
RTSP与RTP最大的区别在于:RTSP是一种双向实时数据传输协议,它允许客户端向服务器端发送请求,如回放、快进、倒退等操作 。当然,RTSP可基于RTP来传送数据,还可以选择TCP、UDP、组播UDP等通道来发送数据,具有很好的扩展性 。RTP是用来提供实时传输的,它建立在UDP之上,因而可以看成是传输层的一个子层 。

1  RTSP学习概念

文章插图

1  RTSP学习概念

文章插图
【1RTSP学习概念】一次基本的RTSP操作过程是:客户端连接到流服务器并发送一个RTSP描述命令() 。流服务器通过发送一个SDP,来描述反馈,反馈信息包括流数量、媒体类型等信息 。客户端再分析该SDP描述,并为会话中的每一个流发送一个RTSP建立命令(SETUP),RTSP建立命令告诉服务器客户端用于接收媒体数据的端口 。流媒体连接建立完成后,客户端发送一个播放命令(PLAY),服务器就开始在UDP上传送媒体流(RTP包)到客户端 。在播放过程中客户端还可以向服务器发送命令来控制快进、快退和暂停等 。最后,客户端可发送一个终止命令()来结束流媒体会话 。
C表示RTSP客户端,S表示RTSP服务端
1.第一步:查询服务器端可用方法
C->S: //询问S有哪些方法可用
S->C: //S回应信息的头字段中包括提供的所有可用方法
2.第二步:得到媒体描述信息
C->S://要求得到S提供的媒体描述信息
S->C://回应媒体描述信息,一般是sdp信息
3.第三步:建立RTSP会话
C->S: //通过头字段列出可接受的传输选项,请求S建立会话
S->C: //建立会话,通过头字段返回选择的具体转输选项,并返回建立的 ID;
4.第四步:请求开始传送数据
C->S:PLAY//C请求S开始发送数据
S->C: //S回应该请求的信息
1  RTSP学习概念

文章插图
5.第五步:数据传送播放中
S->C:发送流媒体数据 //通过RTP协议传送数据
6. 第六步:关闭会话,退出
C->S://C请求关闭会话
S->C://S回应该请求
上述的过程只是标准的、友好的rtsp流程,但实际的需求中并不一定按此过程 。
其中第三和第四步是必需的!第一步,只要服务器客户端约定好,有哪些方法可用,则请求可以不要 。第二步,如果我们有其他途径得到媒体初始化描述信息(比如http请求等等),则我们也不需要通过rtsp中的请求来完成 。