Skip to content
 
 

Repository files navigation

Source Record filter for OBS Studio

Plugin for OBS Studio to make sources available to record via a filter

Download

https://obsproject.com/forum/resources/source-record.1285/

Build

  1. In-tree build

  2. Stand-alone build (Linux only)

    • Verify that you have package with development files for OBS
    • Check out this repository and run cmake -S . -B build -DBUILD_OUT_OF_TREE=On && cmake --build build

Donations

https://www.paypal.me/exeldro

Changes

0.4.28 - strictly evaluate the current live/program scene for visibility: if a source is not in the active scene (or has its eye icon toggled off in the active scene), its recording/replay buffer is paused immediately rather than checking inactive background scenes.

0.4.27 - fixed a real bug where switching to literally any OTHER scene could pause your recording and reset your replay buffer, even if you never touched an eye icon. Turns out "hide the source" was quietly being interpreted as "isn't in the scene that's currently live" instead of "the eye icon is actually off" - so if your recorded source lived in a different scene than whatever was on program, every scene change paused it, and rapid scene switching (confirmed live: 56 start/stop cycles from one user in a single session) hammered the encoder over and over for no reason. Now it only pauses when the eye icon is actually off, checked across every scene the source appears in, not just the live one.

0.4.26 - get_record_status can now tell you a source has no actual signal (capture card unplugged, no window selected, nothing hooked) instead of just "not recording", so external docks (Backtrack, obs-replay-slider's control panel) can show that clearly instead of you clicking Start and it silently arming itself for nothing.

0.4.25 - unfroze OBS again. turns out 0.4.16's freeze fix only covered the output; the ENCODER teardown (the actual NVENC/hardware session, not just a memory free) was still happening on OBS's shared render thread the whole time, so disabling a filter (or a scene switch that hides then quickly re-shows its source) could still freeze the whole program for ~20s, with your stream's bitrate dropping to 0 for the duration since nothing else sharing that thread could render either. also found and fixed a second copy of the same freeze hiding in filter removal specifically. and while moving the encoder teardown to its own background thread, introduced (and then fixed, same day) a genuine use-after-free if you removed a filter while an earlier one of these teardowns was still in flight - found by an automated review, not a crash report, for once.

0.4.16 - unfroze OBS. yes it was actually freezing your whole program for 30 whole seconds if you disabled a filter mid-replay-buffer, we just never told you why. also taught the filter to snitch on itself (new get_record_status thing) so other plugins can ask "hey are you recording" instead of guessing. also the DLL was straight up lying about its own version number this whole time (kept saying 0.4.13 no matter what we shipped) - it has been informed it is in fact 0.4.16 now

0.4.14 - plugged a leak. an output that got torn down before it ever actually started (thanks, rapid duration-slider dragging and DPI-scaled window capture) never got freed, so it just sat there hoarding frames forever. if your replay buffer was mysteriously eating double-digit gigabytes, this was you, sorry

0.4.13 - the filter now yells "SAVED IT" (a replay_saved signal, with the file path attached, no extra legwork required) instead of you having to go ask. also gave it a save_replay_buffer button other plugins can press for it, named your audio tracks like a normal person (Track 1, Track 2...) instead of leaving them nameless, and taught it to auto-pause itself when you hide the source so it stops recording a black screen for you

0.4.12 - fixed the hotkey field lying to you. it was comparing the wrong pointer so it always said "no hotkey bound" even when you very much had one bound. it apologizes

0.4.11 - added a status API so other plugins can peek at whether your replay buffer is on/off/broken without prying the filter open. this is the whole reason obs-replay-slider exists now, you're welcome

0.4.10 - you can now smoosh other scene items (chat overlay, webcam, whatever) directly into the recording, in the right spot, at the right size, like they were never separate to begin with

0.4.9 - added more advanced multitrack audio -ilyambr and claude fucking code:)

About

source record with specific audio tracks only and up to 4 additional overlays (also has specific connectors and fixes for compatibility with Backtrack)

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages