概述

每一个你在网络上观看的视频或音频媒体都是依靠特定的网络协议进行数据传输,基本分布在会话层(Session Layer)、表示层(Presentation Layer)、应用层(Application Layer)

大部分底层协议内容前端无需感知,直播场景下接触较多的上层协议有RTMP、RTP、HLS、DASH等。

现在的上层协议分为流媒体专用协议(RTMP、RTSP/RTP)和基于HTTP改造协议(HLS、MPEG-DASH、MSS、HDS等)两种,像RTMP是用在流服务的专用实时消息传输协议,其它HTTP-Based协议的优势则是在传统服务上优化观看体验和快速扩展。

常用协议对比

下面两张图可以体现各个协议的特性对比

可以看出流媒体专用协议对比大多数HTTP改造协议,低延时的优点特别明显。但是缺点也存在,RTMP为Adobe公司的提案,依托Flash技术,没有成为行业标准,所以存在兼容性的问题,故Web上HTTP-FLV应用更为广泛。当然WebRTC作为一种更新的解决方案也不失为一种选择。

不同协议详细的对比可参考此文章:https://www.wowza.com/blog/streaming-protocols