Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

influencer

OBS WebSocket CLI and Rust library.

Motivation

OBS hotkeys don't work globally on Wayland (yet). With this tool, you can register command-executing system shortcuts as a workaround.

CLI Usage

Run influencer help. The CLI, thanks to clap, describes itself pretty well. Currently, you can send a request (and receive the response) or receive events. An interactive mode may be added in the future. The distinguishing quirk of this particular OBS CLI is that it is oblivious to the details of individual request/event types (See OBS's documentation for a list). It will accept any request types and data you give it. In that sense, it's kind of a lower level interface, which you may or may not find useful.

Examples

# Saving OBS's active replay buffer
influencer --password p4ssw0rd request SaveReplayBuffer
# Configuring the connection using environment variables
export OBS_WS_HOST="127.0.0.1"
export OBS_WS_PORT="6969"
export OBS_WS_PASSWORD="p4ssw0rd"
# Setting a named input's volume to -10dB
influencer request SetInputVolume \
    '{"inputName": "Desktop Audio", "inputVolumeDb": -10}'
# Listening for the default set of event types,
# using a compact (single-line) JSON representation
# for each event emitted to stdout
influencer --compact events

Library Usage

This is a very thin library. It helps you authenticate with the OBS WebSocket server (using the state machine in the auth module), and provides types and basic utilites for creating (/serializing) and deserializing OBS WebSocket protocol messages. Bring your own tungstenite::WebSocket. Non-blocking sockets are supported – see the async.rs example.

About

OBS WebSocket client CLI and Rust library

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages