Unreal Renderer 微服务#

描述#

Unreal Renderer 微服务为打包的 Unreal 项目提供运行时。

其目的是使用音频实时渲染单个头像及其场景。 它旨在通过 Pixel Streaming 将结果流式传输到客户端。 姿势、手势和面部表情由 gRPC 接口上接收到的 anim-data 控制。 音频也由 gRPC 接口接收。

用法#

UCS 微服务名称为 ucf.svc.ia-unreal-renderer-microservice

查看 ACE 文档 以获取此 Unreal Renderer 微服务的示例用法和工作流程。

支持的平台#

  • CPU: x86_64

  • GPU: NVIDIA RTX 兼容(其他未测试)

  • OS: Linux (例如 Ubuntu 22.04)

  • Orchestrator: Kubernetes 或 Docker

性能#

Unreal Renderer 微服务的每个实例都支持单个流。 CPU、GPU 和 RAM 利用率高度依赖于使用的场景和可用的硬件。

部署要求#

最低硬件要求#

  • 16 GB 可用系统内存

  • 1 核 CPU

  • 1 个 NVIDIA GPU

  • 6 GB GPU 内存

  • 5 GB SSD 空间

安全注意事项#

当前版本的 NGC 资源下载器微服务包含一些旧版本的库和已知的 CVE,绝不能暴露给不受信任的方。 请参阅以下 CVE 和库列表: GHSA-cx63-2mw6-8hw5, setuptools 69.2.0 CVE-2024-7592, python 3.9.19 CVE-2024-6232, python 3.9.19 CVE-2024-4032, python 3.9.19 CVE-2024-34158, stdlib, go1.22.4 CVE-2024-34156, stdlib, go1.22.4 CVE-2024-24791, stdlib, go1.22.4 CVE-2024-0397, python 3.9.19

Unreal Renderer 微服务在运行时下载并运行 Pixel Streaming Signalling Server(需要 GitHub 访问 Unreal 资源),该服务器由 Epic Games 提供,NVIDIA 既不拥有也不控制。 此容器是 Pixel Streaming 的信令服务器的参考实现。 用户需要确保此容器的真实性。

当前版本的微服务尚未经过渗透测试。

Unreal Renderer 微服务的动态代码分析扫描报告了一个潜在的中等漏洞,该漏洞与 API 中使用 HTTP 添加/删除流有关。 API 不应暴露于互联网,您有责任仅在内部受信任的网络中使用它。

您有责任保护对此微服务的访问,包括用户与这些微服务之间的身份验证层,以及保护应用程序中服务之间的通信。 此外,您有责任确保只有授权的管理员才能访问此微服务使用的部署和密钥(例如 NGC、GitHub Epic Games)。

许可证#

NVIDIA 软件评估许可协议

NVIDIA 专有和第三方许可证

使用的开源软件包的源代码

已知问题/限制#

目前不支持高于 535 的 NVIDIA 驱动程序版本。 我们建议使用驱动程序版本 535。

参考#

  • 查看有关如何使用 UCS 微服务的 UCS 文档