从技术层面来看,如何完成直播间搭建
原创:  云豹直播 2019-12-09

过去的几年,视频直播成为最耀眼、抢手的行业,无数人想要加入其中,从游戏平台到现在平台分类达到十几种,从PC端直播到移动端直播为主,直播行业的流量也不再局限在斗鱼、虎牙、战旗,而是呈现流量分散的情况。对于想要加入其中的朋友,只了解功能架构方面的知识是远远不够的,在技术层面也要略知一二。

timg (2).jpg

直播视频中的采集,由主播通过电脑、手机摄像头等采集设备完成,采集视音频流,编码后通过RTMP协议,推流到直播服务器,这里采用H.264编码对视频流进行编码,使用AAC对音频流进行编码。

在安卓端使用摄像头采集视频流,我们使用到了开源项目javacv,它包含一些在计算机视觉领域应用比较多的库,我们主要用到的是FFMpeg库,使用这类库我们可以更方便的将从Android摄像头采集到的帧传输到服务器。

对采集后的音视频处理完成后,直播服务器会对采集端推送的流进行处理,之后等待播放端的请求,接收到请求后,服务器会使用RTMP或HLS协议将流推送到播放器。

timg_副本.jpg

如果对实时性要求较高,那么使用RTMP协议较好,尤其是在网页端有Flash插件支持,不过到2020年,Flash插件就不存在了,这对RTMP协议的使用还是有些影响的。移动端如果对实时性要求不高,那么采用hls比较好。

直播服务器方面,可以使用srs开源项目,它支持RTMP/HTTP/RTSP等协议的流输入,支持RTMP/HDS/HLS/HTTP等协议的流输出,同时它也支持集群。关于srs的安装和使用可以直接看它在github上的wiki,需要注意的一点是该项目在centos 6.xubunut 12.x上能正常编译通过。

一对一7_副本.jpg

播放器端,使用多种播放器和库在全平台实现RTMP和hls的播放,在网页端使用了videojs,在安卓端使用vitamio

本文中的解决方案是最简单的,对于直播服务器集群,直播间的创建和管理,直播间直播密码和权限等都没有涉及,但对于了解整个直播业务流程还是很有帮助的。

本文章声明原创,转载请注明出自云豹科技www.yunbaokj.com


文本标签: 直播间搭建
上一篇:从技术层面来看,如何完成直播间搭建 下一篇:手机端如何实现直播系统源码的完整搭建