NVIDIA Omniverse基于Container的部署推流方案

描述

为了让客户能够高效安装和部署 NVIDIA Omniverse 及 NVIDIA Isaac 平台,NVIDIA 现已推出简单便捷的容器化部署方案,以支持在数据中心的服务器中实现流式仿真或协作。

 1.   准备工作

硬件:1 台 GPU 服务器(可集成多张 GPU,同时给多人使用)

系统:Ubuntu 22.04 及以上版本(本次测试使用 22.04 的版本)

GPU:NVIDIA RTX GPU 并安装驱动

环境:Docker 预装

 2.   下载前端框架,容器制作框架

https://github.com/NVIDIA-Omniverse/web-viewer-sample(复制链接至浏览器打开)

https://github.com/NVIDIA-Omniverse/kit-app-template

 3.   Docker 的 NVIDIA Container Toolkit 安装(Ubuntu 安装版本不同,可以命令有所差别)

添加 NVIDIA 文件源及 GPG 密钥(以 Ubuntu 为例,只是文件管理命令不同):

 

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo

 

安装 nvidia-container-toolkit

 

yum install -y nvidia-container-toolkit

 

重启 Docker 守护进程时配置生效

 

Systemctl restart docker

 

运行 Docker 容器时使用 --gpus 参数启用 GPU 支持(测试)

 

docker run --rm --gpus all nvidia/cuda:12.0.0-base-ubuntu22.04 nvidia-smi

 

 4.   安装 Kit 的 App Streaming(参考 2 中的链接完成)

通过 repo.sh 命令安装 App 和 Container

 

 ./repo.sh template new

 

在添加 layer 的时候 default 一定要选第一个,需要按住空格

NVIDIA

Build App:

 

./repo.sh build

 

Launch App:

 

./repo.sh launch

 

Create Image:

 

./repo.sh package –container –name <自定义容器名称>

 

- 选择带有 Streaming 的 Kit 进行打包

NVIDIA

 5.   Docker images

查看 images 是否已经存在。

NVIDIA

 6.   运行容器及相关配置和参数

在运行之前,需要对 host 电脑进行设置。

 

nano /etc/resolv.conf

 

- 将“search .”替换“search nvidia.com”

添加 Streaming 参数设置,对比 Kit107.3 之前和 Kit108 之后的参数变化

- Kit107.3

 

--/app/livestream/port=49100
--/app/livestream/fixedHostPort=47998
-/app/livestream/allowDynamicResize=true

 

- Kit108 以上

 

--/exts/omni.kit.livestream.app/primaryStream/signalPort=49100
--/exts/omni.kit.livestream.app/primaryStream/streamPort=47998
--/exts/omni.kit.livestream.app/primaryStream/allowDynamicResize = true
--/exts/omni.kit.livestream.app/primaryStream/streamType = "webrtc"

 

3. 首次启动命令,并且指定了 GPU,将容器的名称写上对应的 UDP / TCP 端口号。

 

  docker run --name composer_47999_49200 
   --gpus device=0 
   --network host 
   -v ~/docker/omniverse/explorer_cache:/root/.cache:rw 
   -v ~/docker/omniverse/explorer_data:/root/.local/share/ov/data:rw 
   -it composer:latest 
   --/exts/omni.kit.livestream.app/primaryStream/signalPort=49200 
   --/exts/omni.kit.livestream.app/primaryStream/streamPort=47999 
   --/exts/omni.kit.livestream.app/primaryStream/allowDynamicResize=true 
   --/exts/omni.kit.livestream.app/primaryStream/streamType="webrtc"

 

 7.   开启一个新的 terminal,安装前端代码

下载 repo:git clone https://github.com/NVIDIA-Omniverse/web-viewer-sample

Ubuntu 系统上提前装好 Node.js

使用 npm --version,确实是否安装完毕

关闭防火墙,运行端口连接:

 

sudo ufw allow 47999/udp
sudo ufw allow 49100/tcp

 

在最新的前端中 stream.config.json 修改配置文件

- 修改 ip 地址

- 添加 udp / tcp 端口

- 输入 npm run dev -- --host

NVIDIA

使用网络可达的电脑打开网页输入网址

NVIDIA

基于 Docker 使用 Container 部署的 NVIDIA Omniverse 推流方案已就绪。

为了方便使用,我为大家制作了简易 NVIDIA Omniverse 基于 Docker 的安装包,并制作了配置脚本。需要的小伙版们请参考视频教程来操作。

文件安装包:

通过网盘分享的文件:docker_omniverse_streaming.tar.gz

链接:https://pan.baidu.com/s/1OuX9oLMc9dCpMPcSdN4_1Q 提取码: 1mh6

操作视频教程:

*与 NVIDIA 产品相关的图片或视频(完整或部分)的版权均归 NVIDIA Corporation 所有。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分