在本地运行容器#
主要的 Omniverse 渲染器容器也可以在你的工作站本地运行。在本节中,我们将简要概述设置容器的最重要步骤。
请注意,渲染器设计为将 RTP 流发送到 UDP 端口,该端口已根据 RTP over UDP Streaming 部分与下游客户端协商。由于在某些本地设置中,缺少执行端口协商所需的下游客户端,我们可以禁用端口协商,并通过将 IAORMS_mock_streaming_enabled 环境变量设置为 true (参见 微服务参数)来绕过基于 SDR 的流管理(例如,调用 /add 和 /delete 端点)。容器将开始在端口 9020 上流式传输视频,在端口 9021 上流式传输音频。
从 https://catalog.ngc.nvidia.com/orgs/nvidia/teams/ace/resources/default-avatar-scene 下载场景。
运行 Omniverse 渲染器容器
docker run --env IAORMS_mock_streaming_enabled=true -it --rm --gpus all --network=host --name renderer-ms -v /path/to/your/asset/folder/:/home/ace/asset nvcr.io/nvidia/ace/ia-omniverse-renderer-microservice:<latest-version>
其中 /path/to/your/asset/folder/ 是包含 USD 场景的目录。场景名称使用环境变量 IAORMS_scene_directory 定义(参见 微服务参数)。
当显示以下输出时,渲染器将准备就绪。首次可能需要长达 10 分钟,因为需要编译着色器。
Streaming server started successfully
要检查视频流,请运行
gst-launch-1.0 -v udpsrc port=9020 caps="application/x-rtp" ! rtpjitterbuffer drop-on-latency=true latency=20 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! queue ! autovideosink sync=false
要检查音频流,请运行
gst-launch-1.0 -v udpsrc port=9021 caps="application/x-rtp,clock-rate=16000" ! rtpjitterbuffer ! rtpL16depay ! audioconvert ! autoaudiosink sync=false