Livestream IsaacSim on AWS EC2 instance (Ubuntu) from Windows

I am trying to run IsaacSim in a remote headless container on an AWS EC2 instance. The EC2 instance contains IsaacSim 2022 AMI which is set up using the steps mentioned in “AWS Requirements” section in “Deploy to Cloud” in IsaacSim documentation.

Post creating the instance, I pulled and set up the IsaacSim in the Ubuntu machine present in the AWS instance. I connected through SSH and followed the aforementioned steps to load the IsaacSim. The IsaacSim 2022 was ready and able to load properly. The command used to run IsaacSim is (for WebSocket) -

$ /.runheadless.websocket.sh
or
$ /.runheadless.websocket.sh --/exts/omni.services.transport.server.http/port=8211 --/app/livestream/websocket/server_port=8899
or
$ /.runheadless.native.sh (tried native also livestream wasn’t working with any mode)

I have opened both port 8211 and 8899 in Ubuntu machine (in AWS). However, I am not able to see it through the Livestream WebSocket. I tried using below command from Windows machine:

Link: :8211/streaming/client

But it kept prompting - “The site can’t be reached”. I have also tried checking the Remote Desktop Client (in Windows) by entering the public IP address of EC2 instance, however, still it says the connection is not established.

Even, I tried an alternative by installing IsaacSim 2021 and Nucleus server 2021 using following steps:

However, still I couldn’t livestream it and run it in Windows web browser. All ports and IP address are open (Inbound traffic) to connect to AWS instance but still I am facing the issue.

Please help me with any resolution as I have tried my best to figure out but unfortunately I am not able to troubleshoot it. Thanks in advance.

Hi. Please follow all the steps in 3.2.4. AWS Requirements — Omniverse Robotics documentation
The WebRTC and Websocket modes may not work for AWS instances and the Omniverse Streaming Client is recommended.
See: Livestream Clients — Omniverse Robotics documentation

I would recommend opening all traffic in your security group to your Windows client public IP address.

Thanks Sheikh_Dawood for your response.

I have followed steps in 3.2.4 mentioned by you. However, I am not able to use Omniverse Streaming Client. After running -

$ /.runheadless.native.sh

The IsaacSim loads and is ready as stated in document. All traffic in the security group are already opened to all IP addresses. So ideally it should connect to Windows client public IP address. However, when I try to run -

http:{AWS EC2 public IP address}:8211/streaming/client

It gives not able to connect prompt. I think I am missing something. How do I actually use Livestream Client in Windows to interact with IsaacSim in AWS instance?
Currently, I am hitting the above URL with IP address and port no on Windows client machine. Do I need to do anything else?

Please help me with this specifically.

This browser url is for Websocket.

To use natave/Omniverse Streaming Client, you need to install the app from the Launcher on your Windows machine. See step 6 on 3.2.4.4. Container Deployment.

Thanks Sheikh_Dawood for your response. I understood and have now installed Omniverse Streaming client in an Ubuntu machine to connect an AWS EC2 instance (Ubuntu) running IsaacSim.

However, after entering public IP of AWS instance in “Server” section and “Resolution” as 1920x1080 (FHD) it is giving an error -

An unknown error occurred (0x100).

Could you please help me with this.

Hi. Do you see this line in the logs?
Isaac Sim Headless Native App is loaded.
Have you also opened all traffic to your client public ip address in the AWS security group?

Hi bro,

I have the same problem and I have a solution to fix.

Try this command :

docker run -p 8899:8899 -p 8211:8211 --name isaac-sim --entrypoint bash -it --gpus all -e “ACCEPT_EULA=Y” --rm
-v ~/docker/isaac-sim/cache/ov:/root/.cache/ov:rw
-v ~/docker/isaac-sim/cache/pip:/root/.cache/pip:rw
-v ~/docker/isaac-sim/cache/glcache:/root/.cache/nvidia/GLCache:rw
-v ~/docker/isaac-sim/cache/computecache:/root/.nv/ComputeCache:rw
-v ~/docker/isaac-sim/logs:/root/.nvidia-omniverse/logs:rw
-v ~/docker/isaac-sim/config:/root/.nvidia-omniverse/config:rw
-v ~/docker/isaac-sim/data:/root/.local/share/ov/data:rw
-v ~/docker/isaac-sim/documents:/root/Documents:rw
nvcr.io/nvidia/isaac-sim:2022.1.1

If this method could help you, please let me know. THKS