Skip to main content

OBS CLI

Project description

🎬🎥 OBS CLI

obs-cli is a command-line interface for OBS Studio.

It allows you to control OBS Studio from the command line, making it easier to automate scene switching, source toggling, and more.

This implementation of obs-cli is:

⚠️ Only the new OBS WebSocket API (v5) is supported!

💻 Installation

You can install obs-cli using pip(x):

# pipx
pipx install obs-cli

# pip
pip install --user obs-cli

🛠️ Usage

Here's the general usage of obs-cli:

obs-cli --help

This will show you the available commands and options.

🌟 Features

🎞️ Scene Management

You can manage scenes using the scene command:

obs-cli scene --help

For example, to switch to a scene named "Scene2":

obs-cli scene switch "Scene2"

To list all scenes:

obs-cli scene list

📦 Item Management

You can manage scene items using the item command:

obs-cli item --help

For example, to hide an item named "Item1" in a scene named "Scene2":

obs-cli item hide --scene "Scene2" "Item1"

And to show it:

obs-cli item show --scene "Scene2" "Item1"

To list all items in a scene:

obs-cli item list --scene "Scene2"

📂 Group Management

You can manage scene item groups using the group command:

obs-cli group --help

For example, to hide an group named "group1" in a scene named "Scene2":

obs-cli group hide --scene "Scene2" "group1"

And to show it:

obs-cli group show --scene "Scene2" "group1"

To list all groups in a scene:

obs-cli group list --scene "Scene2"

🎤 Input Management

You can manage inputs using the input command:

obs-cli input --help

For example, to get the settings of an input named "Mic/Aux":

obs-cli input get "Mic/Aux"

To set the device_id of a webcam input named "Webcam":

obs-cli input set "Webcam" device_id /dev/v4l/by-id/usb-Elgato_Elgato_Facecam_FW52K1A04919-video-index0

To list all inputs:

obs-cli input list

Mute/unmute or toggle the mute state of an input:

obs-cli input mute "Mic/Aux"
obs-cli input unmute "Mic/Aux"
obs-cli input toggle-mute "Mic/Aux"

🎨 Filter Management

You can manage filters using the filter command:

obs-cli filter --help

For example, to enable a filter named "Filter1" on an input named "Mic/Aux":

obs-cli filter enable "Mic/Aux" "Filter1"

And to disable it:

obs-cli filter disable "Mic/Aux" "Filter1"

To list all filters on an input:

obs-cli filter list "Mic/Aux"

⌨️ Hotkey Management

You can manage hotkeys using the hotkey command:

obs-cli hotkey --help

For example, to trigger a hotkey named "Hotkey1":

obs-cli hotkey trigger "Hotkey1"

To list all hotkeys:

obs-cli hotkey list

🎥 Virtual Camera Management

You can manage the virtual camera using the virtualcam command:

obs-cli virtualcam --help

For example, to start the virtual camera:

obs-cli virtualcam start

To stop the virtual camera:

obs-cli virtualcam stop

To toggle the virtual camera:

obs-cli virtualcam toggle

To get the status of the virtual camera:

obs-cli virtualcam status

📡 Stream Management

You can manage the stream using the stream command:

obs-cli stream --help

For example, to start streaming:

obs-cli stream start

To stop streaming:

obs-cli stream stop

To toggle streaming:

obs-cli stream toggle

To get the status of the stream:

obs-cli stream status

🎥 Record Management

You can manage recording using the record command:

obs-cli record --help

For example, to start recording:

obs-cli record start

To stop recording:

obs-cli record stop

To toggle recording:

obs-cli record toggle

To get the status of the recording:

obs-cli record status

📄 License

This project is licensed under the GPL-3.0 License.

See LICENSE for more information.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

obs-cli-0.8.2.tar.gz (45.4 kB view details)

Uploaded Source

Built Distribution

obs_cli-0.8.2-py3-none-any.whl (31.4 kB view details)

Uploaded Python 3

File details

Details for the file obs-cli-0.8.2.tar.gz.

File metadata

  • Download URL: obs-cli-0.8.2.tar.gz
  • Upload date:
  • Size: 45.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for obs-cli-0.8.2.tar.gz
Algorithm Hash digest
SHA256 7de689a57c42e736fe600a0d05c42136e7c315ebd00a79146f2ed8b5a74aeffc
MD5 82aac3267f3a677f9d4809deb33c94c6
BLAKE2b-256 213c8148e133e7a09bf4385e012581de7ab638724e1a8882614fb935453781f8

See more details on using hashes here.

File details

Details for the file obs_cli-0.8.2-py3-none-any.whl.

File metadata

  • Download URL: obs_cli-0.8.2-py3-none-any.whl
  • Upload date:
  • Size: 31.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for obs_cli-0.8.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b29a254b658977b9af02198f7de2823e9b732bac7e2ec0819e973a16748106f0
MD5 a7ffa42ef146043620328341d7491e5b
BLAKE2b-256 1ef424b8bfe3b2c5d5f1c4cd988a51c764b95fdb7c4200981ccb2b1dd901dd32

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page