wingetsilent-installobs-studiostreamingrecordingtutorial
OBS Studio

How to Install OBS Studio Silently with winget on Windows

Install OBS Studio silently with winget — single-line command for streaming and recording setups, with profile import and uninstall flags.

· 4 min read · updated May 29, 2026

OBS Studio is the de-facto screen recorder and streaming tool on Windows — used by Twitch streamers, YouTubers, conference organisers, and almost anyone making video tutorials. Here's the silent install for new-PC setups and creator-rig provisioning.

TL;DR

Open Terminal as Administrator:

winget install --id OBSProject.OBSStudio -e --silent --accept-package-agreements --accept-source-agreements

OBS Studio installs to C:\Program Files\obs-studio. ~30 seconds, ~250 MB on disk. Admin required.

What gets installed

Field Value
Package ID OBSProject.OBSStudio
Publisher OBS Project
Installer type NSIS (Nullsoft)
License GPL-2.0
Latest version 32.1.2 (April 2026)
Homepage obsproject.com
Default install path C:\Program Files\obs-studio

The installer bundles the OBS Studio executable, plugins (browser source, NVENC codec, VST, scripting hosts), media stack (FFmpeg, x264), and the OBS Virtual Camera driver. About 250 MB on disk after install.

Skip the Virtual Camera driver

OBS Virtual Camera is a system driver that adds a fake webcam fed by OBS. It needs admin and adds to install time. If you don't need it:

winget install --id OBSProject.OBSStudio -e --override "/S /NoVirtualCam=1"

You can install the virtual camera later from inside OBS: Tools → Install Virtual Camera.

Pre-release / beta

For early-access builds:

winget install --id OBSProject.OBSStudio.Beta -e --silent

Or the Release Candidate:

winget install --id OBSProject.OBSStudio.RC -e --silent

Side-by-side install with stable.

Pre-deploy scenes, profiles, and settings

OBS reads its config from %APPDATA%\obs-studio. To pre-configure for a streamer's setup:

$obsDir = "$env:APPDATA\obs-studio"
New-Item -ItemType Directory -Path "$obsDir\basic\profiles\Streaming", "$obsDir\basic\scenes" -Force | Out-Null

# Drop a starter scene collection (replace with your own JSON)
Copy-Item ".\team-default-scenes.json" "$obsDir\basic\scenes\Default.json" -Force

# Drop a streaming profile
Copy-Item ".\team-stream-profile.ini" "$obsDir\basic\profiles\Streaming\basic.ini" -Force

On first launch, OBS picks up the scene collection and profile from these folders. Great for team productions, classroom setups, or conference recording booths where everyone needs the same scenes.

Encode using NVENC by default

If you're deploying to NVIDIA-equipped machines, set encoder defaults via the profile INI:

[Output]
RecEncoder=jim_nvenc
StreamEncoder=jim_nvenc
NVENC_Preset=p5

Hardware encoding offloads streaming to the GPU's dedicated NVENC engine, freeing CPU for game performance.

Specify version

winget install --id OBSProject.OBSStudio -e --version 32.0.4 --silent

List versions:

winget show --id OBSProject.OBSStudio --versions

To freeze on a major version:

winget pin add --id OBSProject.OBSStudio --version "32.*"

See winget pin guide.

Install OBS plugins

The OBS plugin ecosystem is huge. Common picks:

# Stream-side: multi-RTMP, advanced scene switcher
$plugins = @(
  "https://github.com/sorayuki/obs-multi-rtmp/releases/latest/download/obs-multi-rtmp-x64.zip",
  "https://github.com/WarmUpTill/SceneSwitcher/releases/latest/download/advanced-scene-switcher-windows-x64.zip"
)

foreach ($url in $plugins) {
  $tmp = "$env:TEMP\$(Split-Path -Leaf $url)"
  Invoke-WebRequest -Uri $url -OutFile $tmp
  Expand-Archive $tmp -DestinationPath "C:\Program Files\obs-studio" -Force
}

Plugins land in data\obs-plugins and obs-plugins\64bit. OBS auto-detects on launch.

Verify

& "C:\Program Files\obs-studio\bin\64bit\obs64.exe" --version

Or just check:

winget list --id OBSProject.OBSStudio

Upgrade silently

winget upgrade --id OBSProject.OBSStudio -e --silent --accept-package-agreements --accept-source-agreements

OBS notifies you of updates in-app but doesn't auto-update — winget upgrade is the cleanest way to keep it current. The latest version sometimes breaks plugins, so test before deploying.

Uninstall silently

winget uninstall --id OBSProject.OBSStudio --silent --disable-interactivity

To also wipe scenes, profiles, and recordings (your config + maybe gigabytes of video):

winget uninstall --id OBSProject.OBSStudio --silent
Remove-Item "$env:APPDATA\obs-studio" -Recurse -Force -ErrorAction SilentlyContinue
# Don't auto-wipe Videos folder — your recordings might be there
# Remove-Item "$env:USERPROFILE\Videos" -Recurse -Force

The Virtual Camera driver may persist after uninstall. Remove it via Device Manager (Imaging devices → OBS Virtual Camera → Uninstall device).

In a streaming-rig setup

# Full streamer / content creator setup
$apps = @(
  "OBSProject.OBSStudio",
  "Discord.Discord",
  "Valve.Steam",
  "Nvidia.GeForceExperience",
  "Spotify.Spotify",
  "Microsoft.PowerToys"
)

foreach ($id in $apps) {
  winget install --id $id -e --silent `
    --accept-package-agreements --accept-source-agreements
}

See Top 15 winget packages for gaming PCs for the full streamer kit.

Common errors

"OBS Studio is already installed" — force-overlay:

winget install --id OBSProject.OBSStudio -e --silent --force

"DirectX runtime missing" — install the DirectX runtime separately:

winget install --id Microsoft.DirectX -e --silent

0x80073D02 — OBS is currently in use — close OBS (including any preview windows). Virtual Camera driver may hold a handle even after OBS quits:

Get-Process obs64 -ErrorAction SilentlyContinue | Stop-Process -Force
winget upgrade --id OBSProject.OBSStudio

See package in use fix.

Black screen captured instead of game — OBS needs GPU permission for some games (specifically those using full-screen exclusive mode). In Windows Settings → Graphics → add OBS to "Auto" or "High performance" depending on your GPU.

See also

Continue reading