Resource icon

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

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

Requires obs-websocket plugin (included): https://obsproject.com/forum/resources/obs-websocket-remote-control-of-obs-studio-made-easy.466/

How to install:
1. Download OBSCommand_v1.5.6.zip
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 https://github.com/Palakis/obs-websocket/releases
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 OBSComand with a few mouse clicks with this tool!

Usage:
OBSCommand.exe /server=127.0.0.1:4444 /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 127.0.0.1:4444 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!



Examples:
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


Code:
Options:
--------
/server=127.0.0.1:4444            define server address and port
  Note: If Server is omitted, default 127.0.0.1:4444 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
/fadeopacity=mysource,myfiltername,startopacity,endopacity,[fadedelay],[fadestep]
                                  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
/slidesetting=mysource,myfiltername,settingname,startvalue,endvalue,[slidedelay],[slidestep]
                                  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
/slideasync
            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:
/command=mycommand,myparam1=myvalue1,myparam2=myvalue2...
                                  issues user command,parameter(s) (optional)
/command=mycommand,myparam1=myvalue1,myparam2=myvalue2,myparam3=mysubparam=mysubparamvalue
                                  issues user command,parameters and sub-parameters
List of ALL commands (for the /command and /sendjson option):
https://github.com/Palakis/obs-websocket/blob/4.x-current/docs/generated/protocol.md



Source-code:
https://github.com/REALDRAGNET/OBSCommand
  • Like
Reactions: norihiro
Author
FSC
Downloads
10,908
Views
35,143
First release
Last update
Rating
5.00 star(s) 6 ratings

Latest updates

  1. Update 1.5.6

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

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

    - Fixed large numbers did not work with /command

Latest reviews

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