方案一:RTMP协议
1、 技术原理
RTMP 全称是实时消息传输协议(Real Time Messaging Protocol),主要用在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信,可以传输AMF格式的数据和FLV的音频/视频数据。从采集端到流媒体服务器再到播放端是一条数据流,传输数据时,消息(message)会被拆分为消息块(chunk)单元传输,消息块是固定大小的。
优点:
- 应用支持广泛,基本上所有的编码器都支持RTMP输出,默认成为编码器输出的工业标准协议,可很好支持校园广播嵌入式的网络设备。
- 稳定性高,当网络状况不好时,RTSP协议会出现丢包现象,而RTMP协议可以在一个传输周期内自动调节传输速率,做到稳定传输RTMP流,且长时间不断,适合长时间运行的校园广播系统。
- RTMP的服务更成熟一些,部署也方便,可选择流媒体服务器如:FMS、RED5及Wowza。
缺点:
- FLV缓存占较大内存,会消耗服务器较多资源。
- 延时在1-3秒,相对RTSP较长。
方案二:RTSP协议
1、 技术原理
RTSP全称实时流传输协议(Real Time Streaming Protocol),实际上RTSP充当多媒体服务器的网络远程控制作用,一般情况RTSP本身并不用于转送媒体流数据。媒体数据的传送是通过RTP/RTCP等协议来完成的,最终已控制信息和媒体数据流交织在一起传送。
优点:
- RTSP可以是双向的,客户端和服务器都可以发出请求,也能够对正在从服务器下载的实时数据的客户端进行控制。
- RTSP为双通道传输,音视频数据是基于udp传输,控制命令基于TCP传输。
- 实时性好,一般在0.5秒左右,但是当网络不好时容易丢包、抖动等。
缺点:
- 服务端实现较复杂,没有RTMP成熟、部署简单。
- 音视频数据传输是基于UDP协议的,当网络不好时容易产生丢包、时延和抖动,稳定性不如RTMP。
- 对于正在进行的校园广播,RTSP传输必须匹配连接带宽,对于网络状况较差时,就会导致图像质量因网络速度降低而变差。
对比分析:
从以上来看,对于校园广播需求来说,要求实时广播、一对多传输、分别控制各路传输音视频信号,RTMP和RTSP之间并没有特别明显的优势差距,都可以对传输的音视频信号进行控制、一对多传输,对比如下:
1、RTMP在实时性上不如RTSP,但是,对于RTMP的1秒的延时的校园广播来说还是可以接受的。
2、而且当网络状况不好时,RTSP传输必须匹配连接带宽,导致图像质量会因网络速度降低而变差。RTMP可以在传输期间根据用户连接的速度进行调整传输速率,降低丢包率,稳定性较高。
3、RTMP的服务更成熟一些,部署也方便。
方案选择
根据对比分析结果可以看出,从稳定性、复杂度来看,RTMP要比RTSP更加适合校园广播,再加上本身音视频知识水平有限,选择成熟一点技术对以后工作帮助会更大一些,因此校园广播系统传输协议选择RTMP。