欢迎光临,新启科技

如何快速搭建在线直播系统?

2017/1/5 17:39:26

             在直播+风靡全球的大环境下,直播市场如火如荼,为适应市场需求,如何搭建一个安全、稳定、低延迟、高并发的在线直播系统呢?
             直播技术专家李浩曾说:欲开发一款好的在线直播系统,关键是用户体验,必须要做到三点,即卡顿、延迟、界面反应;即使您的直播内容和推广方式花样百出,如不能保证这三大核心点,您的直播平台依然不可能在直播市场取得胜利。
一、直播+分类:
直播+教育、直播+秀场、直播+游戏、直播+电商、直播+互动、直播+监控
二、直播要求不一:
直播+教育:教育直播的专注度比较高,核心要求是端对端的延迟;
直播+秀场:秀场直播的环境相对复杂些,所以对直播平台有较高的流畅度;
直播+游戏:游戏直播的要求是实时性,所以对直播平台的高清和流畅度要求严格;
直播+新闻:新闻直播讲究的是客观性,所以对直播平台的稳定性要求严格;
所以,直播对不同行业关注点不同,后台技术也不尽相同。
三、基本业务需求:
             虽然业态不同,但万变不离其宗,本质还是相同的,那么需要重点注意的有哪些?
1、数据采集:
             由于硬件技术快速发展,pc、手机端直播数据的采集已不是难题,所以,相对技术难点在于网络适配。需要以用户网络环境允许的条件下,调整系统编码参数、多协议拉流、软硬件解码、多分辨率追帧等基础,还要解决缓存、数据同步等技术,那么直播就能实现流畅。
2、分发和媒体处理:
            当前,除了几个超级企业的直播平台,有自己的技术团队外,一般分发和多媒体处理工作,都由开发公司完成,比如,通知、传输、转码、水印、截图等匹配功能。
3功能系统:
            对于这一块是根据行业来定的,不同的行业需求不同,功能也就不同,需要量身制作比如人气、道具、打赏、支付等功能,有的行业必须具备,而有的行业可有可无。但是这也是直播平台技术的难点,例如弹幕功能,弹幕发送量大、频率高,会给系统带来巨大压力;所以,必须采取分区的方式加以解决,且逻辑明确。这样才能将直播平台的人气维持。
4、运营系统:
           无论是哪个行业,对运营系统要求都是绝对的,比如、聊天、监控、数据分析、质控等都是必不可少的。
四、关键性技术:
1、视频帧:
            视频帧简单地说是一个一个的视频单元,视频单元分成三种,分别叫I帧、P帧、B帧。I帧可通俗地理解为就是一张图片,体积也会比较大,B帧和P帧它是一个参考帧。
            关于直播流,最主要的帧是I帧,由I帧引申出来的就叫GOP。通常在直播上看到的延时,因为在内部直播流缓存延时,叫GOP cache。对于一个CDN系统来说,传输延时只是延时的一小部分,还有一部分是产生在用户流里面的GOP cache。所以直播平台如果要降低延时,首先建议调一下上行流的编码参数,调低I帧间隔。
2、码率:
             码率一般也分三种:CBR、VBR、ABR。
CBR是固定码率,可用于保证网络专线带宽是可控的场景。
VBR是可变码率,它不好的地方在于,画面变化剧烈,它的码率跳变会特别大。
ABR在直播的实际应用中用的最多,即在质量和码率上做一个均分,控制一个平均值。
3、编码、封装:
            封装:类似于一个桶,它可把不同编码格式的音视频装在一起,好的封装格式是能兼容很多种的音视频的编码格式的。    
            编码:则是把原始数据压缩的更小,像视频编码这种原始信息量大的,目前的编码方式已经把信息冗余度做的很低,如果出现丢帧,会导致视频的花屏。
五、直播架构:
            直播系统分为主播端、服务端和观看端;主播端就相当于数据源,而观看端就相当于订阅者,简单地也可以理解为生产者与订阅者的关系。那怎样让订阅者有较好的体验呢,简单地讲,可以说是主播端生产信息如何快速地传输到订阅者端。
            首先是传输组网,即主播端将直播推流到cdn节点,然后经cdn节点快速分发到观看端
            其次是功能系统是否健壮。一个直播系统的好坏,成败其实一部分在于传输的顺畅;    
六、三大核心点:
1、卡顿:
导致卡段的三种因素:
第一、主播端上传卡顿,系统采集原始数据不能保证效果,因此观看端效果不佳;
第二、网络波动导致卡顿;
第三、节点负载没能控制好;
第四、被调度和终端网络问题;
2、延时:
降低延迟的方法:
第一、视频GOP缓存;
第二、改变传输协议;
第三、放弃数据,保证音视频的实时。
3、界面反应:
            要想做到界面秒开,就必须关注组网方式、网络覆盖率和传输协议的优化程度。这些方面的工作做的越细,程序反应速度就会越快。