没想到!网络美女直播背后的真相居然是这样

文/季亮

有一次不经意进了优酷的美女直播间,被主播的乖巧卖萌和满屏的飞机大炮深深震撼。据调查报告显示中国网络直播平台大约有200家,且最高的美女主播年薪有300万,让人不禁感叹能靠颜值吃饭是件多么愉快的事情。然而作为程序猿,还是让我们来看一下直播背后的实现原理吧。

1从美女直播说起


没想到!网络美女直播背后的真相居然是这样_第1张图片


图一

图中的GotyeLive是个云服务厂商,提供直播服务的SAAS平台。其实原理很简单,直播的美女在客户端录制视频,并上传至云服务器最后分发给客户端观看。所谓视频直播业务就是将来自采集设备(或者从卫星地面接收站)的视频数据在服务器侧进行重新编码封装,再通过流媒体协议传输到用户端进行播放的过程。

流媒体传输一般分为两类:实时媒体流和顺序媒体流。顺序媒体流即顺序下载媒体流,媒体下载的同时用户可在线播放,但它是一种点播技术,不支持广播。我们这里说的视频直播以及平时大家接触到的华为视讯会议里用到的都是实时媒体流(华为视讯会议用到的RTSP后续会讲)。其中视频直播应用比较多的是基于纯网页的实时流媒体,技术上来说,在PC端,FLASH技术是首选,在移动端,HLS技术则是首选。

2视频直播协议,一般是RTMP+HLS

没想到!网络美女直播背后的真相居然是这样_第2张图片

图二

采用FLASH技术,通讯上有3个选择:采用RTMP协议,RTMPFP协议和HTTP协议。这里我们介绍下RTMP,其他的大家自行Google。RTMP(REAL TIMEMESSAGING PROTOCOL)协议是ADOBE的私有协议,也是FLASH通讯技术中使用比较广的协议。在单流中使用RTMP协议,可以得到远比HTTP协议更低的延迟(5秒内,但基本上也很难达到),同时,对音视频流的变化提供了更丰富的处理手段。虽然使用RTMP+CDN(内容分发网络)可以满足大多数直播需求,但是延迟依然是所有基于文件传输方案的直播平台的痛点,这也是华为视频会议中采用RTSP等专有协议的原因。

目前传统的视频直播平台(PC端)大多都使用RTMP传输协议,比如NBA直播和大家都懂的六间房。虽然FLASH普及率很高,但还是需要用户安装插件,且IPHONE/IPAD等不支持FLASH。

下面我们来看看作为移动端首选的HLS技术,这也是华为RSE录播服务器中使用的技术。

HLS技术(HTTP LIVE STREAMING)首先出现在苹果产品中(iOS3.0开始成为标准功能),安卓从3.0开始支持HLS。HLS的一个特点是把直播流分割成一个个小片段供播放器下载播放。它最大的优势在于移动浏览器本身都会基于HTML5标准实现对HLS的支持,所以播放器实现非常简单,但这也是它的最大问题所在,特别是在安卓平台上:不同的浏览器对HLS的支持实现并不相同,而且还受移动硬件影响严重(为了性能,需要对音视频处理采用硬件解码方案),所以经常会碰到这种情况:同样的音视频流,在IPHONE和大多数安卓上播放都很完美,而在一些手机上播放却出现各种问题。

2014年,华为苏研所年终晚会现场直播就是用的华为的RSE做的直播方案:Apple浏览器通过HLS协议 + HTML5,其他浏览器通过HLS协议 + JWPlayer(录播服务器推送内置播放器到浏览器,帮助浏览器进行解析播放),可以做到无插件直播。当时从我个人现场使用情况来看,效果还是相对不错的。

从长远来看,通过在我们eSDK的云端实验室里部署录播服务器,可以给开发者做定期的直播培训和技术宣讲,为建设开放生态圈添砖加瓦,如果能邀请到美女小兰酱当主播肯定就爆棚了。

3开放视频领域给开发者

最后我们从开放性上来看看,视频直播领域是怎么开放给开发者的(都成职业习惯了)。以百度开放的直播云服务为例,大家可以参照图一和下图了解百度是怎么开放的。(图片来源于百度云官网)

没想到!网络美女直播背后的真相居然是这样_第3张图片


图三

百度提供直播“采集端-服务端-播放端”全套定制开发SDK,采集端从直播源获取直播推流送到服务端,服务端完成直播流的处理(包括转码、加密等),播放端进行播放。虽然百度竞价排名不靠谱,但从整体解决方案的成熟度来说做的还是不错的。

BTW,我还是喜欢乐视华而不实的宣传主页:(图片来自于乐视云官网)

没想到!网络美女直播背后的真相居然是这样_第4张图片

(更多华为资讯请关注华为开发者社区,华为自己的对外开放门户:http://developer.huawei.com/cn/ict/ ,不要问我叫啥,别人都叫我雷锋

没想到!网络美女直播背后的真相居然是这样_第5张图片

你可能感兴趣的:(个人直播)