分享

一对一直播软件开发的难点有哪些?

 云豹短视频系统 2019-10-08

一对一直播软件开发发展到现在虽不能说没有技术难度,但其中的搭建环节已相对成熟,即便是在开发中遇到了难点,也有了最基本的解决思路,今天小编就和大家捋一捋,一对一直播软件开发的难点都有哪些?

 


 

一、正确认识流媒体

流媒体直播并不是一项简单的业务,它是一个复杂的过程,涉及到文件存储、文件上传和下载视频音频编码视频采集视频转码和分发视频解码和播放数据缓存视频的录制以及负载均衡等,虽然其中的每一个环节在市场上都有了较为成熟的技术,但要把这些技术综合在一起,变成一个完善的系统,整体还是比较有难度的。

首先,流媒体直播实时性非常高,并发量和带宽都是非常高的,因此需要的机器资源也比较多。流媒体服务绕不过去的是转码,转码的核心是编解码,如果转码之后和转码之前的码率保持一致,就不需要编解码,只需要转一下封装格式就可以,耗的资源比较少。但是如果需要将流的码率和分辨率进行转换,如转换成普清高清超高清等码率格式的直播流,需要将原始直播流先进行解码,然后再进行重新编码,解码所耗的资源是固定的,编码的码率越高,耗费的资源越多。例如一台普通8核8G内存1000Mbps网卡的服务器,只能支持6路高清转码。大量的转码机器,便会带来几个比较严重的问题:例如要顾及到容错和负载均衡,要对每台机器进行监控,出现故障机器,及时用其它机器进行替换,从而把转码任务分配到负载低的机器上等。

其次,流媒体直播的流程非常长,任何一个环节出现问题都会导致直播不成功,中间环节这么长,要保证不出问题,还是非常难的。因此,流程监控是流媒体直播绕不过去的一个问题,需要对直播流的每个环节,如采集,推流,转码、分发、拉流、解码、播放进行监控。

二、网络速度要达标

网络一对一直播软件开发中永远不可回避的一个问题,用户推流到流媒体的服务器这个环节是要经过外网的,外网的网络是不可控的,怎样解决流媒体服务器的网络接入质量呢?怎样解决跨地域,跨运营商网络问题呢?那么上行流的质量是非常关键的,如果上行流的质量得不到保证,后面流程做的好,都无事于补。为了保证上行质量,需要在全国中心节点部署接入服务器,而且要就近接入。提高上行质量的同时,还需要对上行流进行容错处理,时间戳错乱,需要进行恢复,在网络丢包不严重的情况下,保证直播的播放质量。

 

三、直播BUG要留心

一对一直播软件开发中,有些坑是必须要踩的,例如花屏、绿屏、黑屏、卡顿、首次播放慢、音画不同步等花屏主要原因是用户上行直播流质量不稳定,丢包或者数据错乱导致还有一种就是用户在推流过程中,改变了推流配置,cdn对流的配置有缓存,导致cdn下发流配置与实际的流配置存在差异,从而导致花屏。绿屏和黑屏的原因多种多样,一般重推一下,就可以解决。卡顿的原因就多了如果上行流本来就卡,那么播放肯定会卡如果上行有丢帧,如果丢的好是关键帧,会导致卡用户的网络质量不稳定,也会导致播放的时候卡顿。除此之外,还有一些未知的原因,播放器下载速度太慢,导致cdn的缓存数据被覆盖,播放器的播放策略有改变,也会导致播放卡顿。首次播放时长,与播放器的缓存策略有关,有些播放器是获取到第一个关键帧就开始播放,有些播放器会缓存部分数据后,才开始播放,当然这也和用户的网络有关,同样的数据,如果用户网络不稳定,会导致传输时延比较长。至于音画不同步,主要原因是用户上行不稳定,丢包比较严重,采流设备有异常,也会导致音画不同步。

总结一下,一对一直播软件开发的各项技术都比较成熟,不存在太多的技术门槛,但其中涉及到的环节多,系统复杂,机器资源多,运维工作大,对提升直播质量,以及保持系统的稳定性,都是非常大的挑战

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多