# obsproject/obs-websocket

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/obsproject-obs-websocket).**

4,317 stars · 746 forks · C++ · GPL-2.0

## Links

- GitHub: https://github.com/obsproject/obs-websocket
- awesome-repositories: https://awesome-repositories.com/repository/obsproject-obs-websocket.md

## Topics

`hacktoberfest` `obs-studio` `remote-control` `websocket`

## Description

obs-websocket is a WebSocket remote control plugin and extension for OBS Studio. It functions as a JSON-RPC network API that allows external devices and applications to manage software settings, scenes, and streaming operations.

The project provides a standardized network protocol that enables remote command execution and event-driven state synchronization. It secures these connections using salted-challenge authentication to verify client identity.

The interface covers a broad range of production capabilities, including scene and source management, audio level control, and output management for recording and streaming. It also supports system statistics querying and software state monitoring to facilitate real-time broadcast monitoring and workflow automation.

## Tags

### DevOps & Infrastructure

- [Remote Control Interfaces](https://awesome-repositories.com/f/devops-infrastructure/background-processing/background-removal-tools/obs-plugins/remote-control-interfaces.md) — Provides a network interface to remotely manage scenes, streaming settings, and recording operations in OBS Studio.
- [OBS Plugins](https://awesome-repositories.com/f/devops-infrastructure/background-processing/background-removal-tools/obs-plugins.md) — Ships as an extension specifically developed for the OBS Studio plugin ecosystem to add remote management.

### Networking & Communication

- [Remote Software Control Interfaces](https://awesome-repositories.com/f/networking-communication/remote-software-control-interfaces.md) — Provides a network-based interface for managing the operational state, settings, and scenes of the software. ([source](https://github.com/obsproject/obs-websocket/blob/master/CMakeLists.txt))
- [Network Protocols](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/communication-protocols-standards/network-protocols.md) — Implements a consistent network protocol to enable the creation of custom client software and libraries. ([source](https://github.com/obsproject/obs-websocket/blob/master/README.md))
- [JSON-RPC Implementations](https://awesome-repositories.com/f/networking-communication/json-rpc-implementations.md) — Implements the JSON-RPC protocol for structured, cross-language communication between external clients and the software.
- [JSON Serialization](https://awesome-repositories.com/f/networking-communication/json-serialization.md) — Uses JSON serialization for all network communications to ensure cross-language compatibility.
- [Event Stream Subscriptions](https://awesome-repositories.com/f/networking-communication/real-time-event-streams/publish-subscribe-event-systems/event-stream-subscriptions.md) — Allows clients to subscribe to real-time event streams for automated updates on software state changes. ([source](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md))
- [Real-Time State Broadcasting](https://awesome-repositories.com/f/networking-communication/real-time-state-broadcasting.md) — Streams real-time software state changes and system statistics to remote clients via WebSockets.
- [Remote Procedure Calls](https://awesome-repositories.com/f/networking-communication/remote-procedure-calls.md) — Implements a remote procedure call mechanism over WebSockets to trigger commands and query state.

### Software Engineering & Architecture

- [Broadcasting Protocol Integrations](https://awesome-repositories.com/f/software-engineering-architecture/standardized-protocol-based-integrations/broadcasting-protocol-integrations.md) — Provides a standardized network API for integrating third-party applications and hardware controllers with OBS Studio.
- [Third-Party Plugins](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/third-party-plugins.md) — Extends the network API by allowing third-party plugins to register custom requests and events. ([source](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md))
- [Plugin](https://awesome-repositories.com/f/software-engineering-architecture/resource-oriented-design/request-routing/plugin.md) — Routes custom network requests to registered third-party vendor scripts to extend software functionality.

### Development Tools & Productivity

- [Live Stream Output Controls](https://awesome-repositories.com/f/development-tools-productivity/output-management-tools/stream-output-management/live-stream-output-controls.md) — Enables remote management of live streaming operations, including starting and stopping the output. ([source](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md))
- [Remote API Command Executions](https://awesome-repositories.com/f/development-tools-productivity/remote-api-command-executions.md) — Allows external devices to trigger specific software actions by sending API-based commands over the network. ([source](https://github.com/obsproject/obs-websocket#readme))
- [Workflow Automation Triggers](https://awesome-repositories.com/f/development-tools-productivity/workflow-automation-triggers.md) — Supports automated workflows by triggering actions and updating state through event-driven network systems. ([source](https://github.com/obsproject/obs-websocket/blob/master/CMakeLists.txt))

### Graphics & Multimedia

- [Automated Scene Transitions](https://awesome-repositories.com/f/graphics-multimedia/automated-scene-transitions.md) — Triggers transitions between visual compositions using remote signals to set transition type and duration. ([source](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md))
- [Scene Collection Management](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/scene-management-systems/scene-collection-management.md) — Allows switching between different saved sets of scenes and their associated configurations. ([source](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md))
- [Scene and Source Control](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/scene-management-systems/scene-collection-management/scene-and-source-control.md) — Allows external applications to switch active scenes and modify the properties of individual sources. ([source](https://github.com/obsproject/obs-websocket#readme))
- [Live Broadcast Management](https://awesome-repositories.com/f/graphics-multimedia/live-broadcast-management.md) — Provides tools for controlling real-time video streams, including scene transitions and broadcast operations. ([source](https://github.com/obsproject/obs-websocket#readme))
- [Broadcast Workflow Automation](https://awesome-repositories.com/f/graphics-multimedia/media-capture-utilities/live-stream-automation-bots/broadcast-workflow-automation.md) — Enables automatic triggering of scene transitions and recording actions via external scripts.
- [Media Input Source Management](https://awesome-repositories.com/f/graphics-multimedia/media-input-source-management.md) — Enables the remote creation, removal, and renaming of multimedia input sources. ([source](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md))
- [Media Recording Controls](https://awesome-repositories.com/f/graphics-multimedia/media-recording-controls.md) — Provides remote controls to start, stop, pause and configure video and audio recording sessions. ([source](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md))
- [Streaming and Broadcasting](https://awesome-repositories.com/f/graphics-multimedia/streaming-distribution/streaming-broadcasting.md) — Enables remote adjustment of broadcasting configurations and streaming operations via a network interface. ([source](https://github.com/obsproject/obs-websocket#readme))
- [WebSocket-Based Application Command Interfaces](https://awesome-repositories.com/f/graphics-multimedia/websocket-music-controllers/websocket-based-application-command-interfaces.md) — Exposes a WebSocket server that accepts structured commands from external clients to control application functions.
- [Audio Routing Policies](https://awesome-repositories.com/f/graphics-multimedia/audio-routing-policies.md) — Allows remote configuration of audio routing policies, including sync offsets and monitor types. ([source](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md))
- [Audio Volume Controls](https://awesome-repositories.com/f/graphics-multimedia/audio-volume-controls.md) — Provides remote APIs for adjusting volume levels and mute states of audio sources. ([source](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md))
- [Virtual Camera Drivers](https://awesome-repositories.com/f/graphics-multimedia/camera-systems/virtual-camera-drivers.md) — Toggles a virtual camera driver to stream processed OBS output into other applications. ([source](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md))
- [Scene Item Properties](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/scene-management-systems/scene-constructions/scene-item-properties.md) — Provides remote control of individual scene item transforms, cropping, and blend modes. ([source](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md))
- [Media Playback Controls](https://awesome-repositories.com/f/graphics-multimedia/media-playback-controls.md) — Enables remote control of media playback state, including cursor positions and time offsets. ([source](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md))
- [Production Control Systems](https://awesome-repositories.com/f/graphics-multimedia/media-production-suites/media-management-production/production-control-systems.md) — Functions as a production control system to monitor system statistics and adjust audio-visual properties of a live stream.
- [Media Replay Buffers](https://awesome-repositories.com/f/graphics-multimedia/media-replay-buffers.md) — Manages circular multimedia buffers to save recent broadcast segments as clips on demand. ([source](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md))
- [Media Source Filters](https://awesome-repositories.com/f/graphics-multimedia/media-source-filters.md) — Allows remote application and configuration of visual and audio processing filters to sources. ([source](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md))

### User Interface & Experience

- [Real-Time State Synchronization](https://awesome-repositories.com/f/user-interface-experience/event-driven-ui-frameworks/real-time-state-synchronization.md) — Synchronizes the state of the software with remote clients by pushing real-time updates via network events.
- [Scene Hierarchies](https://awesome-repositories.com/f/user-interface-experience/scene-element-management/scene-hierarchies.md) — Provides remote organization of visual elements into a structured hierarchy of scenes and groups. ([source](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md))
- [Remote AV Property Management](https://awesome-repositories.com/f/user-interface-experience/window-management/window-lifecycle-controllers/audio-controller-interfaces/remote-audio-controllers/remote-av-property-management.md) — Allows remote adjustment of volume, routing, and video source properties over a network.

### Security & Cryptography

- [Challenge-Response Authenticators](https://awesome-repositories.com/f/security-cryptography/authentication-clients/challenge-response-authenticators.md) — Secures remote connections using a salted-challenge protocol to verify client identity.

### System Administration & Monitoring

- [State Change Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/resource-monitoring/resource-change-monitors/state-change-monitoring.md) — Tracks and reports real-time changes to scenes, profiles, input states, and output status. ([source](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md))
- [Server Usage Statistics](https://awesome-repositories.com/f/system-administration-monitoring/system-statistics-collection/server-usage-statistics.md) — Retrieves real-time system statistics, including CPU usage, memory usage, and frames per second. ([source](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md))
