背景
当下,视频直播行业在中国逐渐走红。在已经过去的2015年,视频直播成为互联网行业最抢眼的领域之一。从游戏到秀场,从传统的网页端到移动互联网,各大直播平台包括斗鱼、熊猫tv、虎牙战旗还有纯移动端的映客、易直播等,群雄割据。接下来让我们从技术的角度分析如何搭建一个自己的直播平台。
直播整体流程
首先是直播视频采集端,由主播通过摄像头手机等采集设备,采集视音频流,编码后采用RTMP协议1推流到直播流服务器。这里采用H.264[^H.264]编码对视频流进行编码,使用AAC2对音频流进行编码,采用这两种编码的原因是hls协议3要求使用这两种编码。 接下来直播服务器会对从采集端推送的流进行一定的处理。比如,hls协议会将视频流切片成一个个的TS视频文件缓存在服务器中,同时生成一个m3u8文件记录了视频流中的包含的TS文件。 之后如果有播放器请求某一个直播链接,服务器会使用RTMP或者hls协议将流推送到播放器。那么我们该如果根据情况选择这两种协议呢。首先,我们需要明确一点,这两种协议各有利弊。 如下所示:
| RTMP | hIS | |
| 公司 | Adobe | Apple |
| 平台支持 | FlashPlayer 等一些网页端的播放器 移动端 Vitamio |
Apple产品原生支持, Android3.0以上原生支持 桌面机的浏览器需要使用一些第三方库, 如JWPlayer |
| 延迟 | 三秒左右的延迟,实时性较高 | 根据TS长度不同而不同 ,一般会有10s以上的延迟 |
扫码关注更多优惠