Skip to content

About

OBS Studio plugin that adds LIVE previews directly to the Sources list, including hidden and inactive sources.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Live Source Preview

A third-party plugin for OBS Studio that adds optional live video previews directly to individual rows in the Sources dock.

Live Source Preview is an independent third-party plugin and is not affiliated with or endorsed by the OBS Project.

Release: 1.1.0
Platform: Windows x64
Tested with: OBS Studio 32.2.1

What it does

Right-click a video source and open Live Preview. From there you can enable Live Preview in This Scene and optionally show a Quick Toggle Button beside OBS's normal Visibility and Lock controls.

When enabled, the source row expands and displays a 160x90 live preview underneath the normal source controls. The preview is designed for checking a source before making it visible in the scene. For example, an HDMI capture from another laptop can remain hidden from Program while its incoming picture is still monitored in the Sources list.

Scene-specific behaviour

Live Preview settings are stored on the OBS scene item, using its private scene-item settings. This means the same underlying source can be configured independently in different scenes:

Main Scene      -> Laptop Capture -> Live Preview ON
Break Scene     -> Laptop Capture -> Live Preview OFF
Setup Scene     -> Laptop Capture -> Live Preview ON

The optional Quick Toggle Button is also scene-item specific. Showing the button in one scene does not force it to appear in every other scene that uses the same source.

Quick Toggle button

The optional button appears alongside OBS's native source controls:

Source Name                         Eye  Live Preview  Lock

The button uses a small monitor/play icon. Click it once to enable the inline preview for that scene item and click it again to disable it. The right-click menu remains available as the discoverable/configuration route.

Key behaviour

  • Per-scene-item Live Preview state.
  • The same source can have different preview settings in different scenes.
  • Optional per-scene-item Quick Toggle Button beside the normal Visibility and Lock controls.
  • Right-click Live Preview submenu containing:
    • Enable Live Preview in This Scene
    • Show Quick Toggle Button
  • 160x90 aspect-fitted live preview below the normal OBS source row.
  • Preview remains live when the scene-item eye is turned off.
  • Monitored sources are kept active while Live Preview is enabled, including nested Scene and Group sources.
  • Only preview-enabled rows become taller; ordinary Sources-list rows keep their native height.
  • Expanded preview rows include a small bottom clearance so OBS row separators stay below the preview.
  • Video sources only.
  • Sources nested inside expanded OBS Groups are supported.

Upgrading from v1.0.x

v1.0.x stored enabled previews globally by source UUID. On the first load of v1.1.0, those enabled states are migrated onto matching scene items in the scene that is active at that time. Other scenes start with Live Preview disabled, which prevents the old global setting from being copied everywhere.

Hidden-source monitoring

The inline monitor renders the OBS source directly using obs_source_video_render() and holds an additional active reference with obs_source_inc_active() while Live Preview is enabled.

That is intentional. It means a monitored source can continue producing frames even when its normal scene item is hidden. When Live Preview is disabled, the plugin releases the extra active reference with obs_source_dec_active().

The plugin does not toggle the normal OBS eye icon and does not change whether the scene item is visible on Program.

Installation

Download the Windows x64 installer from the repository's Releases page, close OBS Studio completely, then run the installer.

Repository: https://github.com/Kiddabob/LIVE-Source-Preview

Installer safety / rollback

Before installing or updating the plugin, the installer creates a timestamped backup of the complete OBS Studio program directory. If that backup fails, installation is aborted before OBS is changed.

Backups are stored under:

C:\ProgramData\Live Source Preview\OBS Backups\<timestamp>

The installer also creates:

Start > Live Source Preview > Restore OBS Backup

If OBS fails to start after installation, close OBS and use that shortcut to restore the most recent pre-install program snapshot.

Automatic rollback restores the OBS program directory only. It deliberately does not overwrite the current %APPDATA%\obs-studio scene collections or profiles. A separate safety copy of scene collections, profiles and global.ini is retained inside the timestamped backup folder for manual emergency recovery.

A full program-folder restore will also roll back other OBS plugins or program files installed after that backup snapshot.

See BACKUP-RECOVERY.txt for the recovery procedure.

Building on Windows

Requirements:

  • Visual Studio 2022 Build Tools with Desktop development with C++
  • Windows 11 SDK 10.0.22621.0
  • CMake 3.30.5+
  • Git for Windows
  • PowerShell 7
  • Inno Setup 6 or 7 to create the .exe installer

Run:

.\BUILD-WINDOWS.cmd

or directly:

pwsh .\scripts\Build-Windows.ps1

The build script downloads the official OBS plugin-template build helpers, builds against the pinned OBS Studio 32.2.1 source/dependency set, and places the outputs under dist\.

Expected outputs:

dist\obs-plugins\64bit\live-source-preview.dll
dist\Live-Source-Preview-v1.1.0-Windows-x64-Setup.exe

For local DLL installation without creating the installer:

pwsh .\scripts\Install-Development.ps1

Close OBS before installing.

GitHub Actions

The included workflow can build the plugin and installer on a GitHub-hosted Windows runner.

After pushing this repository:

  1. Open Actions on GitHub.
  2. Run Build Windows plugin.
  3. Download the Live-Source-Preview-Windows-x64 artifact.

The workflow also runs on pushes to main/master and tags beginning with v.

Compatibility

Version 1.1.0 targets OBS Studio 32.2.1 on Windows x64.

The rendering uses public libobs APIs, but the Sources-list integration necessarily interacts with OBS's Qt frontend widgets because the frontend API does not expose a dedicated source-context-menu extension point. A future OBS UI change may therefore require a compatibility update.

Reporting issues

Please use the GitHub issue tracker and include:

  • OBS Studio version
  • Live Source Preview version
  • Windows version
  • source type involved
  • whether the source was visible or hidden
  • relevant OBS log output

Issue tracker: https://github.com/Kiddabob/LIVE-Source-Preview/issues

AI development disclosure

OpenAI ChatGPT was used extensively during development to assist with C++/Qt implementation, OBS API research, build configuration, installer scripting, debugging and documentation. The plugin was compiled and tested in OBS Studio on Windows by the maintainer, with iterative revisions based on real-world testing.

License

GPL-2.0-or-later. See LICENSE.

About

OBS Studio plugin that adds LIVE previews directly to the Sources list, including hidden and inactive sources.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages