Resource icon

Free Command line tool for obs-websocket plugin (Windows) 1.5.7

A small tool to enable control of OBS Studio via command line in Windows.

Requires obs-websocket plugin (included):

How to install:
1. Download
2. Extract the file (you can put the folder "OBSCommand" anywhere you want, but not in the "obs-plugins" folder, this is where obs-websocket will install itself)
3. Download and install the latest version of websocket-plugin from
4. In OBS Studio menu, go to "Tools"->"Websocket server settings"
5. Uncheck "Enable System Tray Alerts" (unless you want to get spammed)
6. Use OBSCommand.exe to control OBS Studio local or from a remote machine

Also check out the new Noobs Cmdr, a GUI for OBSCommand written by nuttylmao, you can create batch files or vbs scripts for OBSCommand with a few mouse clicks with this tool!

OBSCommand.exe /server= /password=xxxx /delay=0.5 /setdelay=0.05 /profile=myprofile /scene=myscene /hidesource=myscene/mysource /showsource=myscene/mysource /togglesource=myscene/mysource /toggleaudio=myaudio /mute=myaudio /unmute=myaudio /setvolume=mysource,volume,delay /fadeopacity=mysource,myfiltername,startopacity,endopacity,[fadedelay],[fadestep] /slidesetting=mysource,myfiltername,startvalue,endvalue,[slidedelay],[slidestep] /slideasync=mysource,myfiltername,startvalue,endvalue,[slidedelay],[slidestep] /startstream /stopstream /startrecording /stoprecording /command=mycommand,myparam1=myvalue1... /sendjson=jsonstring

Note: If Server is omitted, default will be used.
Use quotes if your item name includes spaces.
Password can be empty if no password is set in OBS Studio.

You can use the same option multiple times.
If you use Server and Password, those must be the first 2 options!

OBSCommand.exe /scene=myscene
OBSCommand.exe /toggleaudio="Desktop Audio"
OBSCommand.exe /mute=myAudioSource
OBSCommand.exe /unmute="my Audio Source"
OBSCommand.exe /setvolume=Mic/Aux,0,50
OBSCommand.exe /setvolume=Mic/Aux,100
OBSCommand.exe /fadeopacity=Mysource,myfiltername,0,100,5,2
OBSCommand.exe /slidesetting=Mysource,myfiltername,contrast,-2,0,100,0.01
OBSCommand.exe /slideasync=Mysource,myfiltername,saturation,*,5,100,0.1
OBSCommand.exe /stopstream
OBSCommand.exe /profile=myprofile /scene=myscene /showsource=mysource
OBSCommand.exe /showsource=mysource
OBSCommand.exe /hidesource=myscene/mysource
OBSCommand.exe /togglesource=myscene/mysource
OBSCommand.exe /showsource="my scene"/"my source"
OBSCommand.exe /command=SaveReplayBuffer
OBSCommand.exe /command=TakeSourceScreenshot,sourceName=MyScene,PictureFormat=png,saveToFilePath=C:\OBSTest.png
OBSCommand.exe /command=SetSourceFilterSettings,sourceName="Color Correction",filterName=Opacity,filterSettings=opacity=10
OBSCommand.exe /sendjson="ReorderSceneItems={'scene': 'MyScene', 'items': [{'name': 'Image'}, {'name': 'Gamecapture'}]}"
OBSCommand.exe /scene=mysource1 /delay=1.555 /scene=mysource2
OBSCommand.exe /setdelay=1.555 /scene=mysource1 /scene=mysource2

/server=            define server address and port
  Note: If Server is omitted, default will be used.
/password=xxxx                    define password (can be omitted)
/delay=n.nnn                      delay in seconds (0.001 = 1 ms)
/setdelay=n.nnn                   global delay in seconds (0.001 = 1 ms)
                                  (set it to 0 to cancel it)
/profile=myprofile                switch to profile "myprofile"
/scene=myscene                    switch to scene "myscene"
/hidesource=myscene/mysource      hide source "scene/mysource"
/showsource=myscene/mysource      show source "scene/mysource"
/togglesource=myscene/mysource    toggle source "scene/mysource"
  Note:  if scene is omitted, current scene is used
/toggleaudio=myaudio              toggle mute from audio source "myaudio"
/mute=myaudio                     mute audio source "myaudio"
/unmute=myaudio                   unmute audio source "myaudio"
/setvolume=myaudio,volume,delay   set volume of audio source "myaudio"
                                  volume is 0-100, delay is in milliseconds
                                  between steps (min. 10, max. 1000) for fading
  Note:  if delay is omitted volume is set instant
                                  start/end opacity is 0-100, 0=fully transparent
                                  delay is in milliseconds, step 0-100
             Note: Use * for start- or endopacity for fade from/to current value
                                  start/end value min/max depends on setting!
                                  delay is in milliseconds
                                  step depends on setting (can be x Or 0.x Or 0.0x)
             Note: Use * for start- or end value to slide from/to current value
            The same as slidesetting, only this one runs asynchron!
/startstream                      starts streaming
/stopstream                       stop streaming
/startrecording                   starts recording
/stoprecording                    stops recording

General User Command syntax:
                                  issues user command,parameter(s) (optional)
                                  issues user command,parameters and sub-parameters
                                  Note: Use single quotes if you have arguments with equal sign
List of ALL commands (for the /command and /sendjson option):

  • Like
Reactions: norihiro
First release
Last update
5.00 star(s) 6 ratings

Latest updates

  1. Update 1.5.7

    Fix for parsing commands with equal sign in quoted arguments (needs single quote now), updated...
  2. Update 1.5.6

    - Added (optional) steps to /setvolume
  3. Update 1.5.5

    - Fixed setvolume issues, now behaves more linear to set slider 0-100%, reads out volume...

Latest reviews

Thank you. This is just brilliant.
So powerfull ! Thank you
Super useful and easy.
i'll never thank you enough! <3
You're welcome =)
Thank you very much. This is exactly what I needed. Very much appreciated.
great idea!
very useful thanks