2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

虎牙直播技术演变之路

  • 2021-04-14
  • 本文字数:3972 字

    阅读完需:约 13 分钟

虎牙直播技术演变之路

2021 年 3 月,虎牙交出了去年成绩单,披露发布了 2020 年 Q4 及全年财报。2020 年第四季度,虎牙总收入为 29.90 亿元,全年总收入为 109.14 亿元。作为游戏直播领域的头部企业之一,虎牙在盈利方面一直保持着稳定的增长,但在盈利背后少不了技术的支撑。那么,在基础架构技术方面,虎牙经历了哪些演变?面对新兴技术,虎牙又是如何选择和应用的?… 为了解答这些问题,InfoQ 记者采访了虎牙公司主播服务技术部副总经理徐光兴和基础保障部技术总监王华夏。

虎牙直播技术演进驱动内容创新


InfoQ:虎牙直播作为直播行业的头部平台,从技术角度看让虎牙处于领先的主要原因有哪些?技术能力在虎牙商业成功的过程中扮演着怎样的角色?


徐光兴:虎牙的战略之一就是技术驱动内容,技术能力是虎牙业务创新发展的原生动力之一。虎牙在直播技术核心方向持续投入,重点聚焦于实时内容创作与直播互动技术,在端边云实时调度、实时 AI 内容生产、实时驱动与渲染、实时美化加工、虚实互动等核心能力都取得了不错成果。这些技术能力与业务深度融合,再基于业务反馈持续优化创新,形成相互促进的良性循环,帮助虎牙在内容形式创新、用户体验两大维度获得了差异化的竞争优势。


举例来说,吃鸡游戏火爆之前,虎牙在业内率先支持蓝光 8M 高清开播,从而抓住了新游的机遇;再比如利用端边云调度和实时加工能力,业内率先实现 PC/ 移动端同时支持高清多人连麦。


InfoQ:能结合直播技术的发展演进谈谈虎牙的技术架构演进吗?有何特色?


徐光兴:直播技术演进与互联网信息传播技术的发展息息相关。信息传播经历了从最早的纯文字、到图片和语音,再到视频和直播的发展过程。在这个过程中,技术作为信息传播的载体,传输的数据量越来越大,传播的内容形式越来越丰富。


具体来看,直播技术演进主要可以分为三个阶段:


第一阶段:直播技术从最早的语音开黑房间,到语音直播,再到游戏视频直播演进。这个阶段的关键技术是大数据视频不卡不掉不延迟的传输技术,这也是虎牙一直深耕并占据优势的领域。


第二阶段:2015 年,随着移动互联网普及和智能设备成熟,视频直播迎来了快速成长的第二阶段。手机开播、蓝光高清、投屏直播、直播互动等都是在这个阶段涌现,AI 和大数据等技术也在这个时期逐渐参与到直播内容生产与分发的各个环节。


第三阶段:在第二阶段后期,主流直播平台的内容生产能力逐渐趋同。此时,直播平台必须做出差异化才能具有竞争力。虎牙通过搭建端边云结合的技术架构,并升级为内容生产加工与互动服务的内容生产网,进入到了第三阶段。突破端上算力限制,推出虚实结合的交互方式,内容质量与互动能力得到了同步提升。


InfoQ:刚刚我们结合直播技术的发展讲述了虎牙内容生产与互动技术的演进,那么底层基础技术架构,它主要会涉及到哪些方面?又是如何支撑公司整体技术运转的?


王华夏:所有支撑业务正常运行所需要的 IT 基础设施,都是基础架构的工作内容。从混合云的建设(包括机房选址到机器的选型,云厂商的选择)、资源虚拟化、资源交付,到流量接入,基础中间件服务以及依托这些服务构建的一站式 PaaS 平台。


基础架构的核心要求就是提供更稳定、性价比更高、能力更强的基础服务给上层业务,使得业务可以快速构建创新产品。



图示:虎牙基础技术架构图


而从支撑公司整体技术运转的角度看,主要包括两个方面:


1、技术能力上,是否具备前瞻性。 业务层有创新需求时,基础服务是否具备相应的能力。基础能力建设要永远跑在业务需求前面,而不是临时抱佛脚。


2、满足业务发展需求,支撑产品迭代。 实时内容创作与直播互动技术是虎牙的两大核心技术能力,相应地,它们对基础设施支持的要求也高于行业平均水准。以实时互动为例,它对网络延时、稳定性的要求极高。因此,虎牙基础架构团队在边缘计算方面做了很多工作,支持实时内容加工能力很好下沉到边缘,研发了边缘容器方案和边缘容器网络。为解决边缘公网抖动的问题,自研了“蜘蛛侠”虎牙 SDWAN 解决方案,建设了基于 ebpf 和 dpdk 的适应视频业务高带宽、低延时的高性能边缘网关。

源于社区,终于社区,虎牙如何应用实践新技术?


InfoQ:技术架构之外,具体的技术采用往往也是决定产品成败的关键,最近在直播技术方向上,你们最关心哪些新兴的技术趋势呢?


徐光兴:我们一直在关注直播互动及其相关技术的发展,例如 5G 的大带宽低时延,能否带来移动端更多直播互动玩法;VR/AR 的成熟与落地,在提升用户观看体验、塑造多元内容的同时,是否会诞生新的交互方式。


我们在直播互动领域的一次重要尝试就是虎牙首创的虚实互动技术,实现了虚实结合多人同台,将真人、虚拟人、用户、真实场景、虚拟场景等众多元素结合,打造了新颖的多人实时互动玩法,丰富了直播画面元素,增强了视觉冲击力,提升了用户的参与感。


InfoQ:能举一个通俗易懂的例子来说明虎牙是如何应用新技术的吗?取得了怎样的效果?


徐光兴:2020 年,虎牙推出了首个虚实结合 AR 直播节目《电波之夜》,让真人主播、虚拟主播、IP 等虚实多人同台,进行歌舞表演,对人物表情动作进行高质量实时捕捉,在呈现和互动效果上达到了新的高度,集中展示了虎牙的虚实结合技术。


  • 在人物形象处理上,实现了发丝级色键抠像处理、真实世界光照光源景深位置理解。此外,基于摄像机虚实追踪同步技术,实现厘米级精度场景人物精确追踪,做出真人和虚拟形象拟真的接触交互 MR 互动效果。

  • 在场景上,支持动态光线追踪和复杂光影渲染效果,呈现出了炫酷的舞台效果,实现了 3A 级场景。

  • 在实时驱动技术上,使用消费级摄像头和麦克风,对虚拟形象进行表情、肢体、语音全方位的 AI 技术驱动生成,使虚拟人物达到了真人级别的拟真度。通过轻量级的表情驱动,把表情迁移到虚拟形象的面部;通过肢体驱动赋予虚拟形象和真人一样的肢体动作,解决了轻量化的半身驱动和手掌驱动的业界难题;语音上,只靠麦克风音频的输入,就可以用语音让虚拟人嘴部动起来,和主播说话同步。



图示:虎牙直播首个虚实结合 AR 直播盛会“电波之夜”


InfoQ:现在大家都在讨论自主可控与开源,虎牙是如何思考的呢?


王华夏:目前我们的技术策略是:优先考虑开源,在开源的基础上做二次开发。我们不鼓励全部自己造轮子,特别是行业中已经存在比较好的解决方案的时候。以中间件技术为例,ES、MQ、名字服务、Web 网关等多来自开源技术。在技术自主可控上,虎牙更关心的是在快速支持业务需求的同时,保持稳定高效运行。另外,我认为不管技术是原创还是开源,能吃透使用的技术或方案,系统出现问题时能迅速解决,这才是真正的“可控”。


我们鼓励使用开源,并不意味着用开源搞定一切。在实际工作中,我们发现业务团队直接去使用开源中间件的时候,学习和使用成本非常高。面对不同的场景,开源项目通常不能直接满足业务的特色需求。所以,我们在尽量保持和开源版本同步的情况下,会基于开源服务做二次封装并且服务化交付,让业务团队可以忽略差异而只用关注业务需求。同时,我们也需要解决中间件高可用、可观测、资源利用率等问题,这些都离不开技术创新,我们在中间件服务一个技术方向上申请的专利数就超过了 20 个。


除了使用开源技术,我们也会反馈社区共建开源生态,公司内部很多同学都是热门项目的 committer。我们也在筹备开源行业前沿的技术项目,比如前文提到的边缘容器化、边缘网关、SDWAN 等边缘计算项目。虎牙在云原生时代的技术态度是:源于社区,终于社区。

不做“两耳不闻窗外事一心只顾敲代码”的程序员


InfoQ:你们是如何开展团队的文化建设工作的呢?团队文化的建设对于实际工作的推进是否有一些帮助呢?


王华夏:团队文化建设首先要明确建设目标是什么。我们的目标是为了打造锐意创新、开放协作的团队氛围。


我们主要从管理制度、技术运营和技术激励三个方面开展团队文化建设:


  • 管理制度方面,我们采用了 OKR 目标管理,有助于形成信息透明、自下而上自主决策的工作氛围;

  • 激励制度方面,鼓励技术创新、加强服务化意识,通过评奖充分发挥榜样作用,激励更多团队和同事学习,形成良好的竞优氛围;

  • 内外联动的多维技术运营,这是虎牙团队文化建设比较有特色的部分。对内,建立常态化技术交流分享机制,提供思想碰撞的平台;对外,帮助大家走出去,向一流技术大会推荐议题和讲师,加强技术交流,建设学习互动型团队。


团队文化是一种无形的力量,在潜移默化中感染团队成员,统一团队的价值和目标认知,提升成员归属感和使命感。在实际工作中,可以激发员工自驱力,提高协作效率,充分挖掘团队潜力。


InfoQ:技术总在不断的演进,但是有的程序员年龄上去之后就跟不上技术的演进步伐了,你们是怎么看待这个问题的?有没有比较好的解决方法?


徐光兴:年龄永远不是学习的障碍,有经验的人学习新技术往往更快,因为更能透彻理解背后的原理。在程序开发领域,技术变化日新月异,但万变不离其宗,各种技术五花八门,但都遵循类似的原理和基础。那么,能否通过积累,形成经验优势,就需要个人多看多思多总结,敢于提出新的想法和方案,逐步形成自己的一套持续验证和迭代的方法论。


其实,不只是程序员这个职业,各行各业随着时代的发展都在不断演进,保持开放的心态,紧跟行业前沿,敢于拥抱变化,持续学习,不断增强自身能力很重要。


在公司层面,开放、良好的技术学习氛围很重要。就像刚说到的团队文化建设,能够鼓励员工互相交流学习,激励员工走出去开拓视野,不做“两耳不闻窗外事一心只顾敲代码”的程序员,适时调整思维方式和工作模式,保持技术敏感度。


近几年,虎牙技术团队都会组织核心技术人员去顶级互联网公司交流,我们也十分感慨,像 Amazon、Google、Microsoft 等企业,很多工程师都会干一辈子,即使年纪很大的技术专家依然在激情十足地敲着代码,为公司贡献着价值。我们相信,只要保持紧跟技术前沿的热情和持续学习的心态,年龄并不是限制技术人员的天花板。


采访嘉宾


徐光兴,虎牙公司技术副总经理


王华夏,虎牙公司技术总监


2021-04-14 16:175592
用户头像

发布了 497 篇内容, 共 336.2 次阅读, 收获喜欢 1927 次。

关注

评论 3 条评论

发布
用户头像
对于基础架构存储、计算、网络方向有意向者,可将简历投至caixiaodan@huya.com
2022-02-09 11:28
回复
用户头像
对于基础架构存储、计算、网络方向有意向者,可将简历投至caixiaodan@huya.com
2022-02-09 11:23
回复
用户头像
这个是文字采访还是面对面的采访?
2021-04-15 10:32
回复
没有更多了
发现更多内容

小六六学Netty系列之Java BIO

自然

网络 9月月更 neety

Java 键盘输入n个数进行排序输出

排序 java基础 9月月更

秋招国内大厂最牛的Java面试八股文合集(全彩版),不接受反驳

退休的汤姆

Java 程序员 面经 Java工程师 秋招

架构实战营模块六作业

zhihai.tu

k8s自定义controller三部曲之三:编写controller代码

程序员欣宸

Kubernetes Controller 9月月更

首次发布!Java面试八股文让569人成功进入大厂,堪称2022最强面试八股文核心知识版!

退休的汤姆

Java 程序员 面经 秋招 Java八股文

设计模式的艺术 第十三章外观设计模式练习(为新开发的智能手机控制与管理软件提供一键备份功能。通过该功能可以将原本存储在手机中的通讯录、短信、照片、歌曲等资料一次性地全部复制到移动存储介质(如MMC卡或SD卡)中。实现过程中需要与多个已有的类进行交互)

代廉洁

设计模式的艺术

如何成为资深的测试专家

穿过生命散发芬芳

测试 9月月更

C++学习------cerrno头文件的作用与源码学习

桑榆

c++ 9月月更

三种获取URL参数值的方法

devpoint

JavaScript URL参数解析 9月月更

IO多路复用中的Select/poll/epoll总结全乎了

知识浅谈

IO多路复用 9月月更

挑战30天学完Python:Day1火力全开-初识Python(含系列大纲)

MegaQi

9月月更 挑战30天学完Python

【大话 C 语言】春眠不觉晓,函数知多少?

Albert Edison

递归 C语言 函数 开发语言 9月月更

如果你是Java程序员,你会选择Cloud Studio进行云端开发,放弃IDEA吗?

wljslmz

Java Cloud Studio 9月月更

常见的网络安全攻击及防御技术概述

阿泽🧸

网络安全 9月月更

2022-09-03:n块石头放置在二维平面中的一些整数坐标点上 每个坐标点上最多只能有一块石头 如果一块石头的 同行或者同列 上有其他石头存在,那么就可以移除这块石头。 给你一个长度为 n 的数组

福大大架构师每日一题

算法 rust 福大大

日拱算法:什么是“情感丰富的文字”?

掘金安东尼

9月月更

小六六学Netty系列之Java NIO(一)

自然

网络 9月月更 neety

深入思考Schema管理的几个基本问题

HackMSF

完美!华为大佬手码20w字Redis全栈小册,原来Redis性能可压榨到极致

Java全栈架构师

数据库 redis 程序员 面试 后端

在世界人工智能大会,看京东AI向产业奔涌

脑极体

云原生(三十五) | Prometheus入门和安装

Lansonli

云原生 k8s 9月月更

数据存储与物联网

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

重学网络系列之(我的名字叫IP)

自然

网络 9月月更

PANAMA: 共享机器学习集群的网内聚合框架

俞凡

大数据 架构 网络

记一次 swap 导致系统盘高 IOPS 问题排查

卫智雄

linux运维

在互联网,摸爬滚打了几年,我悟了。面对如今经济形势,普通打工人如何应对?

HullQin

Go golang 后端 websocket 9月月更

都2022年了,Python Web框架你不会只知道Django和Flask吧?

梦想橡皮擦

Python 9月月更

Kubernetes网络插件详解 - Calico篇 - 网络基础

巨子嘉

虎牙直播技术演变之路_架构_田晓旭_InfoQ精选文章