A command line interface for the OBS WebSocket API.
Project description
obsws-cli
A command line interface for OBS Websocket v5
For an outline of past/future changes refer to: CHANGELOG
Table of Contents
Requirements
- Python 3.10 or greater
- OBS Studio 28+
Installation
with uv
uv tool install obsws-cli
with pipx
pipx install obsws-cli
The CLI should now be discoverable as obsws-cli
Configuration
Flags
Pass --host, --port and --password as flags to the root command, for example:
obsws-cli --host=localhost --port=4455 --password=<websocket password> --help
Environment Variables
Store and load environment variables from:
- A
.envfile in the cwd user home directory / .config / obsws-cli / obsws.env
OBS_HOST=localhost
OBS_PORT=4455
OBS_PASSWORD=<websocket password>
Flags can be used to override environment variables.
Root Typer
- version: Get the OBS Client and WebSocket versions.
obsws-cli version
Sub Typers
Scene
- list: List all scenes.
obsws-cli scene list
- current: Get the current program scene.
obsws-cli scene current
- switch: Switch to a scene.
- args: <scene_name>
obsws-cli scene switch LIVE
Scene Item
- list: List all items in a scene.
- args: <scene_name>
obsws-cli sceneitem list LIVE
- show: Show an item in a scene.
-
flags:
optional
- --parent: Parent group name
-
args: <scene_name> <item_name>
-
obsws-cli sceneitem show START "Colour Source"
- hide: Hide an item in a scene.
-
flags:
optional
- --parent: Parent group name
-
args: <scene_name> <item_name>
-
obsws-cli sceneitem hide START "Colour Source"
- toggle: Toggle an item in a scene.
-
flags:
optional
- --parent: Parent group name
-
args: <scene_name> <item_name>
-
obsws-cli sceneitem toggle --parent=test_group START "Colour Source 3"
- visible: Check if an item in a scene is visible.
-
flags:
optional
- --parent: Parent group name
-
args: <scene_name> <item_name>
-
obsws-cli sceneitem visible --parent=test_group START "Colour Source 4"
- transform: Set the transform of an item in a scene.
- flags:
optional
-
--parent: Parent group name.
-
--alignment: Alignment of the item in the scene
-
--bounds-alignment: Bounds alignment of the item in the scene
-
--bounds-height: Height of the item in the scene
-
--bounds-type: Type of bounds for the item in the scene
-
--bounds-width: Width of the item in the scene
-
--crop-to-bounds: Crop the item to the bounds
-
--crop-bottom: Bottom crop of the item in the scene
-
--crop-left: Left crop of the item in the scene
-
--crop-right: Right crop of the item in the scene
-
--crop-top: Top crop of the item in the scene
-
--position-x: X position of the item in the scene
-
--position-y: Y position of the item in the scene
-
--scale-x: X scale of the item in the scene
-
--scale-y: Y scale of the item in the scene
-
- args: <scene_name> <item_name>
- flags:
optional
obsws-cli sceneitem transform \
--rotation=5 \
--position-x=250.8 \
Scene "Colour Source 3"
Scene Collections
- list: List all scene collections.
obsws-cli scenecollection list
- current: Get the current scene collection.
obsws-cli scenecollection current
- switch: Switch to a scene collection.
- args: <scene_collection_name>
obsws-cli scenecollection switch test-collection
- create: Create a new scene collection.
- args: <scene_collection_name>
obsws-cli scenecollection create test-collection
Group
- list: List groups in a scene.
- args: <scene_name>
obsws-cli group list START
- show: Show a group in a scene.
- args: <scene_name> <group_name>
obsws-cli group show START "test_group"
- hide: Hide a group in a scene.
- args: <scene_name> <group_name>
obsws-cli group hide START "test_group"
- toggle: Toggle a group in a scene.
- args: <scene_name> <group_name>
obsws-cli group toggle START "test_group"
- status: Get the status of a group in a scene.
- args: <scene_name> <group_name>
obsws-cli group status START "test_group"
Input
- list: List all inputs.
-
flags:
optional
- --input: Filter by input type.
- --output: Filter by output type.
- --colour: Filter by colour source type.
-
obsws-cli input list
obsws-cli input list --input --colour
- mute: Mute an input.
- args: <input_name>
obsws-cli input mute "Mic/Aux"
- unmute: Unmute an input.
- args: <input_name>
obsws-cli input unmute "Mic/Aux"
- toggle: Toggle an input.
obsws-cli input toggle "Mic/Aux"
Record
- start: Start recording.
obsws-cli record start
- stop: Stop recording.
obsws-cli record stop
- status: Get recording status.
obsws-cli record status
- toggle: Toggle recording.
obsws-cli record toggle
- resume: Resume recording.
obsws-cli record resume
- pause: Pause recording.
obsws-cli record pause
Stream
- start: Start streaming.
obsws-cli stream start
- stop: Stop streaming.
obsws-cli stream stop
- status: Get streaming status.
obsws-cli stream status
- toggle: Toggle streaming.
obsws-cli stream toggle
Profile
- list: List profiles.
obsws-cli profile list
- current: Get the current profile.
obsws-cli profile current
- switch: Switch to a profile.
- args: <profile_name>
obsws-cli profile switch test-profile
- create: Create a new profile.
- args: <profile_name>
obsws-cli profile create test-profile
- remove: Remove a profile.
- args: <profile_name>
obsws-cli profile remove test-profile
Replay Buffer
- start: Start the replay buffer.
obsws-cli replaybuffer start
- stop: Stop the replay buffer.
obsws-cli replaybuffer stop
- status: Get the status of the replay buffer.
obsws-cli replaybuffer status
- save: Save the replay buffer.
obsws-cli replaybuffer save
Studio Mode
- enable: Enable studio mode.
obsws-cli studiomode enable
- disable: Disable studio mode.
obsws-cli studiomode disable
- toggle: Toggle studio mode.
obsws-cli studiomode toggle
- status: Get the status of studio mode.
obsws-cli studiomode status
Virtual Cam
- start: Start virtual camera.
obsws-cli virtualcam start
- stop: Stop virtual camera.
obsws-cli virtualcam stop
- toggle: Toggle virtual camera.
obsws-cli virtualcam toggle
- status: Get the status of the virtual camera.
obsws-cli virtualcam status
License
obsws-cli is distributed under the terms of the MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file obsws_cli-0.10.5.tar.gz.
File metadata
- Download URL: obsws_cli-0.10.5.tar.gz
- Upload date:
- Size: 14.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.27.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b358069d8f55a10bd84f1956eec364a4261fa3db66dce68ceaea262dfdeba48
|
|
| MD5 |
281b6093a793d1342af3ef6be47c2a5b
|
|
| BLAKE2b-256 |
3c02f294a6d84385629da0042cdb47c4eecf5a8ff6ca5a061543c063e1cba825
|
File details
Details for the file obsws_cli-0.10.5-py3-none-any.whl.
File metadata
- Download URL: obsws_cli-0.10.5-py3-none-any.whl
- Upload date:
- Size: 16.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.27.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6115b18eeb8ab86eaf8144891daf5ca29ba5b9a103d24d3e60c5ebb9a11f0018
|
|
| MD5 |
276a03e7f31eccca8c60af9672d46e63
|
|
| BLAKE2b-256 |
506cb4f1bd07697a6444cba1f4bcb610ba4a3bc085069a8964d807b296eee7ae
|