Crates.io | obws |
lib.rs | obws |
version | 0.13.0 |
source | src |
created_at | 2020-12-27 13:57:51.672856 |
updated_at | 2024-09-23 20:20:37.437171 |
description | The obws (obvious) remote control library for OBS. |
homepage | https://github.com/dnaka91/obws |
repository | https://github.com/dnaka91/obws |
max_upload_size | |
id | 327837 |
size | 404,933 |
Remote control OBS with the obs-websocket plugin from Rust 🦀.
Add obws
to your project with cargo add obws@0.13.0
or add it manually to your
Cargo.toml
:
[dependencies]
obws = "0.13.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.
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("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(())
}
This project is licensed under MIT License (or http://opensource.org/licenses/MIT).