Jesse A. Green / notebook

Live demo: the DocCompiler guide library as a static, read-only snapshot (October 2026). No backend, no accounts, nothing to submit.

OBS Studio — User Guide

Generated May 2026 from obsproject/obs-studio at 1b41b44

AI-generated documentation. The library is checked by sampling (three repositories so far); this guide was not individually reviewed. Verify against the project before relying on it.

1. Quick Start

OBS Studio (Open Broadcaster Software) is a free, open-source application for video recording and live streaming. It captures from multiple sources — displays, windows, cameras, capture cards, and more — composites them into scenes, and outputs to streaming services or local recordings. OBS Studio runs natively on Windows, macOS, and Linux.

Key features:

  • Unlimited scenes with custom source layouts and transitions
  • Real-time audio mixing with per-source volume controls, filters, and monitoring
  • Hardware-accelerated encoding via NVENC, AMD AMF, Intel QSV, Apple VideoToolbox
  • Streaming via RTMP/RTMPS to Twitch, YouTube, Kick, Facebook, and 200+ services, plus WebRTC (WHIP) output
  • Recording in MKV, MP4, FLV, and MOV containers with automatic remuxing
  • Studio Mode for live production with preview/program workflow
  • Virtual Camera output for use in video calls (Zoom, Teams, Discord)
  • Plugin and scripting extensibility (Lua, Python)
  • Multiview for monitoring multiple scenes simultaneously

Prerequisites: A computer running Windows 10+ (x64 or ARM64), macOS 12+, or Ubuntu 22.04+ (or compatible Linux distribution). A GPU with up-to-date drivers is recommended for encoding performance.

Install and launch (quickest path):

Windows

Download the installer from https://obsproject.com/download
Run the installer → Launch OBS Studio

macOS

Download the .dmg from https://obsproject.com/download
Drag OBS Studio to Applications → Launch

Ubuntu

sudo add-apt-repository ppa:obsproject/obs-studio
sudo apt update && sudo apt install obs-studio

On first launch, the Auto-Configuration Wizard runs automatically. It tests your system, detects hardware encoders, and suggests optimal streaming/recording settings.

Tip

The Auto-Configuration Wizard benchmarks your network and hardware. Run it even if you plan to customize settings later — it sets sensible defaults for resolution, bitrate, and encoder selection.

What to try next:

  • Add your first source (display capture, window capture, or webcam) — see Core Usage below
  • Configure your streaming service — see Configuration
  • Start recording — just click Start Recording in the Controls dock

2. Installation

System Requirements

Component Minimum Recommended
OS Windows 10 (x64), macOS 12, Ubuntu 22.04 Windows 11, macOS 14+, Ubuntu 24.04
CPU Dual-core 2 GHz Quad-core 3 GHz+
RAM 4 GB 8 GB+
GPU DirectX 10.1 / OpenGL 3.3 compatible NVIDIA GTX 900+, AMD RX 400+, or Apple Silicon
Disk 600 MB for installation SSD recommended for recording
Network 2 Mbps upload for streaming 6+ Mbps for 1080p streaming

Installation Methods

Windows (Installer)

1. Download the installer from https://obsproject.com/download
2. Run OBS-Studio-XX.X-Full-Installer-x64.exe
3. Follow the installation wizard
4. Launch OBS Studio from the Start Menu

Windows (Portable)

1. Download the .zip archive from https://obsproject.com/download
2. Extract to any folder
3. Run bin/64bit/obs64.exe

macOS

1. Download OBS-Studio-XX.X-macOS-Universal.dmg
2. Open the .dmg and drag OBS Studio to /Applications
3. On first launch, grant Screen Recording and Camera permissions in System Settings → Privacy & Security

Ubuntu/Debian

sudo add-apt-repository ppa:obsproject/obs-studio
sudo apt update
sudo apt install obs-studio

Flatpak (Linux)

flatpak install flathub com.obsproject.Studio
flatpak run com.obsproject.Studio

FreeBSD

pkg install -y obs-studio

Building from Source

git clone --recursive https://github.com/obsproject/obs-studio.git
cd obs-studio
cmake -S . -B build -G Ninja
cmake --build build --config RelWithDebInfo

Important

Building from source requires CMake 3.28+, a C17/C++17 compiler, Qt6, FFmpeg, and platform-specific dependencies. See the build prerequisites in the project wiki for your platform.

Build Dependencies (Source Build)

Dependency Purpose
CMake 3.28+ Build system
Qt6 (Base, SVG) GUI framework
FFmpeg (libavcodec, libavutil, libavformat) Media encoding/decoding
jansson JSON parsing
libcurl HTTP requests
mbedTLS or OpenSSL TLS for RTMPS
x264 H.264 software encoding
Chromium Embedded Framework (CEF) Browser source support
SWIG + LuaJIT/Python 3 Scripting support

Post-Install Verification

After installation, launch OBS Studio. You should see:

- The main window with a black preview area
- A Sources dock (empty)
- A Scenes dock with one default scene
- An Audio Mixer dock showing Desktop Audio and Mic/Aux
- A Controls dock with Start Streaming, Start Recording, etc.

Warning

On macOS, OBS Studio requires Screen Recording permission to capture displays and windows. If you skip this permission prompt, display and window captures will show black frames. Grant it in System Settings → Privacy & Security → Screen Recording.

Installation Troubleshooting

Error: OBS fails to start with a DirectX error (Windows)

Cause: Outdated GPU drivers or missing DirectX runtime.

Solution:

  1. Update your GPU drivers from the manufacturer's website (NVIDIA, AMD, or Intel)
  2. Install the latest DirectX End-User Runtime from Microsoft
  3. Restart and try again

Prevention: Keep GPU drivers updated.

Cause: Corrupted browser source cache or incompatible CEF version. Community issue #13348 reports this pattern.

Solution:

  1. Launch OBS with the --disable-browser flag to confirm the cause
  2. Clear the browser source cache: delete ~/.config/obs-studio/plugin_config/obs-browser/ (Linux) or equivalent on your OS
  3. If using third-party plugins, try Safe Mode (offered after a crash) which disables third-party plugins

Prevention: Keep OBS updated and avoid mixing plugin versions.

Error: Black screen on display/window capture (macOS)

Cause: Missing screen recording permissions.

Solution:

  1. Open System Settings → Privacy & Security → Screen Recording
  2. Enable OBS Studio in the list
  3. Restart OBS Studio

Error: No audio devices detected

Cause: Audio subsystem not initialized or wrong audio backend selected.

Solution:

  1. Go to Settings → Audio
  2. Verify Desktop Audio and Mic/Auxiliary Audio devices are set correctly
  3. On Linux, ensure PulseAudio or PipeWire is running

Error: obs-studio package not found (Ubuntu)

Cause: PPA not added.

Solution:

sudo add-apt-repository ppa:obsproject/obs-studio
sudo apt update
sudo apt install obs-studio

Error: Virtual Camera not available after stopping (Linux)

Cause: The v4l2loopback kernel module gets into an inconsistent state. Community issue #12506 documents this behavior.

Solution:

  1. Unload and reload the kernel module:
sudo modprobe -r v4l2loopback
sudo modprobe v4l2loopback
  1. Restart OBS Studio

Prevention: Avoid rapidly starting/stopping the virtual camera.

Error: Crash when renaming a newly created profile

Cause: Race condition when renaming a profile immediately after creation. Tracked as issue #12458.

Solution:

  1. Create the profile
  2. Close and reopen Settings before renaming
  3. Then rename the profile

Error: NVENC encoder initialization fails

Cause: NVIDIA drivers too old or GPU doesn't support NVENC.

Solution:

  1. Update to the latest NVIDIA drivers
  2. Verify your GPU supports NVENC (GTX 600 series or newer)
  3. Check that nvcuda.dll (Windows) or libcuda.so.1 (Linux) is present

Error: High CPU usage with x264 encoding

Cause: Software encoding is CPU-intensive, especially at higher presets.

Solution:

  1. Switch to a hardware encoder (NVENC, AMF, or QSV) in Settings → Output
  2. If using x264, change the preset from medium to veryfast or ultrafast
  3. Lower the output resolution

3. Configuration

OBS Studio stores configuration in INI-style files within the user's application data directory. Configuration is organized into profiles (encoding, streaming, and recording settings) and scene collections (scenes, sources, and their arrangement).

Configuration Locations

Platform Path
Windows %APPDATA%\obs-studio\
macOS ~/Library/Application Support/obs-studio/
Linux ~/.config/obs-studio/

Key Configuration Files

File Purpose
global.ini Application-wide settings (renderer, language, update preferences)
user.ini Per-user UI preferences (dock layout, preview state, snapping)
basic/profiles/{name}/basic.ini Profile-specific output, video, audio, and streaming settings
basic/profiles/{name}/service.json Streaming service configuration (service name, server, stream key)
basic/scenes/{name}.json Scene collection definition (scenes, sources, transitions)

Essential Settings

Video Settings

Setting Default Description
Base (Canvas) Resolution Auto-detected Internal rendering resolution
Output (Scaled) Resolution Same as base Resolution of the encoded output
Downscale Filter Bicubic Lanczos (sharper), Bicubic (balanced), Bilinear (fastest)
Common FPS Values 30 Frame rate for output (30 or 60 typical)
Renderer Direct3D 11 (Windows) / OpenGL (other) Graphics backend

Audio Settings

Setting Default Description
Sample Rate 48 kHz Audio sample rate
Channels Stereo Mono, Stereo, or surround layouts
Desktop Audio Default System audio capture device
Mic/Auxiliary Audio Default Microphone input device
Meter Decay Rate Configurable How quickly audio meters fall
Peak Meter Type Sample Peak Sample Peak or True Peak (ITU-R BS.1770)

Tip

Set the Peak Meter Type to True Peak for broadcast-standard loudness monitoring. This uses 5x oversampled Whittaker-Shannon interpolation for accurate peak measurement.

Streaming Service Setup

  1. Open Settings → Stream
  2. Select your service (Twitch, YouTube, Kick, Facebook, or Custom)
  3. Enter your stream key
  4. Select a server (or leave on Auto for services that support it)

For Twitch and YouTube, OBS supports OAuth integration — click Connect Account to authorize directly without manually copying stream keys.

Note

OBS ships with a built-in services database (services.json) containing server lists and recommended settings for 200+ streaming platforms. This database updates automatically.

Output Settings (Simple Mode)

Setting Options Recommendation
Video Bitrate 1000–50000 Kbps 4500–6000 for 1080p30
Encoder Hardware (NVENC, AMF, QSV, Apple VT) or Software (x264) Hardware when available
Audio Bitrate 64–320 Kbps 160 for streaming, 320 for recording
Recording Format MKV, MP4, FLV, MOV MKV (crash-safe, remux later)

For the full configuration reference including Advanced output mode, custom FFmpeg output, and all encoder-specific settings, see the Admin Guide.


4. Core Usage

Understanding Scenes and Sources

OBS Studio uses a scene/source model:

  • Scenes are canvas layouts that you switch between during a stream or recording
  • Sources are individual capture elements (camera, display, image, text, etc.) placed within a scene
  • Sources can be shared across scenes — changing a shared source updates it everywhere

Source Types

Source Type Plugin Description
Display Capture linux-capture, mac-capture, win-capture Captures an entire monitor
Window Capture linux-capture, mac-capture, win-capture Captures a specific application window
Game Capture win-capture Hooks into game rendering (Windows only)
Video Capture Device win-dshow, mac-avcapture, linux-v4l2 Webcam or capture card input
Image image-source Static image file (PNG, JPG, BMP, GIF)
Image Slide Show image-source Rotating images with configurable timing
Media Source obs-ffmpeg Video/audio file playback
Browser Source obs-browser (CEF) Embedded web page (alerts, overlays, widgets)
Text (FreeType 2) text-freetype2 On-screen text with font/color customization
Color Source image-source Solid color rectangle
Audio Input Capture Platform audio plugins Captures a microphone or line input
Audio Output Capture Platform audio plugins Captures desktop/system audio
VLC Video Source vlc-video Video playback via VLC libraries
Syphon Client mac-syphon Captures Syphon output from other apps (macOS)
AJA Capture aja Professional AJA capture card input
Decklink Capture decklink Blackmagic Decklink capture card input

Adding a Source

  1. In the Sources dock, click the + button
  2. Select the source type from the list
  3. Choose Create new or Add Existing (to share from another scene)
  4. Configure source-specific properties in the dialog
  5. Click OK — the source appears in the preview

Arranging Sources

  • Drag sources in the preview to reposition them
  • Drag handles to resize
  • Right-click → Transform for precise positioning (exact pixel coordinates, alignment, rotation)
  • Right-click → Order to change z-order (bring to front, send to back)
  • Sources higher in the Sources list are rendered on top (front)

Tip

Enable snapping in Settings → General for alignment assistance. Sources snap to canvas edges, other sources, and center lines. The default snap distance is 10 pixels.

Audio Mixing

The Audio Mixer dock shows volume controls for all audio sources in the current scene. Features include:

  • Volume sliders with fader curves (Cubic, IEC, Logarithmic)
  • Mute/unmute buttons per source
  • Volume locking to prevent accidental changes
  • Audio monitoring (off, monitor only, monitor and output)
  • Advanced Audio Properties for per-source volume, sync offset, mono downmix, and audio track assignment
  • Vertical or horizontal mixer layout (toggle via toolbar button)
  • Hide/show sources and pin frequently used ones

Note

OBS supports up to 6 audio tracks. Assign sources to specific tracks in Advanced Audio Properties. This lets you record separate audio tracks for microphone, desktop audio, and game audio for post-production editing.

Transitions

OBS includes built-in scene transitions:

Transition Description
Cut Instant switch (zero duration)
Fade Smooth opacity crossfade
Swipe Directional wipe effect
Slide Sliding motion between scenes
Stinger Custom video animation overlay
Fade to Color Fades through a solid color
Luma Wipe Uses a grayscale image as wipe pattern

Configure transition type and duration in the Scene Transitions section of the main window.

Studio Mode

Studio Mode splits the interface into Preview (left) and Program (right) panels:

  • Preview shows the scene you are preparing
  • Program shows what is currently live/recording
  • Click Transition (or use a hotkey) to push Preview to Program
  • Edit sources in Preview without affecting the live output

Enable Studio Mode via the Studio Mode button in the Controls dock or in Settings → General.

Recording

  1. Configure output: Settings → Output → Recording (format, path, encoder, quality)
  2. Click Start Recording in the Controls dock
  3. Click Stop Recording when finished
  4. Find your recording in the configured output path

Warning

Use MKV format for recordings. If OBS crashes during an MP4 recording, the file will be corrupted and unrecoverable. MKV files survive crashes and can be losslessly remuxed to MP4 afterward via File → Remux Recordings.

Streaming

  1. Configure your streaming service (Settings → Stream)
  2. Verify your output settings match the service's requirements
  3. Click Start Streaming in the Controls dock
  4. Monitor the status bar for dropped frames, bitrate, and connection quality

Virtual Camera

OBS can output its composited video as a virtual camera device, usable in Zoom, Teams, Discord, Google Meet, and other video call applications.

  1. Click Start Virtual Camera in the Controls dock
  2. In your video call app, select OBS Virtual Camera as the camera device

On macOS, the virtual camera uses a CoreMediaIO Camera Extension (system extension). On Linux, it requires the v4l2loopback kernel module.


5. Common Tasks

Stream to Twitch at 1080p60

Goal: Set up a high-quality Twitch stream.

Prerequisites: Twitch account, stream key, hardware encoder (recommended), 8+ Mbps upload.

Steps:

  1. Go to Settings → Stream → select Twitch → enter your stream key (or Connect Account)
  2. Go to Settings → Output → select Simple mode
  3. Set Video Bitrate to 6000 Kbps
  4. Set Encoder to Hardware (NVENC) (or AMF/QSV if available)
  5. Go to Settings → Video → set Output Resolution to 1920x1080, FPS to 60
  6. Click Start Streaming

Verify: Check the status bar — bitrate should stabilize near 6000 Kbps with 0 dropped frames.

If it fails: Lower bitrate to 4500, reduce to 720p60, or switch to a closer ingest server.

Record Gameplay with Separate Audio Tracks

Goal: Record with game audio and microphone on separate tracks for editing.

Steps:

  1. Settings → Output → switch to Advanced mode
  2. Under Recording, set Type to Standard, Format to MKV
  3. Set Audio Tracks: check tracks 1 and 2
  4. Open Edit → Advanced Audio Properties
  5. Assign Desktop Audio to Track 1 only, Mic to Track 2 only
  6. Start recording — your MKV will contain two independent audio tracks

Set Up a Webcam with Chroma Key (Green Screen)

Goal: Remove a green screen background from a webcam feed.

Steps:

  1. Add a Video Capture Device source, select your webcam
  2. Right-click the source → Filters
  3. Click + under Effect Filters → select Chroma Key
  4. Adjust Similarity (start at 400), Smoothness (start at 80), and Key Color Spill Reduction
  5. Fine-tune until the background is cleanly removed

Add a Browser Source Overlay (Stream Alerts)

Goal: Display alerts (follows, subscriptions, donations) on stream.

Steps:

  1. Get your overlay URL from your alert provider (Streamlabs, StreamElements, etc.)
  2. Add a Browser Source → paste the URL
  3. Set dimensions to match your canvas (1920x1080 for full-screen overlays)
  4. Position the source in your scene layout

Tip

Browser sources support custom CSS. Use this to hide unwanted elements from the web page or style alerts to match your stream branding.

Apply Audio Filters to a Microphone

Goal: Clean up microphone audio with noise suppression and compression.

Steps:

  1. Right-click the Mic source in the Audio Mixer → Filters
  2. Add filters in this order (processing chain matters):
    • Noise Suppression (RNNoise for AI-based, or Speex)
    • Noise Gate (Close Threshold: -32 dB, Open Threshold: -26 dB)
    • Compressor (Ratio: 3:1, Threshold: -18 dB, Attack: 6 ms, Release: 60 ms)
    • Limiter (Threshold: -3 dB)

Import Settings from Another Streaming Application

OBS Studio can import profiles from other streaming software. Go to Profile → Import and select the profile format. The importer supports profiles from:

  • XSplit
  • OBS Classic
  • Streamlabs OBS

Remux a Recording from MKV to MP4

Goal: Convert a crash-safe MKV recording to a widely compatible MP4.

Steps:

  1. Go to File → Remux Recordings
  2. Select the .mkv file
  3. Click Remux — the MP4 is created in the same directory

Note

Remuxing is lossless and nearly instant — it repackages the video without re-encoding. Audio artifacts after remux (issue #13249) may indicate the original recording had timing issues.

Use Multiview for Multi-Scene Monitoring

Goal: Monitor all scenes simultaneously on a second monitor.

Steps:

  1. Go to View → Multiview (or right-click the preview → Multiview)
  2. Select which monitor to display the multiview on
  3. Click any scene in the multiview to switch to it (if mouse switching is enabled)

Multiview supports drawing scene names and safe areas as overlays, configurable in Settings → General.

Set Up Hotkeys

Goal: Control OBS without clicking the UI.

Steps:

  1. Go to Settings → Hotkeys
  2. Assign keys for: Start/Stop Streaming, Start/Stop Recording, Scene switching, Mute/Unmute sources, Push-to-talk, Transition
  3. Click Apply

Hotkeys work globally (even when OBS is not focused) unless you change the Hotkey Focus behavior in Settings → General. Options:

  • Never disable hotkeys (default)
  • Disable hotkeys when main window is not active
  • Disable hotkeys when main window or dialogs are not active

Configure Auto Scene Switching

OBS can automatically switch scenes based on the active window.

Steps:

  1. Go to Tools → Automatic Scene Switcher
  2. Add rules mapping window titles to scenes
  3. Set a default scene for when no rules match
  4. Enable When a window is active, switch to scene

Use Scripting to Extend OBS

OBS supports scripting via Lua (LuaJIT) and Python 3:

  1. Go to Tools → Scripts
  2. Click + to add a script file (.lua or .py)
  3. The script can create sources, register hotkeys, respond to events, and add UI elements

Scripts are loaded from the frontend-tools plugin and have full access to the OBS scripting API.


6. Troubleshooting

Diagnostic Decision Tree

OBS not working?
├── Won't start → Check GPU drivers, try Safe Mode, try --disable-browser
├── Black preview → Check source permissions (macOS), try different capture method
├── Dropped frames while streaming → Check network, lower bitrate, use hardware encoder
├── Encoding overloaded → Switch to hardware encoder, lower resolution/FPS, use faster x264 preset
├── Audio issues → Check Audio settings, verify device selection, check Advanced Audio Properties
├── Crash during use → Upload log (Help → Log Files), check issue tracker
└── Poor recording quality → Increase bitrate, use CQP/CRF mode, ensure SSD write speed

Error: "Encoding overloaded! Consider turning down video settings."

Cause: The CPU cannot encode frames fast enough at current settings.

Solution:

  1. Switch from x264 (software) to a hardware encoder (NVENC, AMF, QSV)
  2. If using x264, change preset to veryfast or superfast
  3. Lower output resolution (e.g., 1080p → 720p)
  4. Lower frame rate (60 → 30 FPS)

Prevention: Use hardware encoding whenever possible. Modern GPUs handle encoding with negligible performance impact.

Error: Dropped frames during streaming

Cause: Insufficient upload bandwidth, network congestion, or server issues.

Solution:

  1. Run a speed test and verify upload bandwidth exceeds your bitrate by at least 50%
  2. Lower the streaming bitrate
  3. Try a different ingest server
  4. Use RTMPS instead of RTMP if your service supports it
  5. Close other applications consuming bandwidth

Prevention: Use a wired Ethernet connection. Avoid streaming over Wi-Fi when possible.

Error: Preview shows black screen

Cause: Source permissions missing, wrong capture method, or GPU driver issue.

Solution:

  1. macOS: Grant Screen Recording permission in System Settings
  2. Windows Game Capture: Try Window Capture or Display Capture instead
  3. Windows Display Capture: Disable hardware acceleration in the captured application
  4. Check that the correct GPU is being used (multi-GPU systems)

Error: Audio desync between video and audio

Cause: Audio source has different latency than video source.

Solution:

  1. Open Edit → Advanced Audio Properties
  2. Adjust the Sync Offset (positive to delay audio, negative to advance it)
  3. Typical webcam audio offsets: 50–150 ms

Error: OBS uses high CPU even when idle

Cause: Browser sources running JavaScript, excessive source count, or preview rendering at high resolution.

Solution:

  1. Disable or remove unused browser sources
  2. Check Sources for sources that are not visible but still active
  3. In Settings → General, reduce preview FPS or disable preview when not streaming

Error: DLSS Frame Generation frames not captured

Cause: Game Capture cannot hook DLSS Frame Generation interpolated frames. This is a known limitation documented in issue #13337.

Solution:

  1. Use Display Capture instead of Game Capture
  2. Alternatively, disable DLSS Frame Generation while streaming/recording

Error: Audio Mixer buttons desync when controlled via WebSocket

Cause: WebSocket commands can change audio state without updating the mixer UI. Tracked as issue #13246.

Solution:

  1. Click away from and back to the mixer to refresh the UI state
  2. This is a cosmetic issue — the actual audio routing is correct

Error: Non-functional toolbar buttons after inserting source in a folded group

Cause: UI state mismatch when sources are added to collapsed groups. Tracked as issue #13026.

Solution:

  1. Expand the group, then collapse and expand again
  2. Or restart OBS Studio

Error: Integrations disconnect when renaming profile

Cause: OAuth tokens are tied to profile names. Renaming invalidates the association. Tracked as issue #9748.

Solution:

  1. Reconnect integrations (Twitch, YouTube, Restream) after renaming a profile
  2. Settings → Stream → Disconnect, then reconnect

Error: "Always on top" sub-windows don't appear on top after launch

Cause: Window z-ordering is not restored correctly on startup. Tracked as issue #12072.

Solution:

  1. Toggle "Always on top" off and on again for the affected window
  2. Or restart OBS

Warning

Always upload your OBS log file when reporting issues. Go to Help → Log Files → Upload Current Log File. The log contains system information, loaded plugins, encoder details, and error messages that are essential for diagnosing problems. OBS also provides an online log analyzer at obsproject.com/tools/analyzer.


7. FAQ

General

Q: Is OBS Studio really free?

Yes, OBS Studio is completely free and open-source under the GNU General Public License v2. There are no paid tiers, premium features, or subscriptions.

Q: What platforms does OBS Studio support?

Windows 10+ (x64 and ARM64), macOS 12+, and Linux (Ubuntu 22.04+, Flatpak, and other distributions). FreeBSD is also supported via community packages.

Q: Can I run multiple instances of OBS Studio?

Yes, launch OBS with the --multi flag to allow multiple instances. Each instance needs its own profile and scene collection to avoid conflicts.

Q: Does OBS support portable mode?

Yes, launch with the --portable flag. All configuration files will be stored in the OBS installation directory instead of the user's application data folder.

Streaming

Q: Which streaming services does OBS support?

OBS ships with built-in support for 200+ services via the rtmp-services plugin, including Twitch, YouTube, Facebook Live, Kick, Amazon IVS, Restream, and many more. You can also use any custom RTMP/RTMPS/WHIP server.

Q: Can I stream to multiple platforms simultaneously?

OBS itself outputs to one service at a time. To multistream, use a restreaming service (like Restream) or configure multiple OBS output instances via plugins.

Q: What is the maximum supported streaming bitrate?

There is no hardcoded limit in OBS. The effective maximum depends on your upload bandwidth and the receiving service's limits (e.g., Twitch caps non-partners at 6000 Kbps, YouTube allows up to 51,000 Kbps for 4K).

Q: What is WebRTC/WHIP output?

The obs-webrtc plugin provides WHIP (WebRTC-HTTP Ingestion Protocol) output for ultra-low-latency streaming to services that support WebRTC ingestion.

Recording

Q: What recording format should I use?

MKV is recommended because it is crash-resistant — if OBS or your system crashes, the file remains intact. Remux to MP4 afterward using File → Remux Recordings. MP4 files are corrupted if the recording is not properly finalized.

Q: Can I record and stream at the same time?

Yes. Enable Automatically Record When Streaming in Settings → General, or independently control streaming and recording with separate buttons/hotkeys. You can use different encoders, resolutions, and bitrates for streaming vs. recording.

Q: What video codecs does OBS support?

H.264 (via x264, NVENC, AMF, QSV, VideoToolbox), H.265/HEVC (via NVENC, AMF, QSV, VideoToolbox), and AV1 (via NVENC on RTX 40+ and AMF on RDNA 3+).

Audio

Q: How many audio tracks can I record?

Up to 6 simultaneous audio tracks. Assign sources to tracks via Edit → Advanced Audio Properties.

Q: What noise suppression methods are available?

Two methods: RNNoise (AI/ML-based, included in obs-filters via the bundled RNNoise library) and Speex (traditional DSP-based). RNNoise generally provides better results for voice. NVIDIA Broadcast users can also use the nv-filters plugin for GPU-accelerated noise removal and virtual background.

Q: Can I monitor audio through headphones while recording?

Yes. In Edit → Advanced Audio Properties, set the Audio Monitoring column to Monitor and Output for sources you want to hear. Configure the monitoring device in Settings → Audio → Advanced → Monitoring Device.

Plugins and Extensions

Q: Where are plugins installed?

Plugins are loaded from the obs-plugins/ directory within the OBS installation path, and from plugin_config/ in the user data directory. Third-party plugins typically install to one of these locations.

Q: Can I disable third-party plugins?

Yes. If OBS detects a crash on the previous launch, it offers Safe Mode which disables all third-party plugins. You can also launch with --safe-mode or --disable-3p-plugins.

Q: What scripting languages does OBS support?

OBS supports Lua (via LuaJIT) and Python 3 through the obs-scripting module. Scripts can access the full OBS API to create sources, register callbacks, and add custom UI.

Q: Does OBS have a WebSocket API for remote control?

Yes, the obs-websocket plugin (bundled) provides a WebSocket server for programmatic control. Third-party tools like Stream Deck, Touch Portal, and custom applications connect via this API.