How to Stream From OBS to Your Own Website (Video Included)


How to Stream from OBS to Your Own Website

By the WpStream Editorial Team

Last updated: June 26, 2026

OBS Studio produces exactly one encoded video output, and almost every guide only ever points that output at Twitch or YouTube. This one points it at a website you own. That is the whole difference, and it is a bigger one than it sounds, because the destination decides who controls your audience, your archive, and your income.

Here is the promise: by the end of this guide you will have a clear path from a blank OBS install to a live player embedded on your own WordPress page, plus a checklist for the moment it does not connect (it happens to everyone, and the cause is almost never a bug).

The honest tradeoff up front: self-hosting means you own the relationship with your viewers, but you take on delivery. The good news is the platform layer absorbs the genuinely hard part (transcoding, multi-CDN distribution, adaptive bitrate), so you never run a media server. This is the hub article: deep encoder tuning, embedding, multistreaming, and gear each get their own dedicated guide, linked where they belong.

What this guide covers

  • What OBS Studio is, and why it pairs so well with a site you own
  • Why stream to your own website instead of only Twitch or YouTube
  • Installing OBS and the first-launch setup
  • Scenes and sources
  • The audio mixer and filters
  • Encoder and output settings, the overview
  • What happens when you hit Start Streaming (RTMP in, adaptive stream out)
  • Pointing OBS at your own website: the Custom RTMP section
  • Publishing the live player on a WordPress page
  • Troubleshooting the OBS-to-your-own-site failures
  • Frequently asked questions

What is OBS Studio?

OBS stands for Open Broadcaster Software. OBS Studio is free and open-source software for video recording and live streaming, built and maintained by volunteer contributors rather than a single company (obsproject.com). It is the default tool most of the streaming world runs on.

It is released under the GPLv2 license: free for anyone to use, for any reason. No watermarks. No feature limits. No restrictions on commercial use. That last point is why OBS over RTMP is the canonical free path to your own website, where a freemium browser studio would stamp a logo on your video or cap your minutes. The code is open and reviewed in public, and it runs on Windows, macOS, and Linux.

The mental model is simple. You build a layout of scenes and sources, optionally preview changes with Studio Mode, then OBS composites everything into one output and sends it to a destination (OBS Studio Overview). Here is the hinge the rest of this article hangs on: that single output can point at any RTMP destination, Twitch, YouTube, or your own WordPress site. The destination is just a setting.

Weighing OBS against other broadcasting tools? See our live streaming software.

Why stream to your own website instead of only Twitch or YouTube?

Quick disclosure before we go further: WpStream is our own WordPress live-streaming and pay-per-view plugin. We build it, so we have a stake in recommending it. We have kept the OBS fundamentals here tool-neutral and flag clearly where the WpStream-specific path begins.

Start with the thing nobody on a big platform likes to say out loud: you do not own your audience there. On YouTube, Twitch, or TikTok, the platform owns the account, the distribution, and the access. A suspension, demonetization, or termination can cut you off instantly, and you usually do not even hold your viewers’ email addresses. A site you own keeps the relationship and the contact data with you.

And the demonetization risk is not hypothetical. Platforms tighten their rules on a schedule you do not control, ad rates swing season to season, and earnings can drop overnight. Diversifying onto a channel you own is the standard hedge against all of it.

The same logic runs through everything else. Your live recordings can become on-demand video on your own site, so your back catalog is not hostage to a platform’s retention policy. Your viewing experience carries no platform-injected ads, because WpStream paid plans run none. And you can monetize directly through WooCommerce, which WpStream supports natively for pay-per-view (TVOD) and subscriptions (SVOD). One accuracy note, because it is easy to get wrong: WpStream does not serve ads and does not do ad-supported video (AVOD). The model is subscription, pay-per-view, or free-to-view, where free-to-view means open and ungated, not “ad-supported.”

OBS itself is free with no commercial restrictions, and WpStream offers a free trial with no credit card required, so you can prove the whole path works before you commit to a plan. The honest close, with no hype: you or the platform layer carry delivery and uptime, and you trade some of a platform’s built-in reach for control. WpStream’s job is to remove that infrastructure burden while leaving the ownership with you.

Installing OBS and the first-launch setup

Download OBS from obsproject.com and install the build for your operating system (OBS Quick Start Guide). It is a normal installer, nothing exotic.

On first launch, the Auto-Configuration Wizard appears (you can reopen it later from the Tools menu). It runs test encodes against your hardware and connection, then proposes settings tuned to what it found. For a first stream, let it do its job; you can override anything it picks later.

You will land on a blank scene. Add inputs with the “+” in the Sources dock: Display Capture for your whole screen, Window Capture for one app, Game Capture for a game, Video Capture Device for a webcam. OBS captures desktop audio and your microphone by default, which you can confirm in the Audio Mixer or under Settings ▸ Audio. The encoder lives under Settings ▸ Output.

We are keeping this thin on purpose. Starting from nothing? Our live streaming setup covers the camera, audio, and connection basics. On a budget? See budget-friendly live streaming equipment.

Scenes and sources

Scenes

A scene is a saved layout of everything on screen: your video, images, text, a webcam. You can have as many as you want. A common setup is a clean “full-screen” scene and a second “camera plus screen plus lower-third” scene, switched live the way a TV director cuts between cameras.

Sources

Sources are the individual things inside a scene: a display capture, a window, a browser source, text, a capture card, a webcam. Each can be moved, resized, and filtered on its own (OBS Sources Guide). Add one with the “+” at the bottom of the Sources dock; remove a selected one with the “minus” button. Selecting a source in the preview draws a red bounding box with drag handles, so positioning is click-and-drag.

One small naming rule saves a confusing error later: scenes and sources share one global namespace, so no scene and source can share a name (you cannot have both a source and a scene called “Game”). It is a five-second fix once you know it exists, and a baffling one when you do not.

Studio Mode

Studio Mode gives you a preview pane next to the live pane, so you set up the next scene before you push it out to viewers (the difference between a clean cut and your audience watching you drag a webcam around the screen). This whole layout is what OBS composites into the single output you are about to point at your own site.

The audio mixer and filters

The Audio Mixer dock shows each audio source with a live level meter and a volume fader. The meter is the thing to watch: slamming into the red means you are clipping and viewers hear distortion; barely moving means you are inaudible. Watching the meters is the single most useful audio habit you can build, and most beginners skip it.

Each audio source also carries a filters chain (right-click, then Filters) for the common cleanups: noise suppression for a fan, a noise gate to mute the channel between sentences, gain to lift a quiet mic, a limiter to catch peaks. Desktop audio and your mic are separate channels, so balance them so your voice is not buried under your game or music.

Encoder and output settings, the overview

This is the overview, enough to make a sane first choice. The first real decision is your encoder, and it is a tradeoff, not a “best” pick. The x264 encoder runs on your CPU and generally gives the best quality for a given bitrate, but it competes with your game and other apps for that CPU (a veryfast preset is the usual starting balance for live use). NVENC offloads the work to dedicated hardware on an NVIDIA GPU, so it barely touches your CPU, and modern NVENC sits very close to x264 in quality (OBS on x264; NVIDIA broadcasting guide). Use hardware encoding if your CPU is the bottleneck, x264 if bitrate is. As of 2026, real-time AV1 on RTX 40-series GPUs is roughly 40 percent more efficient than H.264 on average, meaning better quality at the same bitrate wherever the destination supports it (NVIDIA on AV1 in OBS).

A reasonable baseline, drawn from NVIDIA’s published recommendations:

Setting Starting value
Rate Control CBR
Keyframe Interval 2 seconds
Profile (H.264) High
NVENC Preset P6 (slower, better quality)
Psycho Visual Tuning On
Look-ahead On
Max B-frames 4

CBR is already the default in OBS and the right call for live, so you likely do not need to touch it; set the keyframe interval to 2 seconds. Rough bitrate starting points: about 8,000 Kbps for 1080p60 (needs roughly 10+ Mbps of real upload), 5,000 to 6,000 for 1080p30, and 3,500 to 4,500 for 720p.

Now the reframe that matters most. When you stream to your own site, your bitrate ceiling is your own upload headroom, not Twitch’s 6,000 Kbps cap. So size the bitrate to reality. Test your upload with the WpStream speed tester at speedtest.wpstream.live, which measures against the actual streaming ingest infrastructure rather than a generic endpoint, and keep your total stream bitrate comfortably below it, leaving roughly 20 to 30 percent of headroom, tested at the time of day you broadcast.

For the full settings walkthrough, see best OBS settings for streamers.

What happens when you hit Start Streaming (RTMP in, adaptive stream out)

RTMP stands for Real-Time Messaging Protocol. It is a TCP-based protocol that runs on port 1935 by default, originally built by Macromedia and then Adobe for Flash video (Wikipedia: RTMP). When OBS connects, it opens a persistent connection and streams your audio and video packets up to the destination.

Browsers stopped playing RTMP years ago, when Flash died. So RTMP’s modern job is ingest only: it is the contribution link that carries your encoder’s output up to a platform, and nothing more. It is not what your viewers receive.

What viewers receive is the result of what the platform does next. It transcodes your single feed into a ladder of renditions (think 1080p, 720p, 480p, and 360p), packaged for delivery as HLS, and the viewer’s player auto-selects the best one for their connection and steps down a rung instead of buffering when bandwidth dips. And here is the payoff: you run none of that yourself. With WpStream, the transcode, the multi-CDN distribution, and the adaptive delivery are all handled for you, so you send one RTMP feed from OBS and the platform absorbs the rest. Which is why the next section is so short: you already know what the server address and stream key are plugging into.

Pointing OBS at your own website: the Custom RTMP section

Set the service to Custom

Open Settings ▸ Stream in OBS. The Service dropdown is probably set to Twitch or YouTube; change it to Custom. That swaps the preset for two empty fields: a server, the RTMP ingest address in the shape of rtmp://host:1935/application, and a stream key, the unique value that identifies and authorizes your channel. Paste both, click OK, then Start Streaming. That is the entire mechanic, identical on every platform that accepts RTMP; only the source of those two values changes. It is the same thing developers wire up by hand with a self-hosted nginx-RTMP server, without the command line.

What the RTMP address is actually made of

The full form of an RTMP URL is rtmp://HOST:PORT/APPLICATION/STREAM_NAME, and plain RTMP defaults to TCP port 1935. Most platforms, OBS included, split that string into two pieces: a Server field (host plus application) and a separate Stream Key field (the stream name). Once you see it that way, the scary-looking URL is just an address and a name on the mailbox.

Where the server address and stream key come from on a WordPress and WpStream site

You install the WpStream plugin on your WordPress site and create a live channel. When you turn that channel on, it gives you an RTMP server address and a stream key: the exact two values you paste into OBS’s Custom fields (self-hosted WordPress RTMP ingest is a real, documented pattern).

One caveat is worth burning into memory: the channel has to be turned on before OBS can connect to it. A channel that is switched off is the number-one cause of “failed to connect to server,” so if OBS will not connect, check the channel state before you touch anything else.

This is also why OBS over RTMP is the canonical workflow on every WpStream plan. Plans differ on recording hours, channels, and concurrent viewers (Lite is $24/mo or a $36 one-time license; Plus is $59/mo or $89), but the OBS path is identical on all of them.

Publishing the live player on a WordPress page

Put the player on a page

Once the channel exists, you publish its player onto a WordPress page or post. WpStream exposes the player as something you drop into the editor through the usual block or shortcode insertion. You pick the channel, publish the page, and the player is now live at a URL you control. When a viewer opens that page, the player loads the stream and the adaptive delivery from the previous section does its job.

Go live and verify

Back in OBS, click Start Streaming and watch the status bar at the bottom of the window. You want a green connection indicator and a stable bitrate with few or no dropped frames. Then load your page on the WordPress side to confirm the player shows the live feed. Give it a few seconds, because there is always a short delivery delay between what you do in front of the camera and what a viewer sees. And on paid plans, the recording can be turned into on-demand video afterward, so the same page that hosted the event becomes the home of its replay.

Embedding has more depth than this (sizing, placement, gating), and it deserves its own walkthrough. See our embedding a live stream on your website. And if you want this on your own site and on YouTube or Twitch at the same time, that is multistreaming, covered in how to multistream.

Troubleshooting the OBS-to-your-own-site failures

The failures here are a small set, and almost none are OBS bugs. Work each one as symptom, then cause, then fix.

“Failed to connect to server.” The most common cause is the simplest: the channel is not turned on, or the server address was mistyped. Fix it by switching the channel on and re-copying the server address exactly. If the channel is on and the address is right, suspect a firewall blocking outbound TCP port 1935.

Stream key mismatch, or “authentication failed.” The key is usually stale, was pasted with an invisible trailing space, or was regenerated on the dashboard. Fix it by re-copying the current stream key from the channel, and regenerate it if you are unsure.

Dropped frames or an unstable bitrate. This is almost always the upload side, not OBS. Remember the reframe: your ceiling is your own connection’s upload headroom, not Twitch’s 6,000 Kbps cap. Lower your bitrate, re-test with speedtest.wpstream.live, leave about 20 to 30 percent of headroom below your measured upload, and use wired Ethernet instead of Wi-Fi if you possibly can (Wi-Fi is where a lot of otherwise-fine streams quietly fall apart).

The player just spins on the page. Usually the stream has not started yet, the page is cached, or the player block is missing. Confirm OBS shows a live connection, clear the page cache, and re-check the player is on the page. And give it the few-seconds delivery delay before deciding it is broken.

It connects, but there is no audio. A source is muted or the wrong device is selected. Open the Audio Mixer, watch the meters, and check Settings ▸ Audio.

The honest summary: nearly every OBS-to-your-own-site failure is one of four things: the server address, the stream key, a firewall, or your upload headroom. Check those before you suspect anything deeper.

Frequently asked questions

Is OBS free to use for a commercial live stream?
Yes. OBS Studio is free and open-source under GPLv2, with no watermarks and no commercial-use restrictions, so you can monetize streams you produce with it. On a WordPress site you can pair it with WpStream, which accepts that OBS feed over RTMP.

Do I need my own server to stream OBS to my website?
No. OBS sends one RTMP feed, and WpStream transcodes it into an adaptive stream that adjusts quality to each viewer and delivers it over a multi-CDN, so you never run a media server yourself. You install the plugin, create a channel, and paste the address and key it gives you into OBS.

Can I try streaming to my own site before I pay?
Yes. WpStream offers a free trial with no credit card required, so you can set up a channel and push an OBS feed to it before choosing a plan.

Why does OBS say “Failed to connect to server”?
Almost always one of four things: the channel is not turned on, the server address is wrong, the stream key is stale, or a firewall is blocking outbound TCP port 1935. With WpStream the most common cause is simply a channel that has not been switched on yet, so check that first.

Where to take this next

The through-line in one breath: OBS composites your scenes and sources into a single RTMP feed, the Custom service points that feed at a channel you own, the platform turns it into an adaptive stream on your WordPress page, and you keep the audience, the archive, and the money. Everything else is layout and tuning.

From here, the natural next steps each have a home. Tune the encoder so your quality matches your bandwidth, polish the embed, and add YouTube or Twitch in parallel without giving up ownership when you multistream, while the recordings build a video-on-demand library you control. The reason is the one we started with: the platforms can change their rules tomorrow, and a site you own does not. You can begin on the free plan today and pay only when the audience grows into it.