OBS WebSocket v4 vs v5: What Changed?
The transition from OBS WebSocket v4 to v5 represents a major milestone in OBS Studio’s remote control capabilities, marking its evolution from a third-party plugin to a native, completely rewritten protocol. This article highlights the key differences between these two versions, including native integration, protocol restructuring, security improvements, and default port changes, helping developers and streamers understand what changed and how to adapt.
Native Integration into OBS Studio
In version 4 (v4) and earlier, the OBS WebSocket was a separate, third-party plugin that users had to download and install manually to enable remote control from applications like Stream Deck, Touch Portal, or custom scripts.
With the release of OBS Studio 28, WebSocket version 5 (v5) became a native, built-in feature of the core OBS Studio installation. Users no longer need to install external files, as remote connection capabilities are available out of the box.
Complete Protocol Redesign (Breaking Changes)
The transition to v5 is not backward compatible with v4. The entire protocol was redesigned from the ground up to be more robust, consistent, and performant.
- Different Message Format: The JSON payload structures for requests, responses, and events were completely overhauled. Developers must update their integration libraries to support the new v5 schemas.
- Compatibility Shim: Because of these breaking changes, OBS Studio included a temporary “v4 compatibility shim” in transitionary releases to allow older apps to still connect, but native v5 adoption is required for long-term support.
Default Port Change
To avoid conflicts with older v4 installations and other software,
the default connection port was changed. * WebSocket v4 default
port: 4444 * WebSocket v5 default
port: 4455
This change prevents older legacy applications from accidentally attempting to connect to the new native v5 server using incompatible v4 commands.
Enhanced Security and Authentication
Security was significantly tightened in the transition to v5. * Modernized Handshake: The authentication process now uses a more secure SHA256-based challenge-response mechanism. * Encrypted Communication Capabilities: The protocol was built with modern security standards in mind, ensuring that remote connections over local networks or the internet are much more secure against unauthorized access.
Improved Request and Event Handling
The way developers interact with OBS via code is much more streamlined in v5: * Batch Requests: Version 5 introduced official support for batch requests, allowing developers to send multiple commands in a single payload, reducing network overhead. * Consistent Naming Conventions: Request and event names were standardized. Under v4, naming conventions were sometimes inconsistent; v5 enforces a strict, predictable camelCase naming structure for all API calls. * Fine-grained Event Subscriptions: Clients connecting to v5 can now subscribe to specific categories of events (e.g., only transitions, or only source volume changes) rather than receiving all events by default, significantly reducing CPU and network usage for high-performance applications.