自从2019年春节回来之后,5G直播就如雨后春笋一般,各大公司和运营商都在推行5G 4K、8K高清直播,当然,这也就卖火了insta360这款设备了,各家都在用这个设备做360全景高清4k、8k直播,我们对接的有移动、联通、华为,都是用的这款设备;
insta360全景采用的也是RTMP推流直播的方式,唯一区别于我们大众常见的直播,就是码率非常大,一般都到15M~30M,所以,一般的网络条件,看起来就非常卡,这就是运营商做这个高码率直播所在的优势了,带宽可以随便加;
大家会疑问了,这个8k直播跟普通的直播不就码率上有差别吗,同样都是转发,没觉得有什么难度的。
年初刚刚接到华为的这个需求的时候,我们也是这样想的,码率而已,转发就是了,但是遇到现场的情况是,单路码率一旦超过8Mbps,画面就会开始卡顿,哪怕是本机播放都不行,我们也对比了一些常用的开源RTMP服务器nginx-rtmp、red5、crtmpserver这些,都是同样的现象,码率超高就不行;
后来经过多个昼夜的调试,终于在19年8月份成功发布了EasyDSS支持高清高码率视频直播的版本;
在这个过程中,主要积累的经验有几点:
- 底层核心要反复不断调优,例如我们之前不断优化过的gettimeofday这种;
- 磁盘I/O会影响程序的效率,尤其是磁盘I/O到达瓶颈的时候;
- 上层回调响应要及时,像nginx这种单线程worker运行的架构,尤其是要考虑到回调的响应;
目前EasyDSS在多家运营商的5G试点中都得到了非常广泛的好评: