元湃直播系统|浅析直播系统中经常会遇到的一些难点
原来,你只需要找一家靠谱的CDN,然后找一个大概能用的播放器就能做出来,还可以找外包,甚至可以自己招一个人做,但是现在直播已经发展到了移动端,尤其是移动直播火了以后,门槛自然变得高了。今天,元湃小编就视频直播系统中遇到的一些难点和大家分享一下:
1 、首先内容产生方就是推流端。
现在主流的 安卓、IOS,
小编觉得IOS还比较简单,
就是那个几个机型,
基本上只要适配都很好。
但是安卓的碎片化是非常严重的,
大量的精力都需要做对安卓的适配,
而且软编耗电量普遍非常高,
手机用了一会就会发烫,
都担心会不会爆炸。
用户体验就是在不同的网络情况下,
上传的视频有可能会卡,
有可能不连贯,
报各种各样的错误,
这个是作为一个开发者他自己不可能去适配的。
说白了从用户那边提的需求就是推流端不能卡,
画质要好,
不能太烫,
这是我们接触到的客户真正提的问题,
是我们从有点偏技术的角度抽取出来的,
它背后对应的是哪些事情。
2 、然后是分发网络。
分发网络其实躲在一个很后面的地方,
用户其实看不见的。
真正对分发网络提需求用户也提不出来,
所以基本这部分需求都会提给播放端,
提的需求也是不能卡,
不能花屏,
首屏一定要快,
一点就要看到,
还不能把延时弄的太大。
其实这些很多都是和源站分发网络有关系的,
只是用户看不到这个需求会跟后面的播放器接在一起。
像首屏时间,
就是用户点开就要看,
以前那些开源架构就是 rtmp server,
它是做不到一点开就能看的,
现在一些开源的国内资源写得也比较好了,
可以看到,
我们是自己开发的,
所以也花了一些工作,
能保存之前的关键帧的信息,
用户一点开就能看,
这个就是很细节的东西了。
如果这个做不好的话,会黑屏、绿屏,或者是半天看不着图像。
3、在播放器这边也是我们在接业务的时候
遇到用户投诉最多的,
因为所有的问题都是在观看的时候体现的,
所有的雷都得是播放器的同学去扛。
这个需求也是不能卡,不能延迟太高。
如果延迟高了,要追回来,
追的时候声音不能变,
最好是追的策略也能自己控制,
这是用户真正提出来的需求。
要满足这些需求,
我们需要做好多分辨率的适配,
保证好流畅性,
保证好我们追赶的策略不会出现任何异常。
所以这三个端很多是相互耦合的,
像推流和分发在一起,
要保障好用户的流畅性和画质,
分发和播放器在一起要保证好低延时和播放的流畅。
所有的这些需求里共同的一点就是不能卡顿。