我们在做视频播放做缓冲的时候,会在本地开启一个服务器,通过这个服务器去请求线上的服务器做缓冲,实现边下边播,不过一提到边下边播很多人就会想到这种方式,但是为什么要这么做呢?我为什么不是类似图片缓存一样,下载到本地,然后从本地路径里面去读缓存呢?记得当时入职看看的时候,公司前辈说下载库的逻辑是在本地开一个服务器,然后去做边下边播,当时一直不知道为什么,后来才明白。
这里最主要的原因是考虑到程序的可扩展性和可移植性。想一下,多数情况下我们做的播放库是要实现跨平台的,如果是下载到本地,那针对不同的系统我们是不是都要去考虑文件存储路径的问题?iOS和Android的存储路径肯定不一样吧。其次我们要针对线上服务器和本地缓存做两套播放逻辑。而如果我们在本地开启一个服务器做缓存呢?如果我们想用边下边播,我们就请求本地服务器,如果不想使用缓存,我们直接请求远端服务器,而对于我们的播放库来说,只不过是请求的服务器不同罢了,在逻辑上不用做任何修改。这样,上面的问题都解决了,想到这个方案的人真的太天才了。
网友评论