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: 4
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
 
Back
Top