
OBS Browser
https://github.com/obsproject/obs-browser- Category
- Developer Tools
- Rank
- No. 365Tools index
- 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 URL → Live web page display within OBS scene
Display browser-based overlays on streams
HTML/CSS/JavaScript overlay code → Interactive overlay elements in live stream
Integrate web widgets into broadcast scenes
Widget URLs or web applications → Functional web widgets within OBS scenes
Stream online dashboards and analytics
Dashboard or analytics web interface URL → Live dashboard display in streaming scene
Display social media feeds in streams
Social media web interface or embedded feed → Live social media content within broadcast
Embed web-based chat systems
Chat application web interface → Interactive chat display in live stream
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.