SkillAgentSearch skills...

Obws

The obws (obvious) remote control library for OBS

Install / Use

/learn @dnaka91/Obws
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

OBWS - The obws (obvious) remote control library for OBS

Repository Documentation Code Coverage

Remote control OBS with the obs-websocket plugin from Rust 🦀.

[!IMPORTANT] If you're viewing this project from GitHub, please note that the source is now living at my own forge and this is a mirror. Issues and PRs can still be opened here as well for the time being.

An article about this move will be posted at some point in the future.

Usage

Add obws to your project with cargo add obws@0.15.0 or add it manually to your Cargo.toml:

[dependencies]
obws = "0.15.0"

In addition, you will need to use the latest tokio runtime to use this library as it makes heavy use of async/await and is bound to this runtime.

Example

Here we connect to a OBS instance, get some version information and log in to access the whole API and lastly print out a list of available scenes.

For more usage instructions see the docs or check out the examples.

use anyhow::Result;
use obws::Client;

#[tokio::main]
async fn main() -> Result<()> {
    // Connect to the OBS instance through obs-websocket.
    let client = Client::connect("127.0.0.1", 4455, Some("password")).await?;

    // Get and print out version information of OBS and obs-websocket.
    let version = client.general().version().await?;
    println!("{version:#?}");

    // Get a list of available scenes and print them out.
    let scene_list = client.scenes().list().await?;
    println!("{scene_list:#?}");

    Ok(())
}

License

This project is licensed under MIT License (or http://opensource.org/licenses/MIT).

View on GitHub
GitHub Stars121
CategoryDevelopment
Updated13d ago
Forks15

Languages

Rust

Security Score

100/100

Audited on Mar 13, 2026

No findings