You have a video — a lecture you recorded, a music compilation you edited, a product demo, a film — and you want it to appear as a live broadcast on YouTube rather than a regular uploaded video. Maybe the "LIVE" badge matters to you for visibility. Maybe you want the real-time chat engagement that only lives streams get. Maybe you're building a 24/7 channel and researching how it's done. Whatever the reason, OBS Studio can do this, and this guide shows you exactly how.

OBS (Open Broadcaster Software) is the free, open-source streaming tool used by millions of creators worldwide. Its Media Source feature is the specific component that lets you play a local video file through OBS and push it to YouTube's live stream endpoint — making it appear to viewers exactly as a live broadcast. The mechanics behind it are the same RTMP ingest process used by every professional streaming setup.

This is a complete guide. We'll cover installation, every setting that matters, the exact steps to go live, and the specific places where this approach fails — because understanding the failure modes is just as important as knowing how to get it working. If you're planning to run a stream for a few hours or a specific event, the OBS method works well. If you're thinking about running something 24/7, read the whole guide before committing to this approach.

What You'll Need Before You Start

Before touching OBS, make sure you have these in place. Missing any one of them will stop you at some point in the process.

  • A Windows, Mac, or Linux computer. OBS runs on all three. For a stable encoding session, you want at least 8GB RAM, a quad-core processor, and a dedicated GPU helps but isn't required for pre-recorded video streaming. The machine must stay on and running for the entire duration of your stream.
  • A stable internet upload connection. For 1080p/30fps streaming, you need a sustained upload speed of at least 6 Mbps — ideally 10+ Mbps with headroom to spare. Test your current upload speed at fast.com or speedtest.net before starting. Wireless connections introduce variability; wired Ethernet is strongly preferred for streaming.
  • Your video file. MP4 with H.264 video and AAC audio is the most reliable format for OBS Media Source. MKV, MOV, and AVI files work too, but MP4 is most consistent. If your file is in another format, convert it first using HandBrake (free).
  • A YouTube channel with live streaming enabled. New channels have a 24-hour wait period after enabling live streaming. See our lofi channel setup guide for the exact steps to enable it.
  • OBS Studio 30.x or newer. The screenshots and settings in this guide correspond to current OBS versions. If you're on an old version, update it — the UI has changed significantly in recent releases and older guides won't match what you see.
Free
OBS Studio — always free, open source
6+
Mbps upload needed for 1080p/30fps
24hr
YouTube wait after enabling live on new channel
30 min
Typical time from install to first stream

Installing and Opening OBS Studio

Download OBS Studio from the official source: obsproject.com. Do not download it from anywhere else — unofficial sources carry modified versions that may contain malware or outdated builds with security vulnerabilities. The official site has native installers for Windows (.exe), macOS (.dmg), and Linux (Flatpak or apt repository).

Install and launch OBS. The first time you open it, the Auto-Configuration Wizard may appear. You can run it or skip it — for our use case, we'll configure the relevant settings manually, so either choice is fine. If the wizard runs and asks what you're optimizing for, select "Optimize for streaming."

When OBS loads, you'll see its main window: a preview area in the center, and panels for Scenes, Sources, Audio Mixer, Scene Transitions, and Controls along the bottom. The interface looks complex, but for streaming a pre-recorded video, you only need to interact with three areas: the Sources panel, the Settings dialog, and the Controls panel (the Start Streaming button).

OBS Studio 31.0.0 — Profile: YouTube Stream
File
Edit
View
Tools
Help
Sources + Add
🎬
Media Source — video.mp4
👁
Output Settings
Encoder x264
Bitrate 4500 kbps
Keyframe 2 sec
Resolution 1920×1080
FPS 30
00:14:32
Live time
4,482 kbps
Bitrate
0%
Dropped
30.0
FPS
Stop Recording
● Stop Streaming

Configuring Output Settings for YouTube

Before adding your video, configure OBS's output settings correctly. Getting these right before you start saves a lot of frustration later. Click Settings in the Controls panel (bottom right), then navigate through the sections below.

1
Stream settings ~2 min

In Settings → Stream, set the Service to "YouTube - RTMPS" (or "YouTube - RTMP" if RTMPS isn't listed). For Server, use "Primary YouTube ingest server" or the auto-selection. Leave the Stream Key field empty for now — we'll add it in the stream key step. Enable "Use authentication" if prompted.

2
Output settings ~3 min

In Settings → Output, switch to Advanced mode (dropdown at top of Output section). Under the Streaming tab:

  • Encoder: x264 (software) or your GPU encoder if available (NVENC for Nvidia, AMF for AMD, VideoToolbox for Mac). x264 is most universally compatible and recommended unless you know your GPU encoder well.
  • Bitrate: 4500 kbps for 1080p/30fps. Set CBR (Constant Bit Rate) — VBR causes issues with YouTube's ingest.
  • Keyframe Interval: 2 (this is seconds). This is the most commonly misconfigured setting — it must be 2 for YouTube.
  • CPU Usage Preset (x264 only): veryfast or superfast. For pre-recorded video, you don't need slow encoding — faster presets use less CPU with negligible quality impact at streaming bitrates.
  • Profile: high. Level: auto.
  • Tune: film (for most content) or none.
3
Audio output settings ~1 min

Still in Settings → Output, under the Audio tab: set Audio Bitrate to 160 kbps (or 192 kbps if music quality is a priority). In Settings → Audio separately, set Sample Rate to 44.1 kHz and Channels to Stereo. These must match what YouTube expects from an RTMP stream.

4
Video (canvas) settings ~1 min

In Settings → Video: set Base (Canvas) Resolution and Output (Scaled) Resolution both to 1920×1080. Set Common FPS Values to 30. These are the canvas settings — they define the resolution and frame rate OBS encodes at, independently of your source video's native resolution.

Setting OBS Location Required Value Why
Service Settings → Stream YouTube - RTMPS YouTube prefers encrypted ingest
Encoder Settings → Output → Streaming x264 or GPU encoder H.264 required; GPU = lower CPU load
Rate Control Settings → Output → Streaming CBR VBR causes ingest issues on YouTube
Bitrate Settings → Output → Streaming 4500 kbps 1080p/30fps sweet spot; within YouTube max
Keyframe Interval Settings → Output → Streaming 2 Platform requirement — non-2 causes quality artifacts
Canvas Resolution Settings → Video 1920×1080 Match your video source resolution
Frame Rate Settings → Video 30 fps Standard for non-gaming content
Audio Bitrate Settings → Output → Audio 160–192 kbps Higher for music content
Sample Rate Settings → Audio 44.1 kHz YouTube ingest standard

Click Apply, then OK to save settings. Don't skip this — OBS doesn't save settings until you explicitly apply them.

Adding Your Video as a Media Source

This is the core step. The Media Source is OBS's built-in component for playing local video and audio files through a scene. It's different from a "Video Capture Device" (which captures live camera input) or a "Display Capture" (which mirrors your screen). Media Source reads a file from disk and plays it through OBS's encoder pipeline exactly as if it were a live input.

1
Create a Scene (if you haven't already)

In the Scenes panel (bottom left), click the + button to add a new scene. Name it something clear — "Pre-recorded Stream" or the name of your video. OBS can have multiple scenes, but for this use case you only need one.

2
Add a Media Source

In the Sources panel, click the + button and select Media Source from the dropdown list. In the dialog that appears, give it a name (e.g., "My Video") and click OK.

The Media Source properties window opens. This is where the critical configuration happens.

3
Configure the Media Source properties

In the Media Source properties window, configure exactly these settings:

  • Local File: Check this box. Then click Browse and navigate to your video file. Select it and click Open.
  • Loop: Check this box if you want the video to loop when it ends. Leave unchecked if you want it to play once and stop.
  • Restart playback when source becomes active: Check this. It ensures the video restarts from the beginning whenever you switch back to this scene.
  • Use hardware decoding when available: Check this. It offloads video decoding to your GPU, reducing CPU usage during the stream.
  • Speed (%): Leave at 100. Changing this will desync audio and video.

Click OK to save the Media Source properties. You should see your video appear in the OBS preview canvas. If it doesn't fill the canvas fully, right-click the source in the preview, select Transform → Fit to Screen (or press Ctrl+F / Cmd+F on Mac).

4
Verify audio is coming through

In the Audio Mixer panel, you should see a level meter labeled "Media Source" (or whatever you named it) showing activity when the video plays. If you see the meter moving, audio is routing correctly through OBS and will be captured in your stream. If you see no audio level, double-check that the video file has audio and that the Media Source isn't muted (the speaker icon in the mixer).

💡

If your video file has multiple audio tracks (common with MKV files or professionally exported MP4s), OBS Media Source plays the first audio track by default. If you hear no audio or the wrong audio, right-click the Media Source → Properties → Audio Track and select the correct track number.

Connecting OBS to Your YouTube Channel

OBS needs two pieces of information to push your stream to YouTube: the RTMP ingest URL and your unique stream key. These are found in YouTube Studio.

1
Get your stream key from YouTube Studio ~2 min

Go to studio.youtube.com. Click the camera icon (Create) at top right and select Go Live. In the left sidebar, click Stream. You'll see your Stream URL (rtmp://a.rtmp.youtube.com/live2/) and your Stream Key (a long alphanumeric string).

Copy the Stream Key. Keep it private — anyone with this key can broadcast to your channel. If it's ever compromised, you can regenerate it in YouTube Studio → Settings → Channel → Advanced → Stream key.

2
Enter the stream key in OBS ~1 min

In OBS, go to Settings → Stream. In the Stream Key field, paste the key you just copied. OBS will mask it with asterisks after you paste — that's normal, it's just hiding it from screen capture. Click Apply and OK.

Alternatively, if you selected YouTube as your service, OBS may offer to connect directly to your YouTube account via OAuth (a "Connect Account" button). This is slightly more convenient because it lets OBS create and manage streams directly from the OBS interface without manual key copying. Either method works identically for the stream itself.

Going Live — The Final Steps

1
Do a pre-flight check

Before clicking Start Streaming, verify: your video is playing in the OBS preview canvas (press the spacebar or click anywhere on the preview if it's paused), the audio meter in the mixer is showing levels, and your internet connection is stable — run a quick speed test if you haven't recently.

2
Click "Start Streaming" in OBS

In the Controls panel (bottom right of OBS), click Start Streaming. OBS will begin encoding and pushing your stream to YouTube's RTMP ingest server. The status bar at the bottom of OBS will show the live bitrate, dropped frames percentage, and elapsed time. You want dropped frames at or near 0% — any sustained dropped frame rate above 1–2% indicates a network or encoding bottleneck.

3
Confirm and activate on YouTube Studio ~1 min

Switch to YouTube Studio → Go Live → Stream. After 10–30 seconds, you should see a live preview of your video appearing in the YouTube stream monitor. You'll see "Stream Health: Good" in green if everything is working correctly.

Click Go Live on the YouTube side to make the stream public. Your stream is now visible to the world. Open an incognito browser window and visit your channel to confirm it appears as live.

4
Configure stream details while live

Back in YouTube Studio, you can edit your stream's title, description, thumbnail, category, and tags while it's live. The changes take effect within a minute. Take the time to optimize this metadata — it's the difference between the algorithm finding your stream and it sitting unwatched. See our title and tag optimization guide for specific recommendations.

Setting Up Looping for Continuous Playback

If you want your video to loop automatically when it finishes — playing the same video on repeat for as long as OBS is running — the setup is simple: the Loop checkbox in Media Source properties is all you need. When checked, OBS automatically restarts the video from the beginning the moment it ends. The loop is seamless from an RTMP perspective; YouTube sees a continuous stream, not individual plays.

For a cleaner loop experience, export your video file with a brief crossfade at the end that matches the beginning, so the transition between the end and restart is less noticeable to regular viewers. Most video editors can do this in a few minutes.

Looping a Playlist (Multiple Videos)

OBS doesn't have a native playlist mode for Media Source — it plays a single file and optionally loops it. If you want to cycle through multiple videos in sequence, you have two options:

  • Pre-combine your videos into one long file. Edit all your videos together into a single MP4 using DaVinci Resolve or any video editor, then play that single combined file in OBS. This is the simplest and most reliable approach. A 4-hour combined video file loops at the 4-hour mark, giving viewers variety throughout the loop cycle.
  • Use the Advanced Scene Switcher plugin. OBS's plugin ecosystem includes the Advanced Scene Switcher, which can automatically switch scenes (and therefore Media Sources) on a timer schedule. This allows cycling through multiple clips, but it introduces complexity and potential switching latency that can create brief black frames visible to viewers. It's workable but not clean.
💡

For most continuous streaming use cases, pre-combining into a single file is significantly more reliable than attempting playlist management in OBS. Scene switches in OBS create brief encoding transitions that sometimes show as visible glitches on the stream. A single long looping file eliminates this entirely. Build a 4–8 hour master file and let it loop — simpler and cleaner.

Best Settings for Pre-Recorded Video Quality

Pre-recorded video has a different optimal encoding profile than live camera or screen capture. Because your source is a file with fixed content, not a real-time input, you have more flexibility in how OBS encodes it. Here are the specific recommendations for getting the best quality-to-bitrate ratio.

For Music or Static Visual Content (Lofi, Ambience, Slides)

If your video has a mostly static or slowly-changing visual — a lofi illustration, a campfire, a rainscape — the H.264 encoder can compress it very efficiently. You don't need a high bitrate because there's very little motion to encode. A static lofi image with a rain animation overlay streams beautifully at 2,000–3,000 kbps. Setting a bitrate higher than this wastes bandwidth without any visible quality improvement.

For High-Motion Video Content (Gaming, Action, Sport)

High-motion content needs more bits to look clean. Push to 6,000 kbps for 1080p/60fps gaming content. Use the zerolatency tune setting in x264 for content where motion clarity matters more than compression efficiency.

CPU vs GPU Encoding

For pre-recorded video, GPU encoding (NVENC for Nvidia, AMF for AMD) is generally the better choice if you have a dedicated GPU. It uses far less CPU — freeing your system to stay responsive during long streaming sessions — and modern GPU encoders produce quality comparable to x264 at equivalent bitrates. If your system gets hot or the CPU usage is high during x264 encoding, switch to NVENC/AMF. In OBS Settings → Output → Streaming, change the Encoder to "NVIDIA NVENC H.264" or "AMD HW H.264."

Content Type Bitrate Encoder Preset x264 Tune
Lofi / Static visual with audio 2000–3000 kbps veryfast film
Animated / motion-light video 3500–4500 kbps veryfast film
Talking head / lecture / podcast video 3000–4000 kbps veryfast film
High-motion / gaming / action 5500–6000 kbps superfast zerolatency
Screen recording / tutorial 3000–4500 kbps veryfast animation
Start your 24/7 loop stream today

Want to Stream Without Keeping
Your PC On All Night?

StreamKite does everything this OBS guide describes — but from cloud servers. No machine to babysit, no crashes to wake up to, no electricity bill from a PC running 24/7. Upload once, stream forever.

24/7 Auto-Streaming Crash Auto-Recovery Smart Scheduler 40+ Platforms
Get Your PassKey — Start Streaming
From $4.80/mo · 3 stream slots · PassKey emailed instantly · No credit card stored

Troubleshooting Common OBS Problems

These are the issues that actually come up — not theoretical edge cases, but the specific problems that appear in OBS forums, support threads, and in conversations with streamers who've set this up before. Work through these in order when something isn't working.

📺 Video plays in OBS preview but YouTube shows a black screen or "stream not detected"
Fix
OBS is encoding and the RTMP connection is established, but YouTube hasn't received a valid keyframe yet. Wait 20–30 seconds after clicking Start Streaming before checking YouTube Studio — the ingest pipeline takes time to initialize. If it still shows nothing after 60 seconds, check that your stream key is correct (Settings → Stream → verify key matches YouTube Studio) and that your firewall isn't blocking port 1935 or 443.
🔊 Stream has video but no audio on YouTube
Fix
The most common cause: your video file's audio is being captured by the "Desktop Audio" monitor in OBS rather than the Media Source directly. Check the Audio Mixer in OBS — you want to see levels on the Media Source track specifically. Mute "Desktop Audio" and "Mic/Aux" (click the speaker icon on each) and ensure only your Media Source audio is active. Also verify Settings → Audio → Sample Rate is 44.1 kHz, not 48 kHz — a mismatch here causes silent streams on some YouTube configurations.
📉 High dropped frames (5%+ showing in OBS status bar)
Fix
Dropped frames mean your RTMP stream is hitting a bottleneck — either your CPU can't encode fast enough, or your network can't sustain the bitrate. First try reducing your encoding bitrate (Settings → Output → Bitrate) from 4500 to 3000 kbps. If CPU is the issue, switch from x264 to a GPU encoder (NVENC/AMF). If both fail, the bottleneck is your network — switch to a wired Ethernet connection and retest. Sustained dropped frames above 1% will result in visible quality degradation on the viewer side.
🔁 Video doesn't loop — it plays once and the stream shows a frozen last frame
Fix
The Loop checkbox in Media Source properties wasn't enabled. Right-click your Media Source in the Sources panel → Properties → check the Loop checkbox → OK. You can do this while the stream is live — OBS will apply the change immediately. Also verify the video file isn't corrupted at the end (playback issues in the final seconds of a file can prevent clean looping).
🔌 Stream disconnects randomly and OBS shows "Reconnecting..."
Fix
This is a network stability issue, not an OBS configuration problem. OBS will attempt to automatically reconnect (configured in Settings → Stream → Network → Auto-reconnect) — ensure this is enabled. For recurring disconnects: switch to wired Ethernet, reduce your bitrate to give your connection more headroom, and check if your ISP is throttling upload traffic (common on residential connections during peak hours). Note: this is one of the core limitations of the OBS approach for 24/7 streaming — there is no truly automatic recovery without you being present to notice and fix it.
🎞️ Video looks blurry or lower quality on YouTube than in OBS preview
Fix
YouTube re-encodes your stream at multiple quality tiers. New streams with low view counts are often initially only served at lower quality tiers (720p, 480p) even if you're streaming at 1080p — YouTube unlocks higher quality tiers as your stream accumulates views. This is not an OBS problem. Additionally, check that your canvas resolution in OBS (Settings → Video) matches your source video — downscaling from 1080p source to a 720p canvas will lose quality that no bitrate setting can recover.
⏱️ Audio and video gradually go out of sync over a long stream
Fix
A/V drift over time almost always comes from a sample rate mismatch. Your video file's audio sample rate (check with MediaInfo — free tool) must match OBS's audio settings (Settings → Audio → Sample Rate). If your file is 48 kHz and OBS is set to 44.1 kHz, drift will accumulate. Match them — and prefer 44.1 kHz for YouTube streaming. Also ensure the Speed setting in Media Source Properties is exactly 100 — any deviation, even 99 or 101, will cause drift over hours.

The Honest Limits of the OBS Approach

This guide has shown you how to make OBS stream a pre-recorded video to YouTube. It works, and it works well for the scenarios it was designed for. But there are real limits to this approach that deserve direct, honest treatment — because understanding them upfront is what lets you make the right decision for your use case rather than discovering the problems after weeks of investment.

⚠ Real Limitations

What OBS Cannot Do for 24/7 Streaming

  • Your PC must stay on and running, continuously. Every hour your stream is live is an hour your computer is consuming power (typically 100–400W depending on hardware), generating heat, and accumulating uptime. For a 24/7 stream, that's roughly $15–60/month in electricity alone — before considering hardware wear.
  • No automatic crash recovery. OBS is a foreground application. If it crashes, your Windows update decides to restart the machine, your power flickers, or your RAM hits capacity — the stream stops. It doesn't restart itself. You wake up to a dead stream and lost watch time momentum, sometimes hours after it died.
  • No built-in scheduling. Want your stream to start at 6am and run until midnight automatically without you clicking anything? That requires third-party tools, task schedulers, and scripting — none of it is built into OBS.
  • Single platform only per stream. OBS pushes to one RTMP destination per stream. Streaming to YouTube and Twitch simultaneously requires either a paid Restream subscription used as a relay, or running two separate OBS instances.
  • Network dependency on your ISP. Your home internet connection's upload reliability becomes your stream's reliability ceiling. Residential connections have variable upload speeds, peak-hour congestion, and periodic outages that professional infrastructure doesn't experience.

None of this is criticism of OBS — it's a phenomenal tool for what it was designed to do. These are simply the architectural realities of using a desktop application running on residential infrastructure for a task that fundamentally requires always-on cloud infrastructure to do correctly.

When to Move Beyond OBS

OBS is the right tool for pre-recorded streaming in two scenarios: you're streaming a specific event or scheduled broadcast for a defined period of hours, or you're testing and learning how streaming works before committing to a longer-term setup. For either of those, the guide above is exactly what you need.

The moment you start thinking about running the stream beyond a session — overnight, across a weekend, for a week, indefinitely — the OBS-on-PC approach stops being practical and starts being a maintenance burden. The reliability gap between a desktop app on residential internet and a cloud-hosted streaming service compounds quickly over time. A week of 85% uptime means 25+ hours of dead stream. Three months of it means your channel has never had the sustained live presence that the algorithm needs to start compounding your recommendations.

Scenario OBS on PC StreamKite (Cloud)
Single event stream (2–6 hrs) ✓ Perfect fit ✓ Works fine too
Overnight stream (8–12 hrs) Risky — no monitoring ✓ Fully automatic
Weekend / multi-day stream Not recommended ✓ Designed for this
24/7 continuous loop Wrong tool ✓ Core use case
Crash recovery while you sleep None — manual only ✓ Automatic, <5 sec
Stream without PC running Impossible ✓ Cloud-hosted
Multi-platform simultaneous Requires relay service ✓ 40+ platforms native
Cost Free software + electricity From $1.60/stream/mo

The transition from OBS-on-PC to a cloud streaming service like StreamKite doesn't require relearning anything — you use the same YouTube stream key, the same video file, the same RTMP ingest system. The only difference is where the encoder lives: instead of on your laptop, it lives on a server in a datacenter with professional uptime standards, automatic crash recovery, and a scheduler so you never have to manually start or stop anything. You go from spending mental energy managing infrastructure to spending it on content.

For one-off streams and learning purposes, OBS is excellent. For building a channel that grows because the stream never stops — that's a different infrastructure problem, and it deserves the right tool.

Start your 24/7 loop stream today

Run a Nonstop YouTube Live Stream
from Any Device. Right Now.

No PC required. No OBS configuration. No crash monitoring at 3am. Upload your video once — StreamKite streams it forever from cloud servers, with automatic recovery, smart scheduling, and support for 40+ platforms.

24/7 Auto-Streaming Crash Auto-Recovery <5s Smart Scheduler 40+ Platforms From $1.60/stream
Get Your PassKey — Join StreamKite
$4.80/mo · 3 stream slots · $1.60/stream · PassKey emailed instantly · No subscription auto-billing