一、前言说明
推流直播就是把采集阶段封包好的内容传输到服务器的过程。其实就是将现场的视频信号从手机端,电脑端,摄影机端打包传到服务器的过程。“推流”对网络要求比较高,如果网络不稳定,直播效果就会很差,观众观看直播时就会发生卡顿等现象,观看体验比较糟糕。主流推送协议有RTMP、HLS、SRT等。RTMP是目前最主流的流媒体传输协议,对CDN支持良好,实现难度较低,是大多数的直播平台的选择。使用RTMP传输的延时通常在1–3秒,适合手机端。不过RTMP不支持浏览器,如果直播服务需要浏览器,需要另外的推送协议支持。HLS是Apple公司定义的基于HTTP的流媒体实时传输协议。HLS是以点播的技术实现了直播的体验。因为每个小文件的时长很短,客户端可以很快地切换码率,以适应不同带宽条件下的播放。但是,HLS的延迟一般会高于普通的流媒体直播协议。RTC是一个支持浏览器进行实时语音、视频对话的开源协议。RTC支持目前的主流浏览器,即便在网络信号一般的情况下也具备较好的稳定性。可以实现点对点通信,通信双方延时低,是实现“连麦”功能比较好的选择。