Skip to main content

Video Streaming with OBS

OBS (Open Broadcaster Software) isn’t just for live streaming or recording — it can also be used to broadcast your screen locally. When paired with ZeroTier, this becomes a powerful screen-sharing tool across secure networks at any distance. This is ideal to relay live footage, such as security cameras, across multiple networks, or for businesses to control live feeds or billboards securely from any distance.

Prerequisites

This guide assumes that you have:

1: Configure NGINX/RTMP

note

This step can be done on any device, and will 'relay' your stream to be accessible anywhere on your ZeroTier network.

This step is optional if you have already configured an open RTMP server.

After installing NGINX, and extracting it to an appropriate folder (Windows), navigate to /<nginx directory>/conf and open nginx.conf. If it is not there, create it.

Here is one example of a nginx.conf configured for network streaming on port 1935.

worker_processes 1;
events { worker_connections 1024; }

rtmp {
server {
listen 1935;
chunk_size 4096;

application live {
live on;
record off;
}
}
}

After you have configured your nginx.conf, start nginx through an executable (Windows) or restart it in the CLI (Linux). Find more information in NGINX's documentation to configure your server to your specific use-case.

2: Set Up OBS for Local Streaming

Open OBS and go to Settings -> Stream. Change the service to Custom and for Server, enter:

rtmp://<your-ZeroTier-IP>:1935/live

Remember, you can find your ZeroTier IP from the Central WebUI or zerotier-cli listnetworks in your terminal.

Choose a Stream Key - this will be part of the address used by the viewer to connect to your stream, so we recommend making it short and significant.

3: Start the Stream and Watch

On the Host

Click Start Streaming in OBS.

If this fails, it's likely that your NGINX server is not configured or running properly. Make sure both devices can reach eachother on their ZeroTier network, and that the IP entered in OBS settings is correct.

On the Viewer

Open a media player like VLC Media Player with network streaming capabilities. With VLC, go to Media -> Open Network Stream and enter:

rtmp://<host-ZeroTier-IP>:1935/live/myscreen

Press play. You should now see the host's screen in real time - or at least with OBS's configured delay!