Advanced Scene Switcher

Advanced Scene Switcher 1.28.1

grit60

New Member
I would like to request the feature of being able to 'write to file' based on the time left in a media source...
mostly used to relay the time remaining on media via text file.
Have you tried the LUA script "Media Countdown Timer"? It shows time remaining on a text source. The script could be easily modified to only display when the timer reaches the last 30 seconds. Or you could show the Text Source using Scene Switcher after "Time Remaining".
 

khaver

Member
Warmuptill, thank you for this plugin.

I'm trying to set up an auto recording scenario for our church's sermons. The sermons are usually around 30 to 40 minutes. Right now I'm using ffmpeg run from a cmd batch file that uses the Windows Task Scheduler to start it at a time on Sunday well before the sermon starts. It then continues recording until it's stopped manually at the end of the service. I see in your plugin you can set scene changes based on detecting a certain length of audio silence and activating a scene which can trigger the recording to stop. The problem I'm having is there are times before the sermon starts that the audio is muted for several minutes at a time. These silences will trigger the audio detection to change to the scene I have set to stop the recording. I would like to start OBS recording from the Task Scheduler, like I am ffmpeg, using the command line parameter "--startrecording", then delay your plugin from detecting the audio silence for say 20 minutes, well into the sermon, then after the sermon when the audio is muted after, say a minute, your plugin would switch to the scene that stops the recording.

Is there any way of doing this? Thanks in advance.
 

Warmuptill

Active Member
Warmuptill, thank you for this plugin.

I'm trying to set up an auto recording scenario for our church's sermons. The sermons are usually around 30 to 40 minutes. Right now I'm using ffmpeg run from a cmd batch file that uses the Windows Task Scheduler to start it at a time on Sunday well before the sermon starts. It then continues recording until it's stopped manually at the end of the service. I see in your plugin you can set scene changes based on detecting a certain length of audio silence and activating a scene which can trigger the recording to stop. The problem I'm having is there are times before the sermon starts that the audio is muted for several minutes at a time. These silences will trigger the audio detection to change to the scene I have set to stop the recording. I would like to start OBS recording from the Task Scheduler, like I am ffmpeg, using the command line parameter "--startrecording", then delay your plugin from detecting the audio silence for say 20 minutes, well into the sermon, then after the sermon when the audio is muted after, say a minute, your plugin would switch to the scene that stops the recording.

Is there any way of doing this? Thanks in advance.

You might be able to achieve what you are looking to do using the macro tab.
A macro similar to the following will allow you to disable the audio scene switch from having a effect for the first 20 minutes after starting OBS.
AudioTimer.PNG

Only if the timer reaches zero seconds <1> AND the volume threshold of the "Mic/Aux" source is below 20% for at least 1 minute <2> will the recording be stopped. <3>
I hope that helps!
 

khaver

Member
Just did a test at home using a 17 minute video clip with 2 minutes of silence before the talking, 10 minutes of talk, and another 5 minutes of silence after. Macro timer set for 10 minutes and the audio silence set for at least 1 minute, with the action to stop recording. Started OBS from the command line with the --startrecording parameter. After 13 minutes (2 minutes of silence, 10 minutes of talk, and 1 minute of silence) the recording stopped. It worked perfectly. Now I need to set this up on our church computer.

I'll let you know how it goes.

Thanks again.
 
Been using the plugin for my streaming operations here and am extremely impressed with it.

Now, I've gone from a single-PC setup to a dual-PC setup, one running OBS and VTube Studios, along with the game or video event I'm streaming, the second running just OBS Studio doing the actual streaming. Both are linked together via NDI with the first PC sending and the second receiving.

Is there a way to tell the other PC's OBS Studio to start/stop streaming and change scene from the PC I'm actually sitting at, short of being RDPed into the machine and directly operating that PC's OBS Studio? Would the network server/client within Advance Scene Switcher be of any use for this purpose?

Thanks in advance!

--Katt. =^.^=
 

grit60

New Member
Is there a way to tell the other PC's OBS Studio to start/stop streaming and change scene from the PC I'm actually sitting at, short of being RDPed into the machine and directly operating that PC's OBS Studio? Would the network server/client within Advance Scene Switcher be of any use for this purpose?

Yes, the Network tab will do this and the client will detect the scene change. Then the client, using this plugin, could detect the, "Thanks for watching" scene and stop streaming after a few seconds.
 
Yes, the Network tab will do this and the client will detect the scene change. Then the client, using this plugin, could detect the, "Thanks for watching" scene and stop streaming after a few seconds.

I guess it wasn't fully made clear that you have to use parallel, identically-named (down to even the case and spacing of those names) scenes on the controlling and controlled machines for what you're doing. In my case, I need to be able to start streaming, indicate in-band which machine is working to make sure pre-flight that things are working, select the NDI receiver scene, as well as end-of-stream activities.

In my case, the server is the full arbiter of everything that was happening, right down to when to begin and end the stream.

That said, I set something up to I could take full control from the gaming machine from start to finish, running a full test stream, and it worked perfectly.
 

Warmuptill

Active Member
I guess it wasn't fully made clear that you have to use parallel, identically-named (down to even the case and spacing of those names) scenes on the controlling and controlled machines for what you're doing. In my case, I need to be able to start streaming, indicate in-band which machine is working to make sure pre-flight that things are working, select the NDI receiver scene, as well as end-of-stream activities.

In my case, the server is the full arbiter of everything that was happening, right down to when to begin and end the stream.

That said, I set something up to I could take full control from the gaming machine from start to finish, running a full test stream, and it worked perfectly.
Thanks for the feedback!
I will try to make the requirement of the scene names having to match more clear by adding a note on the network tab.
 
Thanks for the feedback!
I will try to make the requirement of the scene names having to match more clear by adding a note on the network tab.

I'm looking at doing a tutorial video for how I run my stream to show how this can be used. Of course, there's no one right way to do it; every case is different!

--Katt. =^.^=
 

Bygrilinho

New Member
Heya, this macro section is really powerful and I absolutely love it! I have another issue tho. The time constraint keeps resetting whenever I restart OBS (I'm using the video condition)
 
Thanks for the updates. Quick question: How can we see which version we currently have installed (or downloaded)? I can't seem to find this anywhere. Thanks. :-)
 

Warmuptill

Active Member
Thanks for the updates. Quick question: How can we see which version we currently have installed (or downloaded)? I can't seem to find this anywhere. Thanks. :-)
Unfortunately the UI does not show this anywhere.
The OBS log will show which version of the plugin is installed in form of the commit hash.

I wanted to look into an auto-update mechanism anyways so maybe I will check to see if I can easily incorporate the version info in the UI.
(But I cannot promise that I will get around to this any time soon)
 
Unfortunately the UI does not show this anywhere.
The OBS log will show which version of the plugin is installed in form of the commit hash.

I wanted to look into an auto-update mechanism anyways so maybe I will check to see if I can easily incorporate the version info in the UI.
(But I cannot promise that I will get around to this any time soon)

Great stuff thanks, (at least I didn't miss something obvious). Small suggestion meanwhile. Possibly add the version number into the README.txt :-)
 

Bygrilinho

New Member
Heyy it's me again, with another bug :P
I can't scroll the list of options anymore (it works with the arrow keys but not with the scroll wheel), probably started in 1.15 but I hadn't noticed until now

Also there are 2 identical "Macro" options in the condition selector
1627255677597.png
 

Warmuptill

Active Member
Heyy it's me again, with another bug :P
I can't scroll the list of options anymore (it works with the arrow keys but not with the scroll wheel), probably started in 1.15 but I hadn't noticed until now

Also there are 2 identical "Macro" options in the condition selector
View attachment 73526
>I can't scroll the list of options anymore (it works with the arrow keys but not with the scroll wheel), probably started in 1.15 but I hadn't noticed until now

That was changed intentionally as it was very easy to accidentally change selections when scrolling through longer lists of actions and conditions.
You can still use the scroll wheel when first clicking on the particular option you want to change.

>Also there are 2 identical "Macro" options in the condition selector

I will look into it.
Thanks!
 
Top