RTSP发起/终结流媒体之后,再通过RTP协议传输流媒体数据 ,RTCP对RTP进行控制,同步。既然叫协议就要满足各自的标准,比如各自协议里面的头、参数、步骤(比如RTP步骤包含tcp/udp协议),每一层都有自己的封装,然后发送出去,接收方按照各自协议解析出来。
RTSP:实时流协议
· RTSP的请求主要有DESCRIBE,SETUP,PLAY,PAUSE,TEARDOWN,OPTIONS等,顾名思义可以知道起对话和控制作用
· RTSP的对话过程中SETUP可以确定RTP/RTCP使用的端口,PLAY/PAUSE/TEARDOWN可以开始或者停止RTP的发送
RTP:实时传输协议
· RTP/RTCP是实际传输数据的协议(建立在udp和tcp协议之上,也就是调用关系)
· RTP传输音频/视频数据,如果是PLAY,Server发送到Client端,如果是RECORD,可以由Client发送到Server
· 整个RTP协议由两个密切相关的部分组成:RTP数据协议和RTP控制协议(即RTCP)
RTCP:实时传输控制协议
· 是实时传输协议(RTP)的一个姐妹协议。RTCP为RTP媒体流提供信道外(out-of-band)控制。RTCP本身并不传输数据,但和RTP一起协作将多媒体数据打包和发送。RTCP定期在流多媒体会话参加者之间传输控制数据。RTCP的主要功能是为RTP所提供的服务质量(Quality of Service)提供反馈
· RTCP包括Sender Report和Receiver Report,用来进行音频/视频的同步以及其他用途,是一种控制协议
RTMP:实时消息传输协议
做直播用的比较多,主播把视频推到服务器上,服务器再把音视频分发到各个用户,是应用层的协议。RTMP协议中基本的数据单元称为消息(Message)。当RTMP协议在互联网中传输数据的时候,消息会被拆分成更小的单元,称为消息块(Chunk)。
HTTP:超文本传输协议
需要将视频下载到本地,没有下载不能播放
oRTP 是一款开源软件,实现了 RTP 与 RTCP 协议。 目前使用 oRTP 库的软件主要是linphone(一款基于IP 进行视频和语音通话的软件)。
oRTP作为 linphone 的 RTP 库,为基于 RTP 协议传输语音和视频数据提供保障。