B站团队是目前少数在生产环境中部署QUIC的视频平台,收益明显。在面对未来网络基础设施升级的背景下,如何让视频传输更流畅、稳定是各视频服务平台必须面临的挑战。LiveVideoStack邮件采访了哔哩哔哩高级工程师王盛,他畅谈了热门技术的未来。

文 / 王盛

整理 / LiveVideoStack

LiveVideoStack:王盛你好,简单介绍下自己的工作经历,以及在B站负责的工作内容和感兴趣的技术方向。

王盛:我叫王盛,2014年硕士毕业于东南大学,第一份工作就职于美国国家仪器公司,随后2016年加入B站,在B站主要负责点直播系统的演进,主要工作内容有:

  1. 研发高吞吐低延迟的CDN技术;

  2. 研发多策略高可用的中控服务;

  3. 研发强大的视频云数据支撑平台;

近2年来,我一直深耕视频云行业的新鲜技术,对音视频的网络传输优化、信源信道联合网络传输的优化感兴趣。

LiveVideoStack:根据思科的报告,2022年,5G流量站到整个移动设备流量的12%。5G对于多媒体传输带来哪些本质变化呢?

王盛:5G在网络传输的效率上有质的提升,特别对音视频类富媒体的传输,传输的速度和体验得到大的提升,用户更加愿意消费视频。个人认为真正的"全民移动视频的大时代"将要真的到来了。

LiveVideoStack:未来几年,哪些行业与场景(如IoT,自动驾驶等)会成为多媒体传输触达的领域呢?

王盛:在线视频娱乐社交、视频实时监控、物联网、AR/VR等领域。

LiveVideoStack:像TCP和DASH提供了统一的网络和容器标准,您看好哪些标准正在变得越来越重要和流行?

王盛:个人比较看好Http/3(QUIC)标准、DASH容器标准,另外还有Akamai的CMAF(Common Media Application Format)容器,主要在低延迟的优势上。

LiveVideoStack:一些专业公司提供出色的网络传输技术,但他们的标准是私有的,这可能在与其他标准服务切换过程中存在高风险和成本,同时可能是企业保护自己的一种策略。您如何看待开放标准与私有标准的价值与利弊?

王盛:开放标准能够使得更多的人参与其中,丰富其生态圈,降低企业或者个人使用新技术的门槛,但是开放标准意味着每个人都能看到其背后的实现原理和潜在漏洞,这些漏洞一旦被利用,会引发严重的安全问题。

私有标准我个人觉得主要是商业上的考量,公司的核心技术竞争力,但是私有标准往往很难于现有众多现有技术标准兼容,很多小公司往往力不从心投入大量人力物力做这种私有标准。作为程序员,我比较喜欢开放标准,毕竟可以参与到一些新技术和新标准的学习研发上来。

LiveVideoStack:基于UDP的QUIC和SRT备受关注,许多公司开始在生产环境下应用,展现出一定的优势。与此同时,TCP还在不断优化中。您如何评价UDP与TCP的优势与不足?作为企业应该如何抉择?对此,您有哪些建议?

王盛:TCP作为一个年代很久的网络传输协议,而且是广泛运用的网络传输协议, 没有之一。TCP的实现于OS内核有非常多的优化,并且兼容了各种复杂的网络环境,也正因为此,TCP协议标准在很久之前设计的时候,尚未考虑目前高速发展的互联网。TCP协议很多机制,比如三次握手建联、慢启动、确认重传机制等, 已经不适合一些网络传输场景。因此近些年基于UDP的QUIC和SRT也备受关注,比如QUIC协议优化了建联机制、重传机制等,但是UDP协议毕竟不常用,存在被运营商QoS策略限制的情况,需谨慎使用。

个人建议,可以事先整理当前业务场景使用TCP的痛点,评估这些痛点是否值得迁移至UDP协议栈上来,再做决策。

LiveVideoStack:接下来聊聊QUIC在B站的实践。在项目启动前,你们是如何评估QUIC的成本与收益的?在生产环境上线后,是否达到了设计目标?未来还有哪些改进计划?

王盛:由于产品形态的原因,B站在线视频没有开场广告,这使得B站用户对视频首帧的感受极其重要,这也是我们考虑上线QUIC协议的出发点,在项目启动前,视频云通过对比实验发现,QUIC协议传输比HTTP/TCP传输带宽成本增加约2%,收益是首帧降低8%,卡顿率降低3%,并且能够在极端弱网环境(20%丢包)下0卡顿观看视频。正式生产环境上线后,确实达到了设计目标,但是目前还存在一些地区和运营商未达预期的情况,主要问题还在定位和优化中。未来计划是在QUIC协议之上做很多和视频传输特殊场景结合的优化。

LiveVideoStack:越来越多的企业采用一家甚至多家云端的多媒体服务,这些云服务需要通过API来互相对接。统一、强壮、易用的API对于多媒体生态是否有促进作用呢?

王盛:统一的云服务API能够提升整个行业的研发效率,方便快速接入和上线,但是我个人觉得目前要做到云服务API统一比较困难,难点在于每家云服务内部实现架构都可能不一样,比如B站采用的是中心式的CDN调度方式,而很多其他厂商使用的分布式的CDN调度方式,在对接使用和策略下发上存在配合困难,而且每个云服务的使用者业务形态都存在不一样的情况,架构往往没有最好,只有更适合。

LiveVideoStack:网络的本质就是把数据从一端传输到另一端,保证数据及时(低延迟,高带宽)、准确(数据完整性)、安全和更低的成本。对于多媒体传输而言,您认为有哪些更深刻的挑战?

王盛:个人认为网络传输需要配合其载体的特征,对于视频传输,低延迟是个永恒的话题,但是对"准确"的理解我认为不一定需要数据完整,网络传输只要做到"视频观看者错误无感"即可,比如网络传输可以选择丢弃部分视频帧的数据包。网络传输本身往往关注自身的协议标准,与传输什么样的载体无关,两者互不相关,要做联合优化的挑战比较大。

点击【阅读原文】或扫描图中二维码了解LiveVideoStackCon 2019 上海 音视频技术大会 最新日程信息。

王盛:QUIC让B站在20%丢包时实现零卡顿相关推荐

  1. Chrome打开网页不慢,但是卡顿,滚动滚轮卡顿,打开b站等特定网址卡顿问题解决

    新装了台电脑,chrome和以前的电脑一模一样,但是就是出现打开网页不慢,但是卡顿.滚动滚轮浏览网页时卡顿,打开b站等特定网址卡顿等问题,并且只有chrome存在这个问题,edge不存在.起初以为是硬 ...

  2. 计算机网络王盛邦pdf,依据网络的技术计算机CP网络实验课程体系.pdf

    第29卷第4期 实验室研究与探索 V01.29No.4 2010年4月 ANDEXPLORATIONINLABORATORY Apr.2010 RESEARCH 基于网络技术的计算机网络实验课程体系 ...

  3. 某站卖20的百度爬虫页面自动繁殖程序+教程自动SEO优化 附视频教程

    百度爬虫页面自动繁殖程序+教程自动SEO优化 附视频教程 某站卖20元: 源码说明 这款是百度爬虫页面自动繁殖泛目录程序.附视频教程 1. 只需采集关键词,无需更新任何文章.内容 2. 页面自动繁殖, ...

  4. 使用QUIC协议实现实时视频直播0卡顿

    一. 视频直播的痛点:卡顿 卡顿是最影响直播体验的因素之一,也是最难解决的问题之一.在流媒体的传输链路中,任何一个环节丢包都可能导致用户观看卡顿. 其中,主播端的推流卡顿最影响观看体验,会直接影响到所 ...

  5. 齐齐哈尔计算机二级,2020齐齐哈尔市计算机二级报名时间|网上报名入口【8月20日9时开通】...

    &nbsp&nbsp[导读]:2020齐齐哈尔市计算机二级报名时间|网上报名入口[8月20日9时开通],更多黑龙江等级考试报名时间.考试时间以及考试模拟试题,请访问易考吧黑龙江等级考试 ...

  6. Win10系统edge浏览器b站全屏卡顿的解决方法--win10专业版

    最后有win10系统用户反映在使用edge浏览器全屏观看b站视频的时候都遇到了卡顿的情况,体验感觉非常不好,那么edge浏览器b站全屏卡顿怎么办呢?就此问题,今日小编手把手教你Win10系统edge浏 ...

  7. 深度Linux如何安装驱动程序,在Deepin 20系统下手动安装N卡闭源驱动64-440.31.run的步骤...

    本文介绍在深度Deepin 20系统下手动安装N卡闭源驱动的详细步骤,以安装NVIDIA-Linux-x86_64-440.31.run为例. 前言 深度Deepin 20自带三种版本的N卡驱动,如果 ...

  8. 珠穆朗玛币王:11月22日是谁丢了136亿美元

    珠穆朗玛币王:11月22日是谁丢了136亿美元 昨天,一篇名为"上百亿美元比特币已永久丢失"的微博,在短时间内登上热搜榜. 这篇文章的根源,是区块链数据分析服务提供商Coin Me ...

  9. deepin桌面为什么那么卡_在Deepin 20系统中使用4K分辨率使桌面假死和卡顿的解决方案...

    在deepin 20系统中把分辨率调到4K就会使桌面出现假死和卡顿,如果调到1080p或其它稍低的分辨率就不会出现任何情况.经过排查,把dde-kwin卸载并换成deepin-wm就可以解决问题. 问 ...

最新文章

  1. html中item属性,项目id(属性) | itemid (attribute)
  2. GAN眼中的图像翻译(附神奇歌单)
  3. Spring-Cloud 从0开始(二) Eureka-Client
  4. Javascript中的AES加密和Java中的解密
  5. python有序队列_【Python】:拓展Queue实现有序不重复队列
  6. 透视前端工程化之 Webpack 基本介绍【文末有彩蛋~】
  7. codeforecs Gym 100286B Blind Walk
  8. 01-03 Linux常用命令-文本处理
  9. mysql读写分离实现事务_Mysql读写分离后的事务ce
  10. 同时安装 Python 2 和 Python 3环境下 pip 的使用
  11. 大连理工大学c语言大作业,大连理工大学c语言大作业报告.docx
  12. ESP8285调试 IOT_Demo
  13. 2节串联锂电池充电管理IC芯片,5V,12V升降压解决方案
  14. java mediatype属性_Java MediaType.MULTIPART_FORM_DATA_TYPE属性代码示例
  15. 爱了爱了!ALIENWAER外星人AW410K机械键盘Cherry茶轴RGB灯光全键无冲!免费包邮送到家!...
  16. 红孩儿编辑器的模块设计12
  17. Cannot create PoolableConnectionFactory (Communications link failure due to unde
  18. java兵临城下_CentOS6.4 64位系统安装jdk
  19. Qt创建停靠悬浮窗口实例
  20. DRL实战:DDPG A3C | Gym环境中经典控制问题Pendulum-v0

热门文章

  1. DOM与元素节点内联样式
  2. 只允许特定的组用户su切换到root
  3. enum to IEnumerableT
  4. 关于Html中jsp调用Android中方法无效的一点建议
  5. 破解sina新浪邮箱密码
  6. 开店攻略: 购买行为越来越冲动性
  7. HDU 4332 Constructing Chimney [状态压缩+矩阵]
  8. CodeForces - 681D Gifts by the List(思维)
  9. 中石油训练赛 - Cafebazaar’s Chess Tournament(FFT)
  10. 中石油训练赛 - 手机号码(简单分块+思维)