| Crates.io | e_obs |
| lib.rs | e_obs |
| version | 0.1.5 |
| created_at | 2025-06-06 02:50:55.459236+00 |
| updated_at | 2025-07-20 08:01:56.27298+00 |
| description | control OBS via websocket. Open Broadcaster Software control for use with cargo-e |
| homepage | https://github.com/davehorner/cargo-e/tree/develop/addendum/e_obs |
| repository | https://github.com/davehorner/cargo-e/tree/develop/addendum/e_obs |
| max_upload_size | |
| id | 1702565 |
| size | 157,189 |
e_obs is a Rust-based utility designed to interact with OBS (Open Broadcaster Software) via its WebSocket API. It provides functionality for executing commands, capturing screenshots, setting wallpapers, and creating animated GIFs, making it a versatile tool for automating OBS workflows.
--cmd argument.To use e_obs, ensure you have the following prerequisites:
Clone the repository and build the project:
# Clone the repository
git clone git@github.com:davehorner/cargo-e.git
# Navigate to the project directory
cd cargo-e/addendum/e_obs
# Build the project
cargo build --release
You need to install obs first.
choco obs-studio.install
or via the installer. e_obs uses default paths, if you installed in another location, adjust paths.
To enable the OBS WebSocket server, follow these steps:
Go to Tools > WebSocket Server Settings.
In the dialog:
4455) and password (recommended).Click OK.
OBS WebSocket is now running on ws://localhost:4455 by default.
e_obs_scene_collection.jsonTo use the pre-configured scene collection provided by e_obs, follow these steps:
e_obs_scene_collection.json file included in this project.The imported scene collection will now be available in OBS Studio.
Run e_obs with the desired arguments:
OBS Control Script
Usage: e_obs [OPTIONS]
Options:
-p, --password <PASSWORD> OBS WebSocket password (if any)
--set-text <NAME> <VALUE> Set text fields: --set-text "name" "value"
--cmd <CMD> Commands to run sequentially
--disable-screenshots Disable screenshots during recording
-h, --help Print help
e_obs will start OBS Studio automatically if it is not already running. This ensures that your automation workflow can begin without manually launching OBS each time. If OBS is installed in a non-default location, make sure to specify the correct path or adjust your environment variables accordingly.
e_obs with the desired commands:
git clone https://github.com/davehorner/cuneus
cd cuneus
set CUNEUS_MEDIA="C:\w\demos\tauri\streaming_example_test_video.mp4"
set CUNEUS_RANDOM=1
e_obs --cmd "startt -f -fg -g6x7m1 -T 1 -hT -hB -sd 1 -rpf -apc 0x6 -rpc cargo-e -f --run-all 90 --run-at-a-time 50 --cached" --cmd "startt -f -g2x2m1 cargo-e -f --run-all 5 --run-at-a-time 4" --cmd "startt -f -fg -g2x2m1 cargo-e -f --run-all 5 --run-at-a-time 3 --cached"
cmd_1, cmd_2, etc.The above runs 3 commands; each produces an animated gif in C:\Users<username>\Videos\e_obs\cuneus_YYYY-MM-DD_mm-hh-ss
https://www.youtube.com/watch?v=5BXStX87Z0o&t=46s
To contribute to e_obs, follow these steps:
Fork the repository.
Create a new branch for your feature or bugfix.
Submit a pull request with a detailed description of your changes.
e_obs is licensed under either of
at your option.
OBS Studio for providing an excellent open-source broadcasting tool.
tokio for asynchronous programming in Rust.
rand for random number generation.
e_obs is currently supported on Windows only. Compatibility with other operating systems may be added in future updates. The paths are windows; PRs welcome.
For questions or support, please open an issue on the https://github.com/davehorner/cargo-e/tree/develop/addendum/e_obs repository.
--dave horner 6/2025
Note: Using e_obs will modify your desktop wallpaper background. A random screenshot from the last third of the previous command's screenshots will be set as the wallpaper. Ensure this behavior aligns with your preferences before using the tool.