百科 > IT百科 > 百科学堂 > 正文
百科学堂

让肥宅无延迟见血小板 B站“强拆”了进度条

  就算你手持4G无线流量卡,就算你坐拥百兆宽带,那又怎么样?遇上信号不好、网络波动,追番的你还是要忍受Loading动画在你眼前颐指气使——就喜欢你看不惯我又干不掉我的样子

bilibili

  不过这样的日子终于要结束了。

  为了把Loading动画干掉,B站将引入Dynamic Adaptive Streaming over HTTP(又称为MPGE-DASH)技术,翻译成中文来说就是网络动态自适应流媒体技术。

  在介绍DASH技术之前,我们先来回顾一下视频网站常见的流媒体方案。

  我们最熟悉的视频格式莫过于FLV和MP4,在新方案出来之前,几乎所有的视频网站都是采用「整段加载」的FLV或MP4格式(可以理解成进度条加载完,整个视频也下载完了)。

整段FLV或MP4

  采用这样的方案原因很简单,一是格式简单,便于压制;二是兼容性高,能够适应多种平台。但其缺点也很明显,随着视频时长增加,整段视频(尤其是MP4格式)体积会变得非常庞大,导致拉取和加载就会变得极为缓慢。无限剑制的咏唱就变成这种模样——

  「体は剣で出来ている

  血潮は鉄で 心...Loading中...は硝子

  几たびの戦场を越えて...Loading中...不败

  ...Loading中...ただの一度も败走はなく

  ただの...Loading中...一度も理解されない 」

  估计是怕被贱骨头(理论上不止)拿去祭天,B站攻城狮们在16年的时候选择了分段FLV的方案。分段FLV意思就是把整段FLV分割成一个一个小段,用户想看哪里点哪里,视频也就只加载落点的那一小段。不用从0%开始,加载速度自然更快了。

分段FLV

  然而即便是在分段的情况下,高清晰度视频还是比较难保证播放中途或者拖拽时不出现缓冲的情况。于是,就有了即将引入的DASH。

  按奶粉的理解,DASH技术其实可以看做是分段FLV的升级版,两者根本的区别在于前者可以自动调整视频码率,而后者在默认情况下只能一个码率播到底。

DASH

  具体来说,DASH会通过MPD(Media Presentation Description)将视频内容切割成一个个很短的文件片段,每一个片段拥有不同的视频码率,DASH Client(即用户端)可以根据网络状况选择一个码率播放,不同码率之间可以实现无缝切换。

视频码率:数据传输时,单位时间传送的数据位数。码率越大,画质越好。我们平时在视频右下角选择的360P、720P、1080P分别对应500kbps、2000kbps和3000kbps码率。

  下图很好地解释了DASH的应用流程:当客户端检测到网速不佳时,原本1080P(3000kbps)清晰度的视频会预先将下一个片段切换至480P清晰度;当网速充足时,客户端则会预先将下一个片段切换到更高清晰度的规格。不论网速怎样,你都能及时追上血小板!

DASH

  为了让大家更直观地感受这个「无缝切换」的过程,奶粉截取了最早引入DASH技术之一的YouTube的视频片段。大家留意看右下角的清晰度变化,随着网速不断上升,视频清晰度从144p逐步切换至240p、480p,但整个播放过程没有出现丝毫的卡顿脱节。

Youtube

  不过「无缝切换」并不代表「无感切换」,从720p到240p的清晰度变化对于绝大多数人来说还是肉眼可辨的。对于番薯们的终极渴望——「不卡+清晰」,DASH只是最大程度地优化了前者。要想实现后者的慢网看高清,到底还是看压制技术,而这一天尚有时日。

  B站在这个时候引入DASH,除了为了提升用户体验之外,更大的原因在于自身国际化进程的要求。属于B站的纳斯达克之钟已经敲响,要想实现「无国界地用爱发电」,技术国际化必不可少。

哔哩哔哩

  在B站之前,YouTube、Netflix、Hulu这些站在塔尖上的老大哥已经完成了DASH的部署。这相当于默认了DASH作为下一代国际流媒体技术标准的事实。因此,将引入DASH无疑是B站与国际接轨的最好选择,至少在技术上如此。

  DASH一词本身有着「猛冲」之意,或许在番薯们看来,这不仅仅是B站的猛冲,这也是二次元的一次猛冲。下一次喊口号,是不是该加一句:用爱发电,Dash,Dash!

网友评论