近年来,网络视频直播成为互联网行业的热点话题,在国内更是出现了“全民直播”的景象。而网络视频直播的实现需要借助于流媒体直播协议,以及推拉流技术。
了解流媒体直播协议是什么?先要知道什么是流媒体?流媒体是指采用流式传输的方式在Internet上播放的媒体格式,而手机直播系统中的流媒体直播协议则是指,手机直播平台流媒体传输时支持的网络协议内容。
流媒体协议种类有许多,但广泛应用于手机直播系统中的却有限。常用的流媒体直播协议有:RTP、RTCP、RTSP、RTMP、HTTP、HLS、WebRTC、UDP等。
RTP和RTCP协议通常是组合使用的,二者是建立在UDP协议之上的,以固定的数据率在网络上发送数据,客户端按照同样的速度进行观看,音视频内容播放过后,无法重复播放。
RTSP协议则是一种双向实时数据传输协议,可以允许用户进行回放、快进等操作。正是由于这一特性,因此它更适合IPTV场景,对于网络视频直播系统这种实时交互性强的场景并不是非常适用。
RTMP协议,是绝大多数手机直播系统广泛使用的流媒体直播协议,专为直播和CDN服务而生,应用在手机直播系统中延时可以控制在5秒以内,用户几乎感觉不出视频直播有延时。但由于是基于flash的无法直接在很多iOS终端场景下使用,需要借助于第三方的解码器才能正常播放。此外,在直播互动连麦场景下,连麦回声较为明显。
HTTP协议,是互联网普及后广泛使用的视频协议,它最显著的特点就是能够自适应码率流播,可以根据客户端不同的网络状态去选择不同码率的视频流,在网络不稳定的情况下有很好的适应性,但是实时性差是它的致命弱点,对于手机直播系统而言,直播延迟是影响用户体验的最大问题。
HLS协议是苹果公司基于HTTP流媒体协议开发的,主要是应用在iOS系统,支持流媒体直播和点播。由于数据仍旧是基于HTTP协议传输,因此导致了它有较高的延时,如果应用在手机直播系统中延时基本上在10秒以上。
WebRTC,是在Web端实现流媒体的协议,由Google推出的。它可以基于P2P传输方式很好的实现直播中的互动连麦,而不像RTMP协议那样会出现连麦回声,但它的推拉流和混流过程比较复杂,消耗的带宽和流量较高,虽然能让用户有很好的直播体验,但很多中小型手机直播系统平台因为架设成本高而没有选择它。
UDP协议,是一种私有协议。目前来看,是比较优秀的流媒体直播协议,带给用户的互动直播体验也是最好的,但它的应用也比较少,像YY直播平台就使用了UDP协议,而花椒直播则选择了RTMP和HLS协议。主要还是由于UDP协议现阶段面临的技术问题较多,以及全球节点部署和调度问题,这都需要专业的技术团队做服务支撑,对于很多平台运营方而言,这将是一笔不小的投入。
以上就是手机直播系统中常用的流媒体直播协议,它们的优劣势都十分明显,具体选择哪种协议,主要取决于平台运营方自己的运营需求和想要达到的用户直播体验心理阈值。
本文由云豹软件开发团队原创,转载请注明!http://m.yunbaokj.cn