Source Record

Source Record 0.4.8

Here's that section of the script:
Bash:
INDEX_SINK_0=$(     pactl   load-module     module-null-sink                                        sink_name=Meeting_Playback    format=float32  rate=48000  channels=2  channel_map=front-left,front-right  )
INDEX_SINK_1=$(     pactl   load-module     module-null-sink                                        sink_name=Meeting_Return      format=float32  rate=48000  channels=2  channel_map=front-left,front-right  )
INDEX_SOURCE_0=$(   pactl   load-module     module-null-sink      media.class=Audio/Source/Virtual  sink_name=Meeting_Mics        format=float32  rate=48000  channels=2  channel_map=front-left,front-right  )
INDEX_SOURCE_1=$(   pactl   load-module     module-null-sink      media.class=Audio/Source/Virtual  sink_name=Meeting_Send        format=float32  rate=48000  channels=2  channel_map=front-left,front-right  )
INDEX_SOURCE_2=$(   pactl   load-module     module-null-sink      media.class=Audio/Source/Virtual  sink_name=Meeting_Rtn_Proc    format=float32  rate=48000  channels=2  channel_map=front-left,front-right  )
INDEX_SOURCE_3=$(   pactl   load-module     module-null-sink      media.class=Audio/Source/Virtual  sink_name=Meeting_Record      format=float32  rate=48000  channels=2  channel_map=front-left,front-right  )

pactl   set-default-sink    Meeting_Playback
pactl   set-default-source  Meeting_Mics
...
Now that I've posted it here, I suppose one thing to try might be the format. I picked float32 because its deficiencies are completely negligible even if it's abused, but the processing is such that 16-bit integer won't be abused either. And if I remember right, the recording in OBS is 16-bit integer anyway, lossless *after* that conversion because FLAC.
format=s16 didn't change anything.
 
I am Fuming. I lost 10 HOURS OF RECORDED FOOTAGE, all because this plugin doesn't add name extensions to the file it saves, such as "Gameplay.mkv, Gameplay(1).Mkv, or use date and time stamps like NORMAL OBS DOES. Ruined my whole day.
 
I am Fuming. I lost 10 HOURS OF RECORDED FOOTAGE, all because this plugin doesn't add name extensions to the file it saves, such as "Gameplay.mkv, Gameplay(1).Mkv, or use date and time stamps like NORMAL OBS DOES. Ruined my whole day.
Okay, it was/wasn't my fault. I followed a shitty tutorial that said to change the formatting name. Sorry for venting my frustration before stopping and thinking it out. This was a great opportunity to learn a lesson in temperance. I apologize.
 
It's not quite the solution that I wanted, but I do have clean audio now. I reduced OBS to only receiving one audio stream to put on Track 1, instead of all 6. And I have it bouncing off of a dirt cheap USB sound card instead of virtual. Nothing connected to that sound card, so I really don't care about the chip quality; it's just a USB plug that creates a logical device. OBS seems to like that better than pure virtual.
(The official dev team really needs to get some audio guys to overhaul it! Pure virtual used to work, so it's been steadily getting worse!)

Then I set up Ardour (separate complex audio processing) to record raw and stems from there, and coordinated its recording start/stop with Source Record's recording start/stop. (macros in the Advanced Scene Switcher plugin, that each create a dockable button and do everything from that trigger) So if I do need to edit something, I can match up Ardour's copy of what it sent to be the video soundtrack, with the actual video soundtrack, and everything else should line up too.

Still don't know what the "Different Audio" block does - seems like the labeling could be improved - but it does seem to work. Still enabled, with Track 1 instead of All.
 
Hello! I know the biggest discussion is always about audio. It be nice if that worked but for my purposes I can take the audio from the main recording.

My issue is the scene I have set up with the Source Record filter has 6 cams and a webm overlay. The recording only records the cams and no overlay.
 
...the scene I have set up with the Source Record filter has 6 cams and a webm overlay. The recording only records the cams and no overlay.
Where is the overlay? Is it before the Source Record filter in that scene? Or is it downstream somewhere?

Things happen in order, which is why you can control the order. If something happens after the Source Record filter, then it won't be recorded. (at least not by that instance of it)

Note: this assumes that the webm overlay is another filter, or something that happens outside of the scene entirely, kinda like the Downstream Keyer plugin does. If it's something in the scene's list of sources, all of that happens before any filters on that scene, so it has to be something else.

Source 1 -> [source filters] -> |
Source 2 -> [source filters] -> | -> Scene -> [scene filters] -> everything else
Source 3 -> [source filters] -> |
 
Last edited:
Where is the overlay? Is it before the Source Record filter in that scene? Or is it downstream somewhere?

Things happen in order, which is why you can control the order. If something happens after the Source Record filter, then it won't be recorded. (at least not by that instance of it)

Note: this assumes that the webm overlay is another filter, or something that happens outside of the scene entirely, kinda like the Downstream Keyer plugin does. If it's something in the scene's list of sources, all of that happens before any filters on that scene, so it has to be something else.

Source 1 -> [source filters] -> |
Source 2 -> [source filters] -> | -> Scene -> [scene filters] -> everything else
Source 3 -> [source filters] -> |
The overlay is not a filter. It is a media source within the scene. The only thing in the scene is my cam, 5 other cams as browser sources, the overlay, and image cards

1781578151180.png
1781578230052.png
1781578479748.png
 

Attachments

  • 1781578120730.png
    1781578120730.png
    797.5 KB · Views: 22
The overlay is not a filter. It is a media source within the scene. The only thing in the scene is my cam, 5 other cams as browser sources, the overlay, and image cards
Weird. My understanding is that a scene becomes a single array of pixels, and *then* goes through the scene filters. Filters are chained output to next input, and the final single array of pixels becomes "the scene" as everything else uses. Apparently, that's not happening. Somehow that one source is not getting to the filter but it *is* showing up after the filter?

What happens if you send it to the main output and use OBS's native recording on that? Not to run it that way normally, but just as a test.
Also what happens if you set up another scene that uses this one as its only source, and then Source Record that other scene instead?
 
Weird. My understanding is that a scene becomes a single array of pixels, and *then* goes through the scene filters. Filters are chained output to next input, and the final single array of pixels becomes "the scene" as everything else uses. Apparently, that's not happening. Somehow that one source is not getting to the filter but it *is* showing up after the filter?

What happens if you send it to the main output and use OBS's native recording on that? Not to run it that way normally, but just as a test.
Also what happens if you set up another scene that uses this one as its only source, and then Source Record that other scene instead?
I've been streaming for 6 years. My overlays always go through to stream and recording lol. For this specific recording, the main recording recorded everything just fine.

Let me also add that the overlay is the only thing not going through to recording. The image cards go through just fine.

And I did double check, I do not have "close file when not active" box checked. So it does not turn off when the scene is not active.
 
You've answered this one:
What happens if you send it to the main output and use OBS's native recording on that? Not to run it that way normally, but just as a test.
But you haven't answered this one:
Also what happens if you set up another scene that uses this one as its only source, and then Source Record that other scene instead?
The point here is to try and force a single image (flatten everything into a single layer like what should already be happening but somehow isn't) by explicitly taking the scene's output, and then record that. Just in case there's some weirdness going on inside the same scene.
 
You've answered this one:

But you haven't answered this one:

The point here is to try and force a single image (flatten everything into a single layer like what should already be happening but somehow isn't) by explicitly taking the scene's output, and then record that. Just in case there's some weirdness going on inside the same scene.
I figured out the problem. The media file settings, "Restart playback when source becomes active" needs to be unchecked
 
I have the filter set up to two scenes to record or streaming. Scene 1 file was to save as "Photo" and Scene 2 as "Camera", the problem I face after recording I saw that it has saved Scene 2 as "Photo" but the settings did not instruct this and I cannot find any recording of Scene 1. Is this bug fixable because I believe I completely lost Scene 1 recording and nowhere to be found on my PC. Additionally on the OBS Logs I see it initialized saving for "Photo.mp4" file but the whole recording is of Scene 2. If someone has faced this issue could you please advise if I can recover Scene 1 recording or is it completely lost?
 
I have the filter set up to two scenes to record or streaming. Scene 1 file was to save as "Photo" and Scene 2 as "Camera", the problem I face after recording I saw that it has saved Scene 2 as "Photo" but the settings did not instruct this and I cannot find any recording of Scene 1. Is this bug fixable because I believe I completely lost Scene 1 recording and nowhere to be found on my PC. Additionally on the OBS Logs I see it initialized saving for "Photo.mp4" file but the whole recording is of Scene 2. If someone has faced this issue could you please advise if I can recover Scene 1 recording or is it completely lost?
Based on your description, it's probably lost. That's usually how these things go. Sorry.

Has this ever worked? Yes, it's supposed to, but did you test it before relying on it? Or is this a new failure in an otherwise reliable and unchanged rig?
 
Does anyone else have an issue of using the filter on grouped sources and when starting/closing obs with the filter enabled will sometimes crash, or just simply turning off the filter causes obs to freeze for about like 2 minutes before it starts responding again?

I'd love to request a feature to automatically enable the filter alongside starting/disabling replay buffer or an easier access to toggling it somehow. (I use the filter to record full gameplay while still using normal replay buffer for clipping shorter segments whenever neccessary)
 
I'd love to request a feature to automatically enable the filter alongside starting/disabling replay buffer or an easier access to toggling it somehow. (I use the filter to record full gameplay while still using normal replay buffer for clipping shorter segments whenever neccessary)
Don't have an answer for the crash - I have a persistent crash myself that I haven't pinned down yet, mostly for lack of good tools on my end, and lack of response when I post what I do have - but I do have something for the automation:

On the General tab, set it to always start, and I like to run the response time all the way down as far as it goes. I think it's 10ms if I remember right. Faster response is more CPU load, but if your system struggles with that, you'll have other problems anyway.

Then set up a macro to do everything that needs to happen simultaneously, triggered from something else, like maybe its own hotkey that you can name yourself in Adv. SS and then assign in OBS's normal settings. That's usually better than detecting something that you're already doing and adding its own actions to it.

In other words, unassign the hotkey that you're already using for something, and have Adv. SS do that thing instead, plus whatever else too, in response to a new hotkey that you assign the same physical key to.

Or instead of a hotkey, you could create a dockable button that appears in OBS's Docks menu.
 
On the General tab, set it to always start, and I like to run the response time all the way down as far as it goes. I think it's 10ms if I remember right. Faster response is more CPU load, but if your system struggles with that, you'll have other problems anyway.

Then set up a macro

Thank you that actually helps out a ton.
I had my replaybuffer set up to automatically start on launch already so I just set up a macro to enable the Source Record filter if Replaybuffer started and disable it if Replaybuffer stopped. So it just auto starts up alongside my replaybuffer on obs launch and automatically stops the filter when i end my replaybuffer. Will definitely help with not having to worry about turning off the filter so it doesnt boot into a crash cuz the filters on.

As for the freeze when disabling the source record no clue how to fix that as it mostly only happens when Ive had it on for a while. Ig its prob just taking time to clear out the 1 hour of replaybuffer from the RAM or something (im not that much of a nerd so may be totally wrong lol) Might just change the 5 min replaybuffer to just be on the filter and the 1 hr on actual obs replaybuffer tbh
 
The replay buffer in source record seems not to work. I try to save replays as 6s but the final files sometimes have 4, 5, and even 7?! it's totaly unstable and usless... Tried all video encodecs with multiple settings. Last I've focused on was NVIDIA NVEC H.264.
Also its a laptop and has integrated AMD and NVIDIA graphis cars but i only see NVIDIA in encodec list (and Hardware, andsoftware)

The seccond issue is that when i set the filter od source record and then try to change the settings they are not stored. For example file file forrmat or path. It's always from first time setted....

What can I do to get stable replays? My setup is 2 cams. Couple of scenes. One filter for scene and one for cam. Both work incorrectly.
Windows 11
OBS v32.1.2
Source Record v0.4.8
 
I try to save replays as 6s but the final files sometimes have 4, 5, and even 7?! it's totaly unstable and usless...
Now that you mention it, I also have a slight discrepancy in the stop time.

As mentioned in a previous post here, I also have the Advanced Scene Switcher plugin, and I have *it* doing most of the actual controls, in response to a variety of things. Two of those macros are to start and stop the auxiliary recording (enable and disable the Source Record filter on a specific scene) in response to some dockable buttons that Adv. SS creates.

I use it for a meeting that slowly devolves into casual conversation, and I noticed that the resulting file always stops a couple of words *before* I clicked the stop button. (as if it has its own buffer before it gets to the file, and disabling it discards the buffer without writing it) So I added a 2-second Wait to the start of that macro, so the filter stays enabled for that long after I click the button.

I haven't paid enough attention to see how variable it still is, but it's close enough for me. If your recordings are only a couple of seconds to start with, then you probably need a lot more precision than I do! But I can also see some concurrency problems making it more variable at some times than others, and so a macro in Adv. SS with a Wait up front might make it more consistent simply by missing the other activity...at the expense of the action being delayed that much from the command, always, which means that you'll have to anticipate by that much if you want to hit it accurately.

Or, you could intentionally capture more than you need, and trim it later in a video editor. Some workflows allow that, others not.

The seccond issue is that when i set the filter od source record and then try to change the settings they are not stored. For example file file forrmat or path. It's always from first time setted....
Don't have that problem. I set it, and it remembers.

Ubuntu Studio 24.04 LTS (Linux)
not sure of the other version numbers, it's on a different machine that I'm away from at the moment
 
Back
Top