OBS Guides

How to set up OBS for streaming: service, bitrate and a test stream

Build a first OBS stream from the limits that matter: platform settings, sustainable upload, output size, encoder load and a rehearsal that checks picture, sound and delivery.

Ethernet cable seated in a router port with lime tape around the plug

To set up OBS for streaming, connect the intended channel through the streaming wizard, then fit bitrate and output size to your upload connection and the service’s requirements. I’d start with a private or bandwidth-only rehearsal, because the OBS preview can’t confirm delivery to viewers. Check the sound, run the intended workload and use Stats to distinguish a connection problem from an overloaded encoder.

The controls below use OBS Studio 33. This setup is for one conventional video stream. It keeps the scene layout, outgoing picture, encoder and network connection separate, so a problem at one stage doesn’t send you changing every setting.

Keep the first connection out of public view

Have a scene with the intended picture and microphone ready before tuning the stream. If the preview is empty, add or select the intended capture source and confirm that it appears in the scene. Changing bitrate won’t make a missing source appear.

Make the destination ready too. For YouTube, first-time live enablement can take up to 24 hours, so do it before the day of an event. Create a test stream with Private visibility. Check the event's Auto-start setting before sending anything from OBS, because visibility and automatic starting belong to the YouTube stream.

Do this before the wizard's bandwidth test: check what the channel will expose. OBS's bandwidth-test warning says it may send randomized video without audio to the channel, and recommends private visibility and temporarily disabling saved broadcasts where possible. A button labeled “test” doesn’t itself provide privacy. Twitch has a separate bandwidth-only route, covered in the rehearsal section below.

Connect the service and apply a baseline

  1. Open Tools > Auto-Configuration Wizard. The OBS Quick Start Guide describes it as the starting point for the intended job, hardware resources and streaming network conditions.
  2. Choose Optimize for streaming, recording is secondary. Work through Video Settings, then select the destination in Stream Information.
  3. Choose the actual service, such as Twitch or YouTube - RTMPS. Where offered, use Connect Account (recommended) and confirm the correct channel. Use Use Stream Key (advanced) when you need the manual route. A custom provider needs the server address and key supplied by that provider, not a guessed Twitch or YouTube address.
  4. Review any bandwidth-test warning before continuing. At Final Results, read the proposed encoder, bitrate and scaled resolution, then choose Apply Settings.
  5. Open Settings > Stream and verify the service and connected account, or the intended server and key. For Twitch, clear Enable Enhanced Broadcasting for this conventional single-stream walkthrough. Its automatic multi-quality mode can control stream settings, so it needs a different setup. Review the output settings against the full workload you intend to broadcast.
OBS Studio Auto-Configuration Wizard, Usage Information page, with Optimize for streaming, recording is secondary selected and Next ready
Pick the streaming option on the first page and click Next; the wizard then walks through Video Settings and Stream Information before its Final Results.

Keep a stream key out of messages and visible screen captures. YouTube's stream key guidance describes the key as the credential connecting the encoder to the stream and provides a reset control. For a destination with a different connection route, check its encoder instructions before entering a custom address. The streaming setup guides cover related jobs once the first connection is established.

Give bitrate a budget before choosing the picture

Use a stable upload figure from the connection you’ll broadcast on, with its normal shared traffic. Download speed doesn’t set this budget. OBS recommends starting video bitrate at roughly 75% of total upload speed; the route to the ingest server may require less. Use Ethernet where available, and remember that a speed-test result isn’t proof of sustained delivery to that server.

For the first rehearsal, I’d put video plus audio inside that 75% allowance. That’s a conservative adaptation of OBS's video-only starting guidance. It leaves more room for variation and other traffic. The delivery test still decides whether the connection can sustain the result.

Example stable upload75% combined budgetRoom for video after 128 kbps audio
5 Mbps3,750 kbps3,622 kbps
10 Mbps7,500 kbps7,372 kbps
20 Mbps15,000 kbps14,872 kbps

These are arithmetic examples, not measured connections or resolution presets. Multiply Mbps by 1,000 to compare with OBS's kbps fields, then subtract the audio bitrate you’ll send. Choose a video bitrate below the remaining budget and within the selected service's guidance. More upload capacity doesn’t grant a higher platform limit.

Keep the canvas; size the outgoing stream

Open Settings > Video. If OBS says video output is active, stop the stream, recording or other active output before changing these controls. In the order shown:

  1. Base (Canvas) Resolution: keep the size used to arrange the scene. Don’t shrink the canvas merely to reduce the stream's workload.
  2. Output (Scaled) Resolution: choose the picture size sent out. For example, a 1920x1080 scene can produce a 1280x720 stream without repositioning its sources. The OBS overview distinguishes canvas size from scaled output.
  3. Common FPS Values: start at 30 fps when capacity is uncertain. Move to 60 only when the motion warrants it and the rehearsal supports it. OBS notes that 60 fps requires more resources than 30.
OBS Studio Settings, Video page: Base (Canvas) Resolution 1920x1080, Output (Scaled) Resolution 1280x720, Bicubic filter, 30 fps
Leave Base (Canvas) Resolution at the size you arranged the scene in and set the stream size in Output (Scaled) Resolution, here 1280x720 at 30 fps.

A 720p30 output is a sensible first rehearsal choice when the available capacity is unclear, but it still needs a bitrate that fits the destination. Keep the current downscale filter while establishing whether the connection and encoder can sustain the output; changing several processing choices at once makes the result harder to interpret.

Set the service bitrate and encoder

Open Settings > Output and use Output Mode: Simple for this first setup. Simple streaming uses CBR and applies service recommendations. Keep Ignore streaming service setting recommendations unchecked in Settings > Stream > Advanced Options. You don’t need Advanced mode just to find a constant-bitrate switch.

Set Video Bitrate from the budget and the destination. For a conventional Twitch H.264 stream, the Twitch entry in the OBS 33.0.1 services file lists a 6,000 kbps maximum video recommendation. Stay lower if your connection needs it. This is the value in that OBS profile, not a claim about every Twitch encoding feature.

YouTube's numbers differ. Its H.264 encoder settings give 720p at 30 fps a 3 Mbps minimum and an 8 Mbps recommended video bitrate; the full table for 1080p and 60 fps is in the YouTube streaming guide.

The minimum isn’t a promise of good detail in every scene. In the 10 Mbps upload example, the cautious video budget is 7,372 kbps, so YouTube's recommended 8,000 kbps for 720p30 already exceeds it. A lower value within YouTube's stated range needs a motion rehearsal. If even the minimum for your chosen format won’t fit, choose a smaller format from the platform's table. Don’t raise bitrate past the connection budget to preserve a resolution label.

Next, set Audio Bitrate for the destination. YouTube recommends 128 kbps for stereo audio; use that figure in the example budget when sending AAC stereo. For another service, use its own audio recommendation. Leave recording and Replay Buffer controls alone until the stream is established, unless recording at the same time is part of the workload you need to rehearse.

For Video Encoder, pick a hardware H.264 entry OBS offers for this service, or Software (x264) if none appears. On an Intel Mac, streaming needs x264, because the OBS hardware guide restricts Apple VT streaming to Apple Silicon. The trade-offs per GPU are in the encoder guide; for this first stream, take the hardware entry and let Stats show whether it keeps up.

Keep the remaining encoder controls at the wizard or service values while establishing a baseline. If you already use Advanced output, retain the platform's CBR and keyframe requirements: YouTube recommends two-second keyframes and says not to exceed four seconds. Adjust encoder effort after Stats identifies encoding as the constrained stage; keep bitrate within the service and connection limits.

Put the intended sound into the mix

Speak into the intended microphone and play the game, presentation or other program audio. Each should move the corresponding Audio Mixer meter. If the wrong device responds or nothing moves, select the intended device in Settings > Audio, as the OBS audio setup instructions describe. Moving meters confirm sound has reached OBS; listening to the resulting output confirms what the viewer receives.

On macOS: use OBS Studio > Review App Permissions if the microphone, camera or screen source lacks permission. For program sound, OBS 30 and later on macOS 13 or higher provides macOS Audio Capture for desktop or application audio; macOS Screen Capture can also carry sound. Don’t assume that following a Windows Desktop Audio step created the Mac source you need.

After changing Video, Output or Audio controls, click Apply, then OK in Settings to save the changes and return to the main window.

Make a short local recording and listen for missing speech, a program that overwhelms the voice, duplicated sound and an unexpected source. Correct that mix before a viewer is waiting. This recording checks the local picture and sound; it doesn’t send data to the streaming ingest server.

Choose latency on the platform

Latency is the time between an event and the viewer seeing it. Lowering it makes conversation easier, but reduces the player's room to absorb delivery fluctuations. It doesn’t repair insufficient upload or an overloaded encoder.

On YouTube, open Stream Settings > Stream latency in Live Control Room. YouTube describes three latency choices: Normal for non-interactive streams, Low for limited interaction and Ultra-low for close conversation. Lower modes expose viewers more directly to delivery trouble and can increase buffering. Low and Ultra-low don’t support 4K. For a first rehearsal without audience interaction, Normal gives a useful baseline; choose a lower mode when the actual event needs it and rehearse that mode too.

Keep Settings > Advanced > Stream Delay disabled unless you deliberately want to delay the outgoing stream. If you change it, apply the change before the network rehearsal.

Rehearse the real workload and read Stats

Use the actual scene, game or presentation, microphone, camera and intended frame rate for a few minutes. Include motion and sound similar to the event. YouTube's pre-stream guidance calls for representative audio and movement, followed by monitoring stream-health messages.

YouTube: use the Private test event

Select the Private test event and verify Auto-start before choosing Start Streaming in OBS. Confirm that the intended event receives the picture, inspect its health messages and listen through the viewer path. The YouTube encoder workflow separates encoder output from the Go live decision, subject to the event’s automatic-start setting.

Twitch: test delivery without live viewers

On Twitch, two routes send to the ingest server without going live: Enable Bandwidth Test Mode in Settings > Stream > Advanced Options for a linked account, or a manual key ending in ?bandwidthtest=true, the RTMP test suffix Twitch documents; the full steps are in the guide to connecting Twitch to OBS. When the check is finished, choose Stop Streaming, clear the switch or remove the suffix, then click Apply, then OK, or your next broadcast won’t reach viewers.

Open Docks > Stats during the network rehearsal. View > Stats opens a separate window if you prefer. Press Reset before each comparison, then watch which counter grows under the representative workload.

OBS Stats window during a live bandwidth test at 30 fps: Stream row LIVE with Dropped Frames (Network) at 0 / 7200, Reset and Close buttons
Press Reset before each run, then watch the Stream row's Dropped Frames (Network) for delivery trouble and the two lag counters above it for local load.
Stats counterConstrained stageFirst response
Dropped Frames (Network)Delivery from the computer to the ingest serverLower the sending bitrate or try another ingest server. An encoder preset doesn’t fix this route.
Frames missed due to rendering lagComposing the sceneReduce competing GPU work, cap the game's frame rate or simplify the scene; reduce output size/FPS if needed.
Skipped frames due to encoding lagEncoding the outgoing pictureReduce output size/FPS or revisit the encoder. More upload capacity doesn’t give the encoder more processing capacity.

OBS's connection troubleshooting guide places network loss on the path to ingest, while its encoding-performance guidance covers local rendering and encoding pressure. If the network row keeps climbing, continue with the dropped frames diagnosis. Keep the two local-processing counters separate from it.

When changing a setting, stop the output where required, change the constrained stage and repeat the same workload. If the public event will include a simultaneous recording, add that to the rehearsal too. Save the settings that held up, confirm the intended event's visibility before the real start, and leave Stats visible for the first broadcast.