首先是用户up内容时就⚎🐕⛑卡顿、延迟,上传后的内容直接在网站端原格式存放,导致看的时候解码器效率不统一。同一个网站上的视频有些是p4格式的,有些是.avi格式的,还有peg。一个网站服务器端的视频格式🈺🃙😑越乱,用户端需要浪费的计算和传⛾输资源就越多,视频自然就卡了。
不过这方面也只有大部分不专业的网站才会犯这个错误,我就听说加州那🄆🞦🖕边有个新开的叫youtube的网站,在这方面选择了‘在服务器端预处理、无论用户up的是什么视频,网站方都重新统一格⛎🙑式编码、压缩’,利于将来用统一高效解码器播放。
这方面我们经过优化之💰🕞后做得比youtube更好,因为youtube没有自己的浏览器产品,而我们有支付宝安全浏览器,还有支持网页游戏的插😃⚗件库。只要用户使用我们兄弟🐋♺🍜公司的浏览器看视频,解码效率和网速能够得到更好的挤占。
其次,用户在播放时的第二大卡顿原因,是视频缓冲的打包性目前市面上所有网站,包括youtube,都是一个视频文件从头缓冲到尾的,这一点在播放小文件时没有问题,但是要转播综艺节目就有⛎🙑很大麻烦了,因为用户会希望跳过一些片段,而现有模式是不支持快速跳看的。
为了解决这一点,我们最近创新性地讨论了几个对策,主要就是把视频进行分画质档次、分段进行‘切片’,把同一个文件,按照270p和180p两种分辨率,在服务器端备份两份文件。同时把长时间的大文件切片成一个个3分钟一段的短视频,如果用⛾户大范围拖动进度条的话,就把前面几个3分钟🎻🖑的缓冲包跳过,直接从中段开始集中下载……”
姚健说了很多技术🈁🞤🖅细节,顾诚也不必全🟗部都理解透彻。
他抓大放小,🍤大致上总结出了今关于解决卡顿♽🍸🌺的主要思路:能够在服务器这边多浪费一些资源搞定的事情,就少用一些客户端那边⛺🝰的资源。
宁可服务器端浪费5💙💔分的预处理计算量,也不要客户🜾🇱端🅤🈢⛦多用1分预处理计算量。
这种优化思路无疑是正确的。
因为暴雪公司,也是这么优🉇🅍🅑化即将上市的《魔兽世界》的。
《魔兽世界》之所以比同期同画质、同建模、同数据量的网游不卡顿,诀窍就在这儿,一丝一缕地从“我们多运算、多🖔💔给分步与处理结果,让用户电📏🙻🏦脑🌡🀫⛚少运算、网速传输数据量尽量变少。”r