All Projects → dnaka91 → obws

dnaka91 / obws

Licence: MIT License
The obws (obvious) remote control library for OBS

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to obws

OBS-ChatSpam
Python script for OBS Studio that posts messages in Twitch chat
Stars: ✭ 26 (-3.7%)
Mutual labels:  obs, obs-websocket
marv
Marv your Swiss streaming tool!
Stars: ✭ 149 (+451.85%)
Mutual labels:  obs, obs-websocket
kiwi
Kiwi turns your Pimoroni Keybow into a fully customizable poor-man's Elgato Stream Deck!
Stars: ✭ 40 (+48.15%)
Mutual labels:  obs, obs-websocket
obs-websocket-js
Consumes https://github.com/obsproject/obs-websocket
Stars: ✭ 521 (+1829.63%)
Mutual labels:  obs, obs-websocket
OBSliveTally
Display the stream status or tally information for a scene or source on any device in the network.
Stars: ✭ 20 (-25.93%)
Mutual labels:  obs, obs-websocket
sceneify
The simplest way to control OBS from JavaScript
Stars: ✭ 75 (+177.78%)
Mutual labels:  obs, obs-websocket
stateless-future
Asynchronous programming in fully featured Scala syntax.
Stars: ✭ 14 (-48.15%)
Mutual labels:  async-await
ue4-remote-control
Control the Unreal Editor via HTTP with Node
Stars: ✭ 22 (-18.52%)
Mutual labels:  remote-control
await-outside
Await outside of async functions
Stars: ✭ 19 (-29.63%)
Mutual labels:  async-await
Rx.Book
High level asynchronous programming with Reactive Extensions
Stars: ✭ 67 (+148.15%)
Mutual labels:  async-await
firefox tunnel
The way to use firefox to make a tunnel to remote communication, bypass any firewall
Stars: ✭ 57 (+111.11%)
Mutual labels:  remote-control
arraync
Async Array methods polyfills
Stars: ✭ 16 (-40.74%)
Mutual labels:  async-await
robotito
Terminal shell accessible through a jabber connection
Stars: ✭ 68 (+151.85%)
Mutual labels:  remote-control
foobar2000-web-ui
Control Foobar2000 from a (remote) web browser
Stars: ✭ 25 (-7.41%)
Mutual labels:  remote-control
debounce-async
A debounce function that delays invoking asynchronous functions.
Stars: ✭ 21 (-22.22%)
Mutual labels:  async-await
nardis
A small web framework based on ASGI
Stars: ✭ 14 (-48.15%)
Mutual labels:  async-await
kqstats
Get real time statistics from your Killer Queen cabinets!
Stars: ✭ 23 (-14.81%)
Mutual labels:  obs
lgtv-ip-control
IP Control module for 2018+ LG TVs
Stars: ✭ 35 (+29.63%)
Mutual labels:  remote-control
xmrigCC
RandomX, CryptoNight, AstroBWT, Argon2 and GhostRider CPU/GPU miner with Command&Control (CC) Server and Monitoring
Stars: ✭ 262 (+870.37%)
Mutual labels:  remote-control
express-mongoose-es8-rest-api
A Boilerplate for developing Rest api's in Node.js using express with support for ES6,ES7,ES8 ,Mongoose,JWT for authentication,Standardjs for linting
Stars: ✭ 20 (-25.93%)
Mutual labels:  async-await

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 🦀.

V5 support

The upcoming obs-websocket v5 is already being worked on and most features are supported. Check out the v5-api branch for more information on how to use it.

A new version will be released shortly after the relese of obs-websocket. Currently waiting on missing docs and eventual breaking changes before the release.

Usage

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

[dependencies]
obws = "0.9.1"

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("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).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].