WebRTC、云游戏和虚拟桌面

WebRTC 是云游戏和虚拟桌面类型用例的一项重要技术。以下是与之相关的原因和挑战。

谷歌推出并关闭了 Stadia。Stadia 是一个云游戏平台,它使用了 WebRTC,但它似乎不太适合 Google 的未来。

这就是说,它确实揭示了一个我在这里的写作中一直 “忽视 “的用例,尽管它在与供应商和开发者的讨论中肯定是最重要的。

这次我想写的是云游戏这个概念,然后是与之相关的所有虚拟桌面和云渲染用例。

让我们深入了解一下👇

Google Stadia 的兴衰

WebRTC、云游戏和虚拟桌面

Google Stadia 最初是作为 Google 内部的 Project Stream 而存在。

从技术上讲,它是完全合理的。但至少在事后看来,商业计划并没有真正存在。谷歌与游戏、游戏开发者和游戏玩家相距甚远。

在技术方面,其意图是在云端机器上运行高端游戏,渲染游戏,然后让人 “远程 “玩这个游戏。用户获得游戏的实时视频渲染,并发回控制台信号。这意味着游戏可以根据需要变得复杂,并从云服务器上获得计算能力,同时无论游戏如何,用户的设备都能保持在相同的规格。

WebRTC、云游戏和虚拟桌面
图片来源:谷歌

我在 Google 的图表上添加了 WebRTC 文本 – 调用 WebRTC 是为了让玩家可以使用现代浏览器来玩游戏。无需安装。即使在 iOS 设备上,这种方式也能很好地发挥作用,因为苹果公司坚持对通过应用商店的任何内容进行收入分成。

Stadia 希望解决不少技术挑战:

  • 在云机器上运行高端主机游戏
  • 远程实时提供这些游戏
  • 在浏览器(或同类)中玩游戏

可能还有很多其他挑战(例如扩展整个事情并弄清楚如何获得和保留如此多的 GPU)。

从技术上来说,Stadia 是成功的。从商业角度来看……嗯……它在推出三年多后就关闭了

不过,Stadia所做的是表明,这绝对是可能的。

WebRTC、云游戏和实时性的挑战

为了让云游戏发挥作用,Google 必须利用 WebRTC 做一些事情。当 Google 的 WebRTC 主要功能是 Google Meet 时,他们并没有真正需要太多东西。这些措施降低了延迟,处理更大的色彩空间,并以 60 fps 的速度实现 4K 分辨率。他们通过 WebRTC 几乎 “免费 “得到的是它的数据通道——将游戏控制器信号从玩家那里快速发送到云端的游戏机上的手段。

让我们看看增加其他三件事意味着什么:

4K 分辨率 60 fps

谷歌的目标是高端游戏,这意味着更高的分辨率和帧速率。

WebRTC 非常适合视频会议分辨率。VGA、720p 甚至 1080p。4K 是该级别的又一次飞跃。它需要更多的CPU和更多的带宽。

幸运的是,对于云游戏,浏览器只需要对视频进行解码,而不需要对其进行编码。这意味着除了确保浏览器实际上可以有效地解码 4K 分辨率之外,真正的问题是进行有效的带宽估计。

作为一种算法,带宽估计针对给定场景进行了微调和优化。4K 和云游戏是一个新场景,意味着所需的比特率不是 2mbps 甚至 4mbps,而是在 10-35mbps 范围内。

WebRTC、云游戏和虚拟桌面

WebRTC 中的内置带宽估算器无法处理此问题……但 Google 为 Stadia 服务器构建的带宽估算器可以。在技​​术方面,谷歌依靠使用 Transport-cc 的发送方带宽估计技术使这成为可能。

更低的延迟:播放延迟

还记得这张图吗?

WebRTC、云游戏和虚拟桌面

WebRTC 是为了降低延迟而设计和构建的,但是在毫秒级延迟中,您如何对这 3 个活动的延迟要求进行排序?

  1. 掌握SpaceX火箭的着陆情况
  2. 玩第一款射击游戏(像我这么老的人,对我来说就是《毁灭战士》或《雷神之锤》)
  3. 与潜在客户进行在线会议

WebRTC 多年来的主要关注点是在线会议。这意味着 100 毫秒或 200 毫秒的延迟就可以了。

对于一个在线游戏?100毫秒是赢和输之间的区别。

因此,Google 试图通过添加 Playout Delay 的概念来进一步减少 WebRTC 的延迟。这里的意图是让WebRTC知道,应用程序和用例更愿意提前播放媒体,并进一步牺牲质量,而不是为了获得更好的质量而等待一下。

更大的色彩空间

视频会议和谈话者不需要太多。如果您还记得,通过视频压缩,我们追求的是尽可能多地丢失原始视频信号,然后进行压缩。这里的想法是,无论眼睛不会注意到什么,我们都可以不用。

显然,对于说话的人来说,我们可以失去更多的 “颜色”,但与对网络游戏做类似的事情相比,我们仍然感到高兴。

顺便说一句,如果你在家看过《权力的游戏》,那么你可能还记得上一季的一些情节对于电视来说太黑暗了。这是由于服务提供商进行的压缩……

虽然与此处的颜色空间问题不同,但它表明如何处理视频编码中的颜色很重要。一种情况与另一种情况有所不同。

当涉及到游戏时,需要对色彩空间进行不同的处理。具体来说,从 SDR 转向 HDR,在此过程中添加 RTP 标头扩展来表达附加信息。

云游戏中到底有什么?

事情是这样的。Google Stadia 是游戏和云游戏领域的一端。

多年来,我看到了云游戏的许多其他原因和市场目标。

云游戏的类型

以下是我脑海中浮现出来的:

  • 高端游戏。这就是 Google Stadia 的用例。随时随地在任何类型的设备上玩高端游戏。这减少了对游戏硬件的依赖和不断升级的需要
    • 您会发现 NVIDIA、Amazon Luna 和 Microsoft xCloud 都专注于该领域
    • 这有多流行/有利可图仍是个问题。
  • 控制台游戏。PlayStation、Xbox、Switch。不管是什么。挑选一个游戏,无需等待下载和安装就可以玩,这很好。它还允许减少/移除这些设备的硬盘(或缩小它们的大小)。
  • 手机游戏。现在,您可以在下载移动应用程序和游戏之前对其进行采样,并在云中运行它们。这里还有其他东西吗?您可以使用其他用户的帐户和他们达到的级别来玩其他用户的游戏,而不是苦苦挣扎
  • 复古/模拟游戏。有大量且不断增长的游戏无法在当今的机器上玩,因为它们的硬件太旧了。这些可以被模拟,现在也可以作为云游戏远程玩。玩 PlayStation 2 游戏怎么样?还是一款古老而经典的 SEGA 街机游戏?我认为是《黄金斧》。

改进的游戏玩法

为什么不远程与其他人一起玩这些游戏呢?

我儿子最近和另外 4 个朋友坐下来,一起在 Xbox 上玩 TMNT 游戏。拥有它们真是太棒了,但你也可以远程完成。如果游戏不提供远程玩家,通过将其推送到云端,您可以获得该功能,因为所有用户都会立即成为远程玩家。

在此阶段,您甚至可以在游戏中添加玩家之间的语音会议或视频通话。只是为了让他们能够从玩《堡垒之夜》等游戏中获得一定程度的协作。诚然,这不仅仅需要在云中进行游戏渲染,但这是可能的,而且我确实看到这个领域的一些供应商正在发生这种情况。

云游戏之外——虚拟桌面、远程桌面和云渲染

WebRTC、云游戏和虚拟桌面

更低的延迟。更大的色彩空间。更高的分辨率。在云端渲染并远程消费。

所有这些都不是特定于云游戏的。它们可以轻松扩展到虚拟桌面和远程桌面场景。

你在云中有一台机器——无论大小,甚至是一个集群。该“机器”处理计算并最终将结果渲染到虚拟显示器上。然后,您抓取该显示并将其发送给远程用户。

一个用例可以是远程桌面 A-la VNC。在这里,我们实际上尝试从一台机器连接到另一台机器,通常以私密且安全的对等方式连接,这与我在这里的目标不同。

另一个较少被提及的是在云中进行 Photoshop 操作等操作。对于像我这样没有配备闪亮 M2 Ultra 芯片的最新 Mac Pro 的可怜而悲伤的人来说,我可能只想在线“租用”计算能力来完成图像或视频编辑工作。

我可能想直接从浏览器打开我想要购买的跑车的渲染 3D 视图,并且能够在汽车周围移动我的视图。

或者它可能只是一个简单的 VDI 场景,公司(通常是大型金融机构,但不仅如此)希望员工在 Chromebook 机器上工作,但没有安装或存储任何内容 – 所有这些都通过访问实际机器和数据位于自己的公司数据中心或安全的云环境中。

我的一个好朋友问我为自己买什么电脑。他需要它来工作。他是一名律师。我的回答是,你能找到的最低端机器就能胜任工作。我猜这为他节省了不少钱,而且他甚至不会注意到他所需要的差别。

但是,如果他每隔一段时间就需要更多的果汁和动力呢?在云端租借这些东西能带来变化吗?

如果需要使用难以安装和配置的专用软件怎么办?或者这需要对需要在协作者之间共享的大量数据进行大量协作?

将云游戏的概念和能力应用于非游戏用例,可以帮助我们满足其他多种要求:

  1. 本地机器无法轻易满足的CPU和内存要求
  2. 在家庭环境中工作时维护隐私和公司数据的需要
  3. 零安装环境,降低维护成本

这些必须要用WebRTC来实现吗?不是

WebRTC 会发生这种情况吗?是的

从专有 VDI 环境更改为浏览器中的开放标准 WebRTC 会改善情况吗?大概

为什么在云游戏中使用WebRTC

那么为什么还要使用 WebRTC 进行云游戏或更一般的云渲染呢?

对于云游戏,我们可以在专用应用程序中进行操作。所以WebRTC并不是真的有必要。或者是这样吗?

在我们最近的一期WebRTC Insights问题中,我们强调Amazon Luna 正在放弃专用应用程序,转而支持 Web (=WebRTC)。摘自那篇文章:

“我们发现客户使用 Web 浏览器在 Luna 上玩游戏的时间比在本地 PC 和 Mac 应用程序上花费的时间要多得多。当我们看到顾客喜欢某样东西时,我们就会加倍努力。我们利用 Luna 原生桌面应用程序提供的全部特性和功能优化了Web浏览器体验,因此客户现在在网络浏览器上使用 Luna 时可以获得完全相同的 Luna 体验。”

浏览器对许多用户来说仍然是一个常见的选择。这些也是您的用户吗?

如果您需要或想要通过 Web 浏览器访问云游戏/云渲染应用程序,那么 WebRTC 就是您的最佳选择。这与我对直播流媒体未来的看法略有不同,我在其中提出了相反的观点:

“目前使用 WebRTC 的原因是因为它是城里唯一的游戏。很快,随着基于 WebTransport+WebCodecs+WebAssembly 的解决方案的采用,这种情况将会改变,其中用于浏览器实时流传输的 WebRTC 替代方案将会推出。”

为什么有区别?这完全取决于我们愿意适应的延迟:

WebRTC、云游戏和虚拟桌面

当涉及到您想要的特定延迟时,您的情况可能会有所不同,但总的来说 – 实时流媒体的延迟可能比我们的在线会议稍高。因此,除了 WebRTC 之外的其他东西可以更好地满足这一点——我们可以对其进行更多的微调和调整。

云游戏需要比 WebRTC 更低的延迟。WebRTC 可以满足这一点。至少在今天,使用尚未经过验证的其他方法(目前还存在一些性能和延迟问题)是错误的方法。

有需要使用 WebRTC 渲染远程计算机的用例吗?这些需要站在 WebRTC 的最前沿,或者更准确地说,与普通大众(包括谷歌)对 WebRTC 的使用略有倾斜。

自己承担这样的用例意味着您需要更多地依赖自己的专业知识和对 WebRTC 的理解。

作者:Tsahi Levent-Levi
原文:https://bloggeek.me/cloud-gaming-virtual-desktops-and-webrtc/

本文为原创稿件,版权归作者所有,如需转载,请注明出处:https://www.nxrte.com/jishu/webrtc/28336.html

(0)

相关推荐

发表回复

登录后才能评论