专栏首页视频咖技术解码 | 云游戏实现技术解析

技术解码 | 云游戏实现技术解析

在刚刚过去的腾讯全球数字生态大会上,腾讯云发布了全新的云游戏解决方案,将云游戏带入了2.0时代。今天的技术解码就由胡小华老师为大家解读云游戏的相关技术细节。

云游戏是一种以云计算、渲染及云传输为基础的游戏实现方式,与传统游戏区别在于游戏的运行在云端边缘计算节点上,而非用户本地终端上;用户本地终端通过网络接收云端边缘计算节点发送的数据进行游戏声音与画面的本地呈现,同时用户将对游戏的操作控制指令发送到云端进行对游戏的控制。

云游戏解除了传统游戏方式中游戏本身对终端设备的系统软件、硬件等能力要求的限制,可以轻松的在PC、手机、平板等终端进行接入,其应用场景主要如下:

云游戏应用场景

1、3A大作随时玩

3A游戏的安装与运行全部在云端边缘计算节点中进行,终端只需要实现简单的网络数据包接受、渲染与交互,并不需要发烧级的硬件配置来支持,普通的一台能支持高清视频播放的手机、平板与TV等终端设备就可以玩3A游戏。

2、端游/手游覆盖

云游戏淡化了端游/手游概念,我们通过虚拟化VM与容器技术,将端游与手游部署运行在云端边缘节点上,玩家通过我们提供的多终端SDK,可以通过网页、客户端app等接入方式,在手机、平板、电视等任何支撑的终端上玩PC游戏或者手机游戏。

3、游戏试玩

云游戏的游戏试玩,跳过了传统游戏的下载、安装等步骤,玩家直接通过体验入口进入就可以立即进行游戏的试玩。

4、多人云游

“独乐乐不如众乐乐”,云游戏打破了传统的多人同屏游戏限制,跨越了空间,在任何地方都可以随时邀请好友多人一起玩游戏。

5、游戏助力

游戏通关不过?云游戏提供了游戏助力功能,可以让你正在玩的游戏,实时授权给其它玩家来操作,替你通关……

6、云游直播

云游戏支持游戏分享、游戏观战,可以将游戏的内容实时直播出去。

云游戏除了调度与游戏管理等相关模块,其底层主要由流化、传输、渲染交互三大块组成。

流化:在云端边缘计算节点中实现,完成游戏的流化;

传输:通过边缘网络来实现,选择最短的链路打通边缘节点与终端用户的网络通道;

渲染交互:在用户终端中实现,完成对游戏数据流的本地渲染呈现以及交互控制。

其中,流化根据实现方式的不同,可分为视频流与指令流两种形态。

1、视频流实现

视频流方案

视频流实现:游戏运行在带有GPU的边缘计算节点,将GPU生成的游戏图像转换为H.264/H265的视频流以及音频数据,通过网络传到终端,同时终端将操作指令如鼠标,键盘,触控等数据回传到服务器中。

2、指令流实现

指令流方案

指令流实现:游戏运行在边缘计算节点中,通过带有支持图形API的虚拟GPU或者软件图形库,复制游戏下发的图形API,并序列化为指令流,将指令流通过网络传输到带有GPU的终端,由终端运行指令流,并渲染出游戏图像,同时终端将操作指令如鼠标,键盘,触控等数据回传到服务器中。

目前,市面上已经对外发布的云游戏方案主要为视频流方案,下面我们将对基于视频流的实现做详细讲解。

3、基于视频流的云游戏技术实现

视频流系统框架

3.1 流化处理

视频流的流化处理主要是采集游戏音视频数据编码为音视频流,为了提高处理效率与降低延时,云游戏视频处理直接从GPU显存获取游戏画面,然后传到GPU编码模块进行编码输出,减少了GPU与CPU之间拷贝导致的性能损失;音频处理直接从声卡获取游戏声音数据进行编码输出,具体如下:

(1)视频流化处理

GPU采集编码

视频流化处理:将游戏渲染的画面,直接从GPU显存中获取,然后传输到GPU 编码模块进行编码输出视频流。

(2)音频流化处理

音频采集编码

音频流化处理:从声卡获取游戏声音进行编码为音频流。

3.2 传输处理

云游戏为了降低延时,传输采用实时流协议,如:常用的RTP/RTSP/RTC等协议,同时根据当前国内的网络环境,针对云游场景进行了专门的自适应抗抖动优化。

传输自适应抗抖动

传输自适应抗抖动处理,根据网络状况与终端渲染播放能力进行综合判断,自动调整视频流的码率、帧率,分辨率,实现在弱网、网络切换以及弱终端的最优体验。

3.3 渲染交互处理

(1)渲染处理

终端渲染

渲染处理:主要实现音视频数据的解码与同步渲染输出,为了提高终端解码能力,云游戏优先采用开启系统硬件解码的方式来进行解码,同时,为了减低延时,严格控制缓存buffer,让视频画面尽快输出。

(2)交互处理

终端交互处理:云游戏支持各种终端输入设备,完成键鼠、Touch,手柄等输入事件处理,发送到云端边缘计算节点来来完成对游戏的操控。

1、成本

云游戏成本主要源于硬件与流量,如何提高单台机器的最高并发数?如何提升编码压缩比来降低带宽成本?是当前云游优化的两个主要方向。

针对这两个问题,云游戏给出了云游虚拟化的解决方案,主要实现CPU/GPU虚拟化,将资源利用最大化;针对不同的游戏场景,虚拟出不同的虚拟机类似,细分资源粒度,尽量将成本做到最低。例如:vGPU根据不同的游戏场景,具体划分如下:

2、延时

云游戏的延时在整个链路上由如下几个部分组成:

云游戏相对于本地游戏,额外增加的延时主要来自于输入、网络传输、编码、解码,终端渲染几个部分;通过对整体链路的优化,将总延时控制在了50ms以内,保证一个好的游戏体验。

3、运维

云游戏运维主要包含边缘节点管理,游戏管理,游戏自动更新,账户管理,游戏安全管理等工作。云游戏需要维护大量的边缘计算节点,大量的游戏,而且游戏一般都比较大且更新频繁,需要及时处理游戏自动更新分发同步等问题。

云游戏随着基础实施能力提升,云计算与5G技术融合,让云游戏的质量、操作流畅性等都获得大幅提升,游戏延时也在玩家可以接受的范围内;随着入局的企业越来越多,整体产业生态越来越完善,未来2~3年会有一个比较大的突破;同时,新的交互方式和游戏类型也会将在接下来的几年陆续出现,云游戏会从一个细分市场,逐渐走进每一个玩家的生活。

本文分享自微信公众号 - 腾讯云视频(txvideocloud),作者:胡小华

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-09-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 腾讯云发布全新游戏云解决方案,助力游戏开发者高效开发

    ? 9月10日,在2020腾讯全球数字生态大会游戏专场上,腾讯云发布了全新升级的游戏解决方案及游戏服务器引擎GSE、游戏原生数据库TcaplusDB等多款新产...

    腾讯云视频
  • 30G秒开?腾讯云?云游戏方案碉堡了(有福利)

    8月2日,腾讯云在2019年China Joy上发布“腾讯云·云游戏解决方案”。 云 游 戏 又称流式游戏,是一种以云计算和串流技术为基础的在线游戏技术。...

    腾讯云视频
  • 你问我答 | 云点播(VOD)年度关心问题解答

    小编这一年,收到很多用户的咨询,针对年度最为关心的问题进行了汇总整理,希望可以帮助到您。 ?

    腾讯云视频
  • 为“吃鸡”,300个程序员3班倒? 腾讯秒变富士康!

    今年下半年游戏界最火的就是“吃鸡”游戏了,大家有事没事都会来调侃一句“大吉大利,晚上吃鸡”。而众多的吃鸡游戏基本上是有一款火一款,“吃鸡”成了现象级的热潮。

    一墨编程学习
  • 《王者荣耀》上线防沉迷系统真的能奏效吗?

    孟永辉
  • 云游戏发展现状及入局云游戏的建议

    毕马威在近日发表的5G边缘计算领域调研报告中指出,5G与边缘计算结合所带来的新型服务有着巨大的市场潜力,其中就包括游戏。同时长江证券研究所对于游戏领域的研究报告...

    灯塔大数据
  • 书单丨游戏制作是门儿手艺,这5本书带你牢固基础

    本书是腾讯游戏研发团队的技术结晶,由10多名腾讯游戏资深技术专家撰写而成,整理了团队在自主游戏研发的道路上积累沉淀的技术方案,具有较强的通用性及时效性,内容涵盖...

    博文视点Broadview
  • 与腾讯、网易逐梦云游戏,三七互娱还少张王牌

    近年来,传统的游戏市场在激烈的竞争下已经接近饱和,新老玩家都迫切在游戏市场开辟新的赛道,而5G的出现为各行业的发展带来了前所未有的机遇,也使云游戏的概念得到快速...

    刘旷
  • 请问想学写游戏脚本,是学易语言还是学按键精灵?

    很多人都对游戏脚本感兴趣,但大部分只是想通过脚本帮助自己在游戏的时候玩的更加省劲,当然更多研究游戏的脚本的人或者工作室只是想通过脚本在游戏领域能够挣到钱,任何一...

    程序员互动联盟
  • python小游戏设计入门1-了解游戏

    从小到大玩过很多的游戏,在我小时候,能玩游戏的地方不多,那时玩游戏都是偷摸玩的,只要是个游戏就觉得非常有趣,比较经典的有魂斗罗,拳皇,超级玛丽,贪吃蛇,俄罗斯方...

    用户7054460

扫码关注云+社区

领取腾讯云代金券

http://www.vxiaotou.com