赞
踩
实时流协议(Real Time Streaming Protocol,RTSP)与HTTP同等级的应用层网络协议(基于TCP,传输&控制协议)
RTSP消息分为两大类,一类是请求消息(request),一类是回应消息(ressponse)
RTSP信令交互采用TCP方式,在应用层交互开始前建立一个TCP(三次握手四次挥手) socket(套接字)用来作信令交互,叫做TCPSockfd( 套接字描述符)
常见信令:
功能:请求用于返回服务端支持的 RTSP 命令列表
功能:用于请求指定的媒体流的SDP描述信息
在DESCRIBE之后,我们建立一个UDP的socket,用于RTP包的传输,UDPSockfd
bind到一个端口,比如:26958
功能: 命令用于配置数据交付的方法
SETUP之后有必要做一个natdetect:私有信令
,这个信令是用UDPSockfd
发的,收也是UDPSockfd
来收,这样就做了一个nat穿越
NAT_DETECT
功能:请求流
功能:暂停
功能:心跳作用
也是用UDPSockfd来收的,用来处理边界值
实时传输协议(Real-time Transport Protocol)一般不作为单独应用层协议处理
RTP传输音频/视频数据,如果是PLAY,Server发送到Client端,如果是RECORD,可以由Client发送到Server
整个RTP协议由两个密切相关的部分组成:RTP数据协议和RTP控制协议(即RTCP)
实时传输控制协议(Real-time Transport Control Protocol)是实时传输协议(RTP)的一个姐妹协议
RTCP包括Sender Report和Receiver Report,用来进行音频/视频的同步以及其他用途,是一种控制协议
实时消息传输协议(Real Time Message Protocol)基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种
RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信
用来解决多媒体数据传输流的多路复用(Multiplexing)和分包(packetizing)的问题,优势在于低延迟,稳定性高,支持所有摄像头格式,浏览器加载 flash插件就可以直接播放
RTSP发起/终结流媒体、RTP传输流媒体数据 、RTCP对RTP进行控制、同步
RTSP VS RTMP
RTSP虽然实时性最好,但是实现复杂,适合视频聊天和视频监控;
RTMP强在浏览器支持好,加载flash插件后就能直接播放,所以非常火,相反在浏览器里播放rtsp就很困难了。
媒体流传输和接收通道
媒体流会话控制通道
基于TCP的RTSP负责信令控制
总结起来:1)RTSP传输一般使用UDP,信令交互采用TCP,协议基于TCP;2)RTP协议基于UDP
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。