A headless OBS Studio plugin that broadcasts performance and streaming stats over
the existing obs-websocket server as vendor events. It has no UI/dock — it is
on by default with sane defaults — and is built for headless/cloud OBS instances
feeding a dashboard. The broadcast can be turned off (config file or a live
vendor request), which also stops the per-frame profiler — see
SETTINGS.md.
It emits two vendor events (vendor name streamwizard-stats) on a fixed interval
(~1 s):
SourceStats— a per-scene/source/filter load tree (CPU/GPU/tick/render time, % of frame budget). Rebuilt fresh each tick from a live enumeration, so it keeps no per-source state.OutputStats— instance health: streaming bitrate / dropped frames / congestion, recording + disk space, render & encoding lag, FPS, process CPU/memory, and session/encoder state.
See WEBSOCKET.md for the full message schema and a connection
example.
- OBS Studio 28+ (bundled obs-websocket). If obs-websocket is absent the plugin logs a warning and does nothing.
Out-of-tree build against installed OBS dev files (no Qt required — this plugin has no UI):
cmake --preset ubuntu-x86_64 # or windows-x64 / macos
cmake --build --preset ubuntu-x86_64CI (GitHub Actions) builds Windows, macOS and Ubuntu artifacts on every push to
main and cuts a release on a X.Y.Z tag.
GPL-2.0. Bundles OBS's util/source-profiler.h and the obs-websocket vendor API
header (deps/obs-websocket-api.h).