Advanced Scene Switcher

Advanced Scene Switcher 1.37.2

How can we have it create a broadcast (or use a pre existing one) before it runs a live stream?
Or we need to do it manually every time :(
 
How can we have it create a broadcast (or use a pre existing one) before it runs a live stream?
Or we need to do it manually every time :(
I don't think that's possible. @Warmuptill can give a better answer on that than I can, but it requires the server end to support that too (YouTube, Facebook, Twitch, wherever you stream to), not just Adv. SS. If the server doesn't support doing that automatically, then it must be manual. I remember when YouTube had a much better remote control API than it does now, and they killed it to get rid of spambots...

What you might do though, is not create a separate broadcast every time, but reuse the default one. That's what I do. You lose the automatic announcement to your audience that you're going to stream at <this time>, but my audience knows the schedule anyway and doesn't need that.

I also stream about 15 minutes of "leader" before the actual start time as I see it, just for people to find it and see that their end works. Some sort of changing graphic that includes the actual start time, and some sort of sound. And about 10 minutes of "trailer" (silent still image), to let them leave on their own before getting kicked off.

Anyway, I just start throwing data at it, and the stream starts. Stop the data, and YouTube times out and resets, ready for the next one. Easy as that. Same key. And I do use the stream key; OBS is *not* logged into my account.
 
Last edited:
Hello there,

First of all thank you Warmuptill for making this very helpfull plugin.

I have a question regarding the random timer.

Is there any way to make it more.. random. My issue is that i have several macros, many of which run in the same random timer span which in return makes them run in sync.

Example: If i have 5 timers running in random timer duration from 0.00 seconds - 1.0 hour, they will all randomize the same and sync up. I would like them to not sync up and be truly random.

I hope it makes sense :-)

I havent found any reasonable workaround yet. I know i can use a seperate macro with the "reset timer" but doing that comes with quite a hazzle with so many macros, unless im overlooking soemthing.

Once again, hank you for the plugin Warmuptill
 
How can we have it create a broadcast (or use a pre existing one) before it runs a live stream?
Or we need to do it manually every time :(
That depends entirely on the streaming service you use, as each has service (ex YT, FB, Twitch, etc) has its own process (other than relatively standard input streaming protocols, and even there they differed on preferred values/settings) there is NOTHING standard across free consumer 'broadcast' services. Then it depends on things like
- did you pre-schedule the video 'broadcast'? or is this 'ad-hoc'?
- or you going low-security route with persistent stream key?
- etc
Personally, all of my streams are pre-scheduled. And I change a handful of settings/values with each stream, though there probably over 100+ values I could be adjusting (from streaming services 'broadcast' setup portal). And those stream settings options have changed significantly over time

some people go simple... ad-hoc, same settings, no description, etc for every broadcast. Others are far more sophisticated. And that is ALL controlled at streaming service, and has nothing to do with stream being sent (there is no standard H.264/H.265/AV1 metadata for streaming services to grab such broadcast settings from). So, you have to set all of those stream details at streaming service, or the service has to have an flushed out API with all typical settings available (if API isn't complete, reliable, secure, etc, it will get ignored... see above comment on stream settings changing significantly over time). And then publish/advertise so that software developers (OBS Studio, 3rd party plugin authors like this ADvSS by the amazing @Warmuptill, or other streaming related software) will support those APIs.

All of this to say, that is not a simple question. it actually gets complicated rather quickly, and this being the free, open-source world doesn't help. Especially when it comes to 'free' streaming services.

So, when considering that stream settings aren't static, and change rates vary by streaming service, and some manual input typically required regardless (stream title), whether one enters that in streaming service portal, or within streaming software, doesn't make that much difference. I see where it would be convenient... but I also see why streaming services have focused their efforts elsewhere for the time being.
 
Is it possible for this plugin to see when a given device (for my case, my controller) is connected to my PC? Had the idea for a gamepadviewer source to to be visible only while my controller is connected, so that I don't have to automatically toggle the source when I'm using it
 
Is it possible for this plugin to see when a given device (for my case, my controller) is connected to my PC? Had the idea for a gamepadviewer source to to be visible only while my controller is connected, so that I don't have to automatically toggle the source when I'm using it
If you're on Linux, then you might use the lsusb command, with appropriate arguments, in the Process condition of Adv. SS. man lsusb in a terminal to figure out what those arguments should be. Arrange it so it returns success or failure depending on whether that specific USB device is present, and Adv. SS can use that return code to run a macro.

If you're on Mac, it might be similar. Not quite the same, but close as I understand things.

If you're on Windows, it's probably quite different. Might need to download a sketchy third-party utility.
 
If you're on Linux, then you might use the lsusb command, with appropriate arguments, in the Process condition of Adv. SS. man lsusb in a terminal to figure out what those arguments should be. Arrange it so it returns success or failure depending on whether that specific USB device is present, and Adv. SS can use that return code to run a macro.

If you're on Mac, it might be similar. Not quite the same, but close as I understand things.

If you're on Windows, it's probably quite different. Might need to download a sketchy third-party utility.
Windows for me. Since (I think) this plugin doesn't have 'device' or something like it in its list of conditions, I'm guessing the next easiest way would be to have some program that detects it, and writes the status to a file, and then have that file's contents be the macro condition?
 
...have some program that detects it, and writes the status to a file, and then have that file's contents be the macro condition?
That's another possibility. It's a lot of disk thrashing in theory, but since no modern system writes to disk immediately, it's probably fine. You're just changing some bits in RAM that the system treats as if it were a file on disk. And its physical update to disk is simply included in whatever else the system does with the disk *anyway*.

(That's pretty much THE reason why you need to tell it to shut down and not just kill power: the shutdown procedure fixes up all of the "eventual consistency" stuff, one layer at a time with many layers. Same for removing external storage: the explicit eject function fixes it up so it actually *is* how you think it is.)
 
That's another possibility. It's a lot of disk thrashing in theory, but since no modern system writes to disk immediately, it's probably fine. You're just changing some bits in RAM that the system treats as if it were a file on disk. And its physical update to disk is simply included in whatever else the system does with the disk *anyway*.

(That's pretty much THE reason why you need to tell it to shut down and not just kill power: the shutdown procedure fixes up all of the "eventual consistency" stuff, one layer at a time with many layers. Same for removing external storage: the explicit eject function fixes it up so it actually *is* how you think it is.)
Appreciate the help, ended up finding an even more elegant solution--a gamepad viewer thing that can be configured to show nothing while no inputs are being pressed, allowing me to leave the source visible at all times with no issue re a gamepad overlay being visible when not doing anything with a controller. :)
 
I'm running OBS 30.1.1, I noticed that the “ADVANCED SCENE SWITCHER” has quit working. I tried updating it, and it still doesn't work, I tried uninstalling and reinstalling, and it still isn't working, I tried the .deb file and I tried the flatpak. Anyone have any ideas?
 
Hello there,

First of all thank you Warmuptill for making this very helpfull plugin.

I have a question regarding the random timer.

Is there any way to make it more.. random. My issue is that i have several macros, many of which run in the same random timer span which in return makes them run in sync.

Example: If i have 5 timers running in random timer duration from 0.00 seconds - 1.0 hour, they will all randomize the same and sync up. I would like them to not sync up and be truly random.

I hope it makes sense :-)

I havent found any reasonable workaround yet. I know i can use a seperate macro with the "reset timer" but doing that comes with quite a hazzle with so many macros, unless im overlooking soemthing.

Once again, hank you for the plugin Warmuptill
Good find!
That is a bug and was not intended to be the case.

A build with a fix will be available here in a few minutes:
You will have to be logged into GitHub to be able to download it.
Let me know if that should be an issue and I try to share it with you via other means!

I'm running OBS 30.1.1, I noticed that the “ADVANCED SCENE SWITCHER” has quit working. I tried updating it, and it still doesn't work, I tried uninstalling and reinstalling, and it still isn't working, I tried the .deb file and I tried the flatpak. Anyone have any ideas?
Sorry about that!
Unfortunately, I need a bit more information:

Which OS are you using?
What exactly is not working?
Does the plugin not function any more or is it not showing up in OBS at all?

In case of the former can you please provide more information about what you have set up?
In case of the latter can you please share on OBS log (with the plugin installed)?
 
Hello,
Sorry for the question but i can't see "Advanced Scene Switcher" in my OSB. (I'm on Mac OS Monterey 12.6)

I try to install the package with the auto installer, and by in hand. In the two case it's in the same and correct folder.
When i launch OBS i can't see it in the tool menu.

I try the terminal command but it's not working. Thanks if you have some ideas... i really need the plugin for my stream.
 
Hello,
Sorry for the question but i can't see "Advanced Scene Switcher" in my OSB. (I'm on Mac OS Monterey 12.6)

I try to install the package with the auto installer, and by in hand. In the two case it's in the same and correct folder.
When i launch OBS i can't see it in the tool menu.

I try the terminal command but it's not working. Thanks if you have some ideas... i really need the plugin for my stream.
Can you please share on OBS log?
This might give an indication what the issue is.
 
That depends entirely on the streaming service you use, as each has service (ex YT, FB, Twitch, etc) has its own process (other than relatively standard input streaming protocols, and even there they differed on preferred values/settings) there is NOTHING standard across free consumer 'broadcast' services. Then it depends on things like
- did you pre-schedule the video 'broadcast'? or is this 'ad-hoc'?
- or you going low-security route with persistent stream key?
- etc
Personally, all of my streams are pre-scheduled. And I change a handful of settings/values with each stream, though there probably over 100+ values I could be adjusting (from streaming services 'broadcast' setup portal). And those stream settings options have changed significantly over time

some people go simple... ad-hoc, same settings, no description, etc for every broadcast. Others are far more sophisticated. And that is ALL controlled at streaming service, and has nothing to do with stream being sent (there is no standard H.264/H.265/AV1 metadata for streaming services to grab such broadcast settings from). So, you have to set all of those stream details at streaming service, or the service has to have an flushed out API with all typical settings available (if API isn't complete, reliable, secure, etc, it will get ignored... see above comment on stream settings changing significantly over time). And then publish/advertise so that software developers (OBS Studio, 3rd party plugin authors like this ADvSS by the amazing @Warmuptill, or other streaming related software) will support those APIs.

All of this to say, that is not a simple question. it actually gets complicated rather quickly, and this being the free, open-source world doesn't help. Especially when it comes to 'free' streaming services.

So, when considering that stream settings aren't static, and change rates vary by streaming service, and some manual input typically required regardless (stream title), whether one enters that in streaming service portal, or within streaming software, doesn't make that much difference. I see where it would be convenient... but I also see why streaming services have focused their efforts elsewhere for the time being.
Thank you! Apparently I am more beginner than I thought!
But I don't mind a persistent stream key. I am trying to run 2 live stream of pre recorded videos on the same YouTube channel. They are different videos each has one scene only. They would overlap for some time. Would a single stream key do? Hoping it is easier to deal with this AdvSS.
 
I don't think that's possible. @Warmuptill can give a better answer on that than I can, but it requires the server end to support that too (YouTube, Facebook, Twitch, wherever you stream to), not just Adv. SS. If the server doesn't support doing that automatically, then it must be manual. I remember when YouTube had a much better remote control API than it does now, and they killed it to get rid of spambots...

What you might do though, is not create a separate broadcast every time, but reuse the default one. That's what I do. You lose the automatic announcement to your audience that you're going to stream at <this time>, but my audience knows the schedule anyway and doesn't need that.

I also stream about 15 minutes of "leader" before the actual start time as I see it, just for people to find it and see that their end works. Some sort of changing graphic that includes the actual start time, and some sort of sound. And about 10 minutes of "trailer" (silent still image), to let them leave on their own before getting kicked off.

Anyway, I just start throwing data at it, and the stream starts. Stop the data, and YouTube times out and resets, ready for the next one. Easy as that. Same key. And I do use the stream key; OBS is *not* logged into my account.
Thank you AaronD.
It always shows up when I am not logged in. I need to be logged in and having the stream key entered so it disappears.
Now I am trying to run a couple of overlapping Youtube streams on a channel and schedule that with AdvSS. I am trying a couple of profiles each runs on a separate instance of OBS. One isn't asking for the broadcast set up as I am logged in and got the stream key set, but the other keeps asking for it.
 
I try to install the plugin inside the folder from a different way using the obs menu. But it crash the software everytime i lauch it. When i remove the plugin, obs works again. Strange...
 

Attachments

Yes no problem.
This one did not show the plugin being loaded at all.
I try to install the plugin inside the folder from a different way using the obs menu. But it crash the software everytime i lauch it. When i remove the plugin, obs works again. Strange...
Here the plugin is loaded.
Can you please share the crash report? (So the huge amount of text Apple puts into that dialog box reporting that an application has crashed.)
 
Yes here it is
Thanks! :)

Have you or some tool you are running modified the files (accidentally)?
The reason of the crash is that the signature of one of the files the advanced scene switcher is trying to load does not seem to match any more:
Code:
Termination Reason:    Namespace CODESIGNING, Code 2

The quick and dirty solution (if you don't need the Twitch functionality) is to simply delete the advanced-scene-switcher-twitch.so file or manually resign the plugin it by running this command in a terminal:
Code:
codesign --force --deep --sign - ~/Library/Application\ Support/obs-studio/plugins/advanced-scene-switcher.plugin
 
Back
Top