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:
- Update your GPU drivers from the manufacturer's website (NVIDIA, AMD, or Intel)
- Install the latest DirectX End-User Runtime from Microsoft
- Restart and try again
Prevention: Keep GPU drivers updated.
Error: OBS crashes on startup (possibly browser source related)
Cause: Corrupted browser source cache or incompatible CEF version. Community issue #13348 reports this pattern.
Solution:
- Launch OBS with the
--disable-browserflag to confirm the cause - Clear the browser source cache: delete
~/.config/obs-studio/plugin_config/obs-browser/(Linux) or equivalent on your OS - 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:
- Open System Settings → Privacy & Security → Screen Recording
- Enable OBS Studio in the list
- Restart OBS Studio
Error: No audio devices detected
Cause: Audio subsystem not initialized or wrong audio backend selected.
Solution:
- Go to Settings → Audio
- Verify Desktop Audio and Mic/Auxiliary Audio devices are set correctly
- 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:
- Unload and reload the kernel module:
sudo modprobe -r v4l2loopback
sudo modprobe v4l2loopback
- 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:
- Create the profile
- Close and reopen Settings before renaming
- Then rename the profile
Error: NVENC encoder initialization fails
Cause: NVIDIA drivers too old or GPU doesn't support NVENC.
Solution:
- Update to the latest NVIDIA drivers
- Verify your GPU supports NVENC (GTX 600 series or newer)
- Check that
nvcuda.dll(Windows) orlibcuda.so.1(Linux) is present
Error: High CPU usage with x264 encoding
Cause: Software encoding is CPU-intensive, especially at higher presets.
Solution:
- Switch to a hardware encoder (NVENC, AMF, or QSV) in Settings → Output
- If using x264, change the preset from
mediumtoveryfastorultrafast - 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
- Open Settings → Stream
- Select your service (Twitch, YouTube, Kick, Facebook, or Custom)
- Enter your stream key
- 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
- In the Sources dock, click the + button
- Select the source type from the list
- Choose Create new or Add Existing (to share from another scene)
- Configure source-specific properties in the dialog
- 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
- Configure output: Settings → Output → Recording (format, path, encoder, quality)
- Click Start Recording in the Controls dock
- Click Stop Recording when finished
- 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
- Configure your streaming service (Settings → Stream)
- Verify your output settings match the service's requirements
- Click Start Streaming in the Controls dock
- 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.
- Click Start Virtual Camera in the Controls dock
- 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:
- Go to Settings → Stream → select Twitch → enter your stream key (or Connect Account)
- Go to Settings → Output → select Simple mode
- Set Video Bitrate to 6000 Kbps
- Set Encoder to Hardware (NVENC) (or AMF/QSV if available)
- Go to Settings → Video → set Output Resolution to 1920x1080, FPS to 60
- 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:
- Settings → Output → switch to Advanced mode
- Under Recording, set Type to Standard, Format to MKV
- Set Audio Tracks: check tracks 1 and 2
- Open Edit → Advanced Audio Properties
- Assign Desktop Audio to Track 1 only, Mic to Track 2 only
- 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:
- Add a Video Capture Device source, select your webcam
- Right-click the source → Filters
- Click + under Effect Filters → select Chroma Key
- Adjust Similarity (start at 400), Smoothness (start at 80), and Key Color Spill Reduction
- Fine-tune until the background is cleanly removed
Add a Browser Source Overlay (Stream Alerts)
Goal: Display alerts (follows, subscriptions, donations) on stream.
Steps:
- Get your overlay URL from your alert provider (Streamlabs, StreamElements, etc.)
- Add a Browser Source → paste the URL
- Set dimensions to match your canvas (1920x1080 for full-screen overlays)
- 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:
- Right-click the Mic source in the Audio Mixer → Filters
- 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:
- Go to File → Remux Recordings
- Select the
.mkvfile - 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:
- Go to View → Multiview (or right-click the preview → Multiview)
- Select which monitor to display the multiview on
- 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:
- Go to Settings → Hotkeys
- Assign keys for: Start/Stop Streaming, Start/Stop Recording, Scene switching, Mute/Unmute sources, Push-to-talk, Transition
- 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:
- Go to Tools → Automatic Scene Switcher
- Add rules mapping window titles to scenes
- Set a default scene for when no rules match
- Enable When a window is active, switch to scene
Use Scripting to Extend OBS
OBS supports scripting via Lua (LuaJIT) and Python 3:
- Go to Tools → Scripts
- Click + to add a script file (
.luaor.py) - 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:
- Switch from x264 (software) to a hardware encoder (NVENC, AMF, QSV)
- If using x264, change preset to
veryfastorsuperfast - Lower output resolution (e.g., 1080p → 720p)
- 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:
- Run a speed test and verify upload bandwidth exceeds your bitrate by at least 50%
- Lower the streaming bitrate
- Try a different ingest server
- Use RTMPS instead of RTMP if your service supports it
- 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:
- macOS: Grant Screen Recording permission in System Settings
- Windows Game Capture: Try Window Capture or Display Capture instead
- Windows Display Capture: Disable hardware acceleration in the captured application
- 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:
- Open Edit → Advanced Audio Properties
- Adjust the Sync Offset (positive to delay audio, negative to advance it)
- 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:
- Disable or remove unused browser sources
- Check Sources for sources that are not visible but still active
- 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:
- Use Display Capture instead of Game Capture
- 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:
- Click away from and back to the mixer to refresh the UI state
- 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:
- Expand the group, then collapse and expand again
- 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:
- Reconnect integrations (Twitch, YouTube, Restream) after renaming a profile
- 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:
- Toggle "Always on top" off and on again for the affected window
- 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.