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

Build Status Repository Documentation Code Coverage

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

Usage

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

toml [dependencies] obws = "0.10.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.

```rust use anyhow::Result; use obws::Client;

[tokio::main]

async fn main() -> Result<()> { // Connect to the OBS instance through obs-websocket. let client = Client::connect("localhost", 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).