OBS-cli is a command-line remote control for OBS. It requires the obs-websocket plugin to be installed on your system.
On Arch Linux you can simply install the package from the AUR:
yay -S obs-cli
Or download a binary from the releases page. Linux (including ARM) binaries are available, as well as Debian and RPM packages.
Alternatively you can also build obs-cli
from source. Make sure you have a
working Go environment (Go 1.12 or higher is required). See the
install instructions.
To install obs-cli, simply run:
go install github.com/muesli/obs-cli@latest
All commands support the following flags:
--host
: which OBS instance to connect to--port
: port to connect to--password
: password used for authentication
Change the streaming state:
obs-cli stream start
obs-cli stream stop
obs-cli stream toggle
Display streaming status:
obs-cli stream status
Change the recording state:
obs-cli recording start
obs-cli recording stop
obs-cli recording toggle
Pause or resume a recording:
obs-cli recording pause enable
obs-cli recording pause resume
obs-cli recording pause toggle
Display recording status:
obs-cli recording status
List all scene names:
obs-cli scene list
Show the current scene name:
obs-cli scene get
Switch program to a scene:
obs-cli scene current <scene>
Switch preview to a scene (studio mode must be enabled):
obs-cli scene preview <scene>
Switch program (studio mode disabled) or preview (studio mode enabled) to a scene:
obs-cli scene switch <scene>
List all scene collections:
obs-cli scenecollection list
Show the current scene collection:
obs-cli scenecollection get
Switch to a scene collection:
obs-cli scenecollection set <scenecollection>
List all items of a scene:
obs-cli sceneitem list <scene>
Change the visibility of a scene-item:
obs-cli sceneitem show <scene> <item>
obs-cli sceneitem hide <scene> <item>
obs-cli sceneitem toggle <scene> <item>
Display the visibility of a scene-item:
obs-cli sceneitem visible <scene> <item>
Center a scene-item horizontally:
obs-cli sceneitem center <scene> <item>
Change a FreeType text label:
obs-cli label text <label> <text>
Trigger a countdown and continuously update a label with the remaining time:
obs-cli label countdown <label> <duration>
List special sources:
obs-cli source list
Toggle mute status of a source:
obs-cli source toggle-mute <source>
Enable or disable Studio Mode:
obs-cli studiomode enable
obs-cli studiomode disable
obs-cli studiomode toggle
Display studio mode status:
obs-cli studiomode status
Transition to program (when the studio mode is enabled):
obs-cli studiomode transition
List all profiles:
obs-cli profile list
Show the current profile:
obs-cli profile get
Switch to a profile:
obs-cli profile set <profile>
Change the replay buffer state:
obs-cli replaybuffer start
obs-cli replaybuffer stop
Save the replay buffer:
obs-cli replaybuffer save
Display replay buffer status:
obs-cli replaybuffer status
Change the virtual camera state:
obs-cli virtualcam start
obs-cli virtualcam stop
obs-cli virtualcam toggle
Display virtual camera status:
obs-cli virtualcam status