加拿大快乐8最快开奖
当前位置:首页 > 开发教程 > 手机开发 >

如何搭建直播源码平台,视频直播服务器系统搭建解决方案

时间:2019-07-24 10:00 来源: 作者:山东布谷鸟网络科技 浏览: 收藏 挑错 推荐 打印

当下,视频直播行业在中国逐渐走红。从游戏到秀场,从传统的网页端到移动互联网,各大直播平台包括斗鱼、虎牙战旗还有纯移动端的映客、花椒等,群雄割据。
当下,视频直播行业在中国逐渐走红。从游戏到秀场,从传统的网页端到移动互联网,各大直播平台包括斗鱼、虎牙战旗还有纯移动端的映客、花椒等,群雄割据。接下来从技术的角度分析如何搭建一个自己的直播平台。

一、移动直播系统搭建推流端需要做哪些工作?
直播推流端即主播端,主要通过手机摄像头采集视频数据和麦克风采集音频数据,经过一系列前处理、编码、封装,然后推流到CDN进行分发。

1、直播系统搭建采集
移动直播SDK通过手机摄像头和麦克风直接采集音视频数据。其中,视频采样数据一般采用RGB或YUV格式、音频采样数据一般采用PCM格式。采集到的原始音视频的体积是非常大的,需要经过压缩技术处理来提高传输效率。

2、直播系统搭建前处理
在这个?#26041;?#20027;要处理美颜、水印、模糊等效果。美颜功能几乎是直播的标配功能。我们调研中发现太多case是因为没有美颜功能被抛弃使用的。另外国家明确提出了,所有直播都必须打有水印并回放留存15天以上。

美颜实际上是通过算法去识别图像中的皮肤部分,对皮肤区域进行色值调整。通过颜色?#21592;日业?#30382;肤区域,可以进行色值调整、添加白色图层或调整透明度等来达到美白效果。在美颜处理方面,最著名的GPUImage提供了丰富的效果,同时可以支持iOS和Android,支持自己写算法实现自己最理想的效果。GPUImage内置了120多种常见滤镜效果,添加滤镜只需要简单调用几行代码就可以了。

3、直播系统搭建编码
为了便于手机视频的推流、拉流以及存储,通常采用视频编码压缩技术来减少视频的体积,现在比较常用的视频编码是H.264。在音频方面,比较常用的是AAC编码格式,其它如MP3、WMA也是可选方案。视频经过编码压缩大大提高了视频的存储和传输效率,当然,经过压缩后的视频在播放时必须进行解码。

相较于之前的H.264,2012年诞生的H.265编解码标准有了相当大的改善,做到了仅需要原来一半带宽?#32431;?#25773;放相同质量的视频,低于1.5Mbps的网络?#26448;?#20256;输1080p的高清视频。像阿里云、金山云都在推自己的H.265编解码技术,随着直播的快速发展和?#28304;?#23485;的?#35272;担琀.265编解码技术已有全面取代H.264的趋势。
另外,硬件编码已经成为移动直播的首选方案,软编码处理在720p以?#31995;?#35270;频颓?#21697;?#24120;明显。在iOS平台上硬件编码的兼容?#21592;?#36739;好,可以直接采用,但在Android平台上,Media Codec编码器针对不同的芯片平台表现差异还是非常大的,要完全实现全平台兼容的成本还是非常高的。

4、直播系统搭建推流
要想用于推流还必须把音视频数据使用传输协议进行封装,变成流数据。常用的流传输协议有RTSP、RTMP、HLS等,使用RTMP传输的延时通常在1–3秒,对于移动直播这种实时性要求非常高的场景,RTMP也成为移动直播中最常用的流传输协议。最后通过一定的Qos算法将音视频流数据推送到网络断,通过CDN进行分发。在直播场景中,网络不稳定是非常常见的,这时就需要Qos来保证网络不稳情况下的用户观看直播的体验,通常是通过主播端和播放端设置缓存,让码率均?#21462;?#21478;外,针对实时变化的网络?#32431;觶?#21160;态码率和帧率也是最常用的策略。


当然,在网络传输方面全部自己来做基本不现实,找提供推流服务的CDN服务商提供解决方案是最好的选择。据了解,阿里云是国内唯一能自研CDN缓存服务器的厂商,性能非常有保障。当然,大多数直播平台都会同时接入多个视频云服务提供商,这样可以做拉流线路互备,对推流后视频集群再进行优化?#37096;商?#39640;直播的流畅性和稳定性。

二、直播系统搭建播放器端需要做哪些工作?

在播放器端如何做到秒开,直播过程中保证画面和声音清晰度的同时,稳定、流程、无卡顿的直播流量,这些工作都需要播放器端配合服务端来做优化,做到精?#36820;?#24230;。
1、直播系统搭建拉流

拉流实际是推流的逆过程。首先通过播放端获取码流,标准的拉流格式有RTMP、HLS、FLV等。RTMP是Adobe的专利协议,开源软件和开源库都支持的比较好,如开源的librtmp库,播放端只要支持flashPlayer的就能非常简单的播放RTMP直播,直播?#26144;?#19968;般在1–3秒。

HLS是?#36824;?#25552;出的基于HTTP的流?#25945;?#20256;输协议,HTML5可以直接打开播放,通过微信、QQ等软件分享出去,用户?#37096;?#20197;直接观看直播,可以说移动直播app,HLS拉流协议是必须支持的,缺点是?#26144;?#36890;常大于10秒。FLV(HTTP-FLV)协议是使用HTTP协议传输流?#25945;?#20869;容的一个协议,也不用担心被Adobe的专利绑架,直播?#26144;?#21516;样可以做到1–3秒。

2、直播系统搭建各拉流协议的差异:
我们使用的云服务的直播拉流技术提供了以上三种格式,满足不同业务场景的需求,如对?#35789;?#24615;要求较高或有互动需求的可以采用RTMP或FLV格式进行直播拉流播放;对于有回放或跨平台需求的,推荐使用HLS。当然,三?#20013;?#35758;是可以同时使用的,?#30452;?#29992;到自己的场景就可以了。

当然本文中的直播系统搭建解决方案只是最简单的,对于直播服务器集群,直播间的创建和管理,直播间直播密码和权限,内容分发网络CDN进行简单讲解。
如何搭建直播源码平台,视频直播服务器系统搭建解决方案转载<\/script>');

手机开发阅读排行

最新文章

加拿大快乐8最快开奖
抢21游戏规则 jdb电子试玩2000 pc蛋蛋北京28开奖官方网站 板球比分网址 平码4中4多少倍 超级大乐透加长版 北京快3三形态走势图 有没有最稳的彩票计划软件 福彩3d试机号天中图库 qq三国45副本赚钱东西