Vibeleaderboard
Index / tool
Visit github.com
Category
Developer Tools
Rank
Pricing
Open Source
Type
TOOL
Builder
obsproject
GitHub
903 stars
Latest release
1.31
Date

About

CEF-based browser source plugin for OBS Studio. Render web pages, overlays, and browser-based widgets inside live streams.

What it does

It gives OBS scenes a programmable web surface. Pages can react to scene, source, recording, streaming, replay buffer, and virtual camera changes, then request permitted OBS actions through JavaScript.

Why it's ranked here

This is a strong default for web-driven OBS workflows because official OBS packages already include it. Its event model, TypeScript definitions, configurable control permissions, custom docks, and service integration support substantial interactive overlays without a separate plugin install.

What's good

The permission ladder separates status access, user data, basic replay actions, advanced scene changes, and full output control. Pages receive detailed OBS lifecycle events, while developers get TypeScript definitions and custom event delivery through obs-websocket vendor requests.

Tradeoffs

It cannot be built independently from OBS Studio and requires CEF build inputs. Browser Docks and Service Integration do not work under Linux Wayland. Some visibility and activity callbacks remain only for compatibility, with event listeners replacing them.

How to use it well

Use it when an OBS scene, dock, or linked service needs web technology plus direct awareness of OBS state. Grant each page the lowest sufficient control level. It does not replace a standalone browser application or an independently buildable web runtime.

Technical notes+

README.md defines the JavaScript surface, permission levels, events, packaging, and integrated build requirements. browser-app.cpp installs the obsstudio V8 object, forwards calls through CEF process messages, and converts returned CEF values for callbacks. browser-client.cpp enforces the fall-through ControlLevel hierarchy, blocks source popups, and renders through software or accelerated texture paths. obs-browser-plugin.cpp configures windowless CEF, persistent cache storage, OBS source properties, and settings.no_sandbox = true. browser-scheme.cpp decodes local paths, rejects IPv4 and IPv6 path heads, and serves files with inferred MIME types. drm-format.cpp checks RGBA and BGRA DMA-BUF compatibility for shared textures.

Observed

License
GNU General Public License, version 2 or later
Primary language
C++
Install surface
Included by default in official OBS packages for Windows, macOS, Ubuntu PPA, and Flatpak
Interface
JavaScript bindings exposed to embedded pages, with TypeScript definitions available through npm and yarn
Integration interface
obs-websocket vendor request support for emitting custom events to browser sources
Platform support
Browser Source supports Windows, macOS, and Linux; Browser Docks and Service Integration exclude Wayland
Build model
Built as part of OBS Studio and not as a standalone project

Read from README.md, drm-format.cpp, browser-app.cpp, browser-client.cpp, browser-scheme.cpp, obs-browser-plugin.cpp, obs-browser-source.cpp, deps/wide-string.cpp, deps/signal-restore.cpp, panel/browser-panel.cpp, deps/ip-string-posix.cpp, deps/ip-string-windows.cpp, panel/browser-panel-client.cpp.

What it can do

  • Render web pages in live streams

    Web page URLLive web page display within OBS scene

  • Display browser-based overlays on streams

    HTML/CSS/JavaScript overlay codeInteractive overlay elements in live stream

  • Integrate web widgets into broadcast scenes

    Widget URLs or web applicationsFunctional web widgets within OBS scenes

  • Stream online dashboards and analytics

    Dashboard or analytics web interface URLLive dashboard display in streaming scene

  • Display social media feeds in streams

    Social media web interface or embedded feedLive social media content within broadcast

  • Embed web-based chat systems

    Chat application web interfaceInteractive chat display in live stream

Tags

obscefstreamingplugincpp

Tech Stack

CC++CMakeHTMLShell

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.