专栏/使用QUIC协议观看B站视频

使用QUIC协议观看B站视频

2018年07月24日 09:19--浏览 · --喜欢 · --评论
粉丝:1868文章:2

作者介绍: wang_and_sheng, 一个喜欢研究菜谱的程序员。

0. B站怎么就使用QUIC协议了?

最近和B站的相关技术人员瞎聊下来得知他们正在点播视频上部署一套新的视频内容传输技术, 具体的叫QUIC(Quick UDP Internet Connections)协议。这货到底是什么技术, 据说可以提升视频观看体验, 我怀着好奇的心去研究了一下, 现给大家分享一下, 由于个人能力与见识有限, 不足之处希望大家提出来。


1. 怎么用QUIC看B站视频?

前提条件:

  • Chrome浏览器, 据说目前只有Chrome浏览器支持了QUIC协议, 我也打听到B站的移动端开发的同学正在紧锣密鼓地开发APP的QUIC协议。

  • 我个人打听到, 目前B站的视频服务器也并不是全部支持QUIC的, 我个人使用的是上海电信, 能够使用上QUIC的比例大概在30%左右。

  1. 打开Chrome浏览器, 在地址输入chrome://flags/#enable-quic, 将标志设置为Enabled。

Chrome设置QUIC协议

2. 重启浏览器后, 打开B站, 随便点开个点播视频(直播、小视频除外), 然后检查是否使用QUIC协议进行视频播放, 检查方法如下:

    2.1 按下F12进入浏览器调试信息界面。

    2.2 选取Network->Protocol, 如果Protocol显示spdy则表示目前是使用QUIC协议进行视频内容传输的。

Chrome查看视频数据窗口

    2.3 或者在浏览器地址栏输入chrome://net-internals/#quic, 如果看到QUIC sessions里面有acgvideo.com域名的会话也表示目前使用了QUIC协议。

Chrome查看QUIC会话窗口
2. asd

2. 专业介绍QUIC协议

熟悉网络传输协议的同学可能知道, 目前近乎所有互联网上的数据都是通过TCP协议进行传输的, 与TCP协议并存的还有个UDP协议, QUIC协议简单来说就是在UDP协议上模拟了TCP的传输功能, 所以QUIC是Quick UDP Internet Protocol的简称。QUIC协议在整个网络协议中的位置如下图所示:

QUIC协议是由大名鼎鼎的Google公司提出出来的一个网络传输协议, QUIC协议有什么好处以至于Google在Youtube上全面部署:

QUIC协议的位置


  • 和Http/2一样的多路复用的特性;

  • 更好地适应网络丢包情况下的传输;

  • 更快地首数据传输;

  • 更方便实验和评估网络拥塞控制策略;

在这里, 我只是给大家简单说明下QUIC协议的概念, 如果想进一步深入了解这个QUIC协议的话, 可以参考:

  • 《下一代通信协议QUIC》https://knownsec-fed.com/2018-01-19-xia-yi-dai-tong-xin-xie-yi-quic

  • 《科普:QUIC协议原理分析》 https://zhuanlan.zhihu.com/p/32553477

  • 《七牛云技术分享:使用QUIC协议实现实时视频直播0卡顿》http://www.52im.net/thread-1406-1-1.html

  • 《Google QUIC协议:从TCP到UDP的Web平台》 http://www.infoq.com/cn/articles/quic-google-protocol-web-platform-from-tcp-to-udp

  • 《QUIC wiki》https://en.wikipedia.org/wiki/QUIC

  • 《QUIC谷歌官网》https://www.chromium.org/quic

3. 题外话:B站为什么要用QUIC协议?

因为个人是在互联网工作,和B站的技术同学也算有所交往, 沟通下来得知, B站部署QUIC协议主要是提升用户体验, 因为现在市面上视频网站能够不打广告的所剩无几, 没有广告的话用户对视频第一个画面的感受极其重要(视频首帧)。如果在视频一开始的位置加上广告, 视频内容可以在广告播放的过程中慢慢传输, 也不会影响用户体验。

从我个人感受出发, 感觉B站确实是真的为用户体验下功夫, 没有广告、提升视频质量(60帧视频)、及时处理用户反馈等都做得非常好, 据说他们内部技术人员是向Youtube看起的, 我个人也希望他们加油加油, 让小破站变得更好。



投诉或建议