RTSP协议浅析郭强2011-12-16内容•RTSP协议概述•RTSP协议组•直播架构•流媒体常见术语•同类的流媒体协议•流格式ISMAvsTS•联通协议vs标准协议•几种流媒体技术的对比RTSP协议概述RTSP:RealTimeStreamingProtocol,实时流传输协议;RTSP协议是由RealNetwork和Netcape共同提出的;RTSP协议栈:知名端口:554;RTSP语法是基于文本的,类似http协议;RTSP协议是一个流媒体协议,用于视频点播,视频会议,视频监控等等领域;RTSP中的所有的操作都是通过服务器和客户端的消息应答来完成的,其消息包括请求(Request)和响应(Response)两种;一个例子点播一个视频文件:交互流程clientserverOPTIONSDESCRIBESETUPSETUPPLAYTEARDOWNRTSP协议组•RTSP协议•RTP/RTCP协议•协同工作的协议栈数据RTPUDPRTSPTCP信令控制RTCPUDP数据RTPUDP控制RTCPUDP视频track音频track•也可以这样协同工作数据RTPRTSP信令控制RTCP数据RTP控制RTCPTCP直播架构直播软件流媒体服务器客户端客户端客户端流媒体常见术语视频编码技术,H264,MP4,WMV9,AVS;音频编码技术,AAC,MP3;容器文件,mp4,rmvb,wmv,flv;容器文件与视频编码/音频编码并无关系,其中可存放任意编码的音视频数据。注意:MP4指什么?同类的流媒体协议微软公司,MMS协议,文件格式采用wmv;苹果公司,RTSP协议,文件格式采用mp4;RealNetworks公司,RTSP协议,文件格式采用rmvb;Adobe公司,RTMP协议,文件格式采用flv;流格式ISMAvsTSISMA是互联网的标准,音频流和视频流分开,存储容器文件格式通常为MP4(或者FLV),传输流封装格式通常封装在RTP内;TS是广电的标准,音频和视频mux为一路,存储没有容器文件的概念,直接将传输流保存,传输流可以封装在RTP内,也可以直接传输。•比较:ISMA的标准,易于扩展,比如增加字幕流,或者多国语言流,或者多路视频流(480P和720P);缺点是接收端要做音视频的唇同步。•TS标准,优点是易于传输,主要是考虑调制解调无线电波信号更方便,缺点是不方便扩展。联通协议TSRTPUDPRTSPTCP信令数据RTSPTCP信令/数据RTSPRTPTSTSUDPRTSPTCP信令数据RTSPTCP信令/数据RTSPTSMP2T/RTP/UDPMP2T/RTP/TCPMP2T/UDPMP2T/TCP协议交互流程对比clientServerOPTIONDESCRIBESETUPPLAYTEARDOWNPAUSEPLAYclientServerDESCRIBESETUPPLAYTEARDOWNPAUSEPLAY协议交互对比•左边是普通标准,右边是联通标准;它们有一些区别:•普通标准使用OPTION,联通标准没有使用OPTIONS;OPTIONS用来查询服务器支持的方法;•普通标准传输数据时,每隔5秒会发送RTCP包;联通标准没有使用RTCP协议,那么有关RTCP协议的一些功能就迁移到RTSP协议了;•关于文件播放完成,普通标准,server这时发送RTCP的goodbye消息,然后client发送TEARDOWN,server响应;而联通标准是server发送ANNOUNCE,然后client发送TEARDOWN,server响应;•关于文件定位,普通标准,client发送PAUSE,然后发送PLAY携带新的RANGE来实现;而联通标准是client端直接发送携带新RANGE的PLAY命令;•关于快进和快退,联通标准是直接发送一个携带新SCALE的PLAY命令;普通标准,暂不清楚;•在数据传输协议上,普通标准只有两种RTP/AVP/UDP和RTP/AVP/TCP;而联通标准有四种MP2T/RTP/UDP和MP2T/RTP/TCP和MP2T/UDP和MP2T/TCP;•在数据传输协议的选择上,普通标准是首先尝试RTP/AVP/UDP,如果没有收到数据包,超时,TEARDOWN,然后会选择使用RTP/AVP/TCP;而联通标准是client端告诉服务端四种传输方式,然后服务端来选择传输方式;•普通标准使用的是普通RTP协议,联通标准使用了扩展RTP协议;•普通标准使用RTCP做心跳,联通标准使用了get_parameters作为心跳;几种流媒体技术的对比•IPTV类的技术•Http边下载边播放的技术•基于文件分片的技术–HttpLiveStreaming–HttpDynamicStreamingHttpLiveStreaming•描述文件:cctv5_800.m3u8•数据文件:–1.ts–2.ts–3.ts