How to Stream Live Video with OBS Studio to a Self-Hosted RTMP Server

OBS Studio is the most widely-used free broadcasting software — this guide covers configuring it to stream to your own self-hosted RTMP server rather than a third-party platform.

Prerequisites

  • OBS Studio installed on your streaming computer
  • A working RTMP server (see How to Set Up Nginx RTMP for Live Video Streaming)

Step 1 — Open OBS Studio Settings

Navigate to Settings → Stream.

Step 2 — Select "Custom" as the Streaming Service

Rather than choosing a pre-configured platform (Twitch, YouTube), select Custom... to specify your own server.

Step 3 — Enter Your Server URL

Server: rtmp://YOUR_SERVER_IP/live

Or, if using a domain: rtmp://stream.yourdomain.com/live

Step 4 — Set a Stream Key

Stream Key: any-identifier-you-choose

This becomes part of the stream's identification on your server — if you configured publish restrictions in your RTMP server config, ensure this matches what's expected.

Step 5 — Configure Output Settings

Under Settings → Output, set your desired bitrate based on your upload bandwidth and target stream quality — higher bitrates need more upload bandwidth from your streaming location and more processing capacity on the receiving server.

Recommended Starting Bitrates

ResolutionSuggested Bitrate
720p302,500-4,000 kbps
1080p304,500-6,000 kbps
1080p606,000-9,000 kbps

Step 6 — Configure Encoder Settings

Choose hardware encoding (NVENC, QuickSync) if your streaming computer supports it, for lower CPU usage during broadcast; software (x264) encoding offers more quality control at higher CPU cost.

Step 7 — Start Streaming

Click Start Streaming in OBS — verify on your server (check RTMP server logs, or view the HLS output if configured) that the stream is actually being received.

Testing Before a Real Broadcast

Always do a private test stream before any important live event — verify video/audio quality, check for dropped frames (shown in OBS's stats panel), and confirm playback works correctly on the viewer-facing side.

Monitoring Stream Health During Broadcast

OBS's built-in stats (View → Stats) show dropped frames and encoding lag — frequent dropped frames indicate either insufficient upload bandwidth or the encoder struggling to keep up with the configured settings.

Adding an Overlay or Scene Transitions

OBS supports scenes, overlays, and transitions independent of the streaming destination — configure these as you would for any platform; they work identically when streaming to a self-hosted server.

Common Errors

"Failed to connect to server" — verify the RTMP server is running and the firewall allows port 1935; test connectivity from the streaming machine directly if possible.

Stream connects but stutters — usually an upload bandwidth issue on the streaming side, or the RTMP server being under-resourced for the configured bitrate/transcoding load.

Continue Reading

Browse more articles in Media & Streaming Servers.

  • obs studio streaming, self hosted rtmp streaming, obs custom rtmp server, live streaming setup
  • 0 Kunder som kunne bruge dette svar
Hjalp dette svar dig?

Relaterede artikler

How to Install Jellyfin Media Server on a VPS

Jellyfin is a free, open-source media server — a fully self-hosted alternative to Plex or...

How to Install Plex Media Server on a VPS

Plex is a widely-used media server platform offering a polished interface and broad device...

How to Set Up Nginx RTMP for Live Video Streaming

Nginx's RTMP module lets you run your own live video streaming server — accepting a stream...

How to Set Up HLS Streaming with Nginx

HTTP Live Streaming (HLS) delivers video by breaking it into small segments served over standard...

How to Install Icecast for Internet Radio Streaming

Icecast is a lightweight, open-source streaming server purpose-built for audio — ideal for...