Fork of obws that supports a slightly older obs-websocket
Go to file
2020-12-29 22:09:47 +09:00
examples Update readme and add some basic usage docs 2020-12-29 21:46:27 +09:00
src Fix some links to private elements 2020-12-29 21:49:02 +09:00
tests Add integration tests and fix some API calls 2020-12-29 17:32:57 +09:00
.gitignore Initial commit 2020-12-27 22:52:56 +09:00
Cargo.toml Add integration tests and fix some API calls 2020-12-29 17:32:57 +09:00
LICENSE Initial commit 2020-12-27 22:52:56 +09:00
README.md Fix some links to private elements 2020-12-29 21:49:02 +09:00
release.toml Configure cargo-release 2020-12-29 22:09:47 +09:00

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

Repository Documentation

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

Usage

Add obws to your project with cargo add obws (needs cargo-edit) or add it manually to your Cargo.toml:

[dependencies]
obws = "0.1.0"

In addition, you will need to use the tokio runtime (currently v0.3.x), 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("localhost", 4444).await?;

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

    /// Optionally log-in (if enabled in obs-websocket) to allow other APIs and receive events.
    client.login(Some("password")).await?;

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

    Ok(())
}

License

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