Advanced Scene Switcher

Advanced Scene Switcher 1.28.1

ahquamarine

New Member
So i just got the Twiddler 3 (handheld keyboard) and I wanted to set up a stream like bbjess where i can hit the keys to jump between scenes/cameras. The problem im running into is OBS can not distinguish between when im hitting my normal keyboard to type outside of OBS and keeps switching scenes when I don't want it to. Is there a way in Advances Scene Switcher to specify buttons from different keyboards or will I have to hold all sorts of combinations to not have the keys conflict?
 

ahquamarine

New Member
Is there a way to set up a macro so that whenever I switch to a scene it auto refreshes the camera? When i switch between screens my camera goes black and I have to hide it and unhide it for it to pop back up. is there a way to automate this?
 

Warmuptill

Active Member
I added my video space homepage in the general settings, I hope you won't mind, if you don't want it to exist, you can restore it to the original Chinese text, thanks to the plugin, I have made it into a tutorial video and sent it to Bilibili.
Thank you very much for the updated locale file!
I have removed the link for now.
I don't think the General tab is the right place for this - I hope you understand.
 

Warmuptill

Active Member
So i just got the Twiddler 3 (handheld keyboard) and I wanted to set up a stream like bbjess where i can hit the keys to jump between scenes/cameras. The problem im running into is OBS can not distinguish between when im hitting my normal keyboard to type outside of OBS and keeps switching scenes when I don't want it to. Is there a way in Advances Scene Switcher to specify buttons from different keyboards or will I have to hold all sorts of combinations to not have the keys conflict?
The plugin is using the existing OBS hotkey infrastructure for its hotkeys as well.
So I am afraid you will likely run into the same limitations there.

Is there a way to set up a macro so that whenever I switch to a scene it auto refreshes the camera? When i switch between screens my camera goes black and I have to hide it and unhide it for it to pop back up. is there a way to automate this?

Maybe something like this might work:
Refresh.PNG


Alternatively this should do exactly what you are doing manually at the moment:
Refresh2.PNG
 

ahquamarine

New Member
Maybe something like this might work:
View attachment 89435

Alternatively this should do exactly what you are doing manually at the moment:
View attachment 89436

Thank you, this seemed to work. Now there is a spot where it goes black for a second and refreshes. I know that this is on purpose because of the wait function but is there a way to make this even more seamless without the screen dipping to black for a second? (The first method you listed didn't seem to work) If not then this is okay. Thank you again!

Also if anyone has any idea why my PC wont let me switch seamlessly between 4 cameras without having to (deactivate when not showing) please lmk. It's a pretty hefty PC so im not sure why it cant handle having 4 camera in obs at once.
 

AaronD

Active Member
So i just got the Twiddler 3 (handheld keyboard) and I wanted to set up a stream like bbjess where i can hit the keys to jump between scenes/cameras. The problem im running into is OBS can not distinguish between when im hitting my normal keyboard to type outside of OBS and keeps switching scenes when I don't want it to. Is there a way in Advances Scene Switcher to specify buttons from different keyboards or will I have to hold all sorts of combinations to not have the keys conflict?
Pretty much every operating system (Windows, Mac, Linux, everything) combines all physical keyboards into one logical keyboard, so that no app can distinguish one physical keyboard from another. There have been hacks to use a ton of keyboards to get a dedicated physical key for every emoji, for example, but they really were quite "hacky"!

So the problem is not with the plugin or even with OBS, but with the operating system itself, and every one of *those* even (to my knowledge), still has the same problem.

But if you pay attention to that video, you might pick up enough for you to hack your own. :-)
 

AaronD

Active Member
Thank you, this seemed to work. Now there is a spot where it goes black for a second and refreshes. I know that this is on purpose because of the wait function but is there a way to make this even more seamless without the screen dipping to black for a second? (The first method you listed didn't seem to work) If not then this is okay. Thank you again!

Also if anyone has any idea why my PC wont let me switch seamlessly between 4 cameras without having to (deactivate when not showing) please lmk. It's a pretty hefty PC so im not sure why it cant handle having 4 camera in obs at once.
You can have decimals in the Wait action. You just have to type them instead of the up/down buttons.

This next trick only works if you know your sequence and never pick one at the last moment to show NOW, but maybe you can "blink" the one that you're *about* to show, instead of the one that you've just started to show? This would probably require a hotkey to trigger a macro, which blinks that one and then shows it, instead of the hotkey showing the scene directly.



It's also possible that you're feeding all 4 cameras into a single capture card with 4 inputs...but only one converter. Feeding that one converter is a 4-input switch, which is controlled automatically...most of the time. A security system might be designed like that, for example, because a 4-in/1-out switch is cheaper than 3 more converters. If you try to fade from one to another, forget it, because you only have that one converter, and the switch that feeds it only does hard cuts. (and it probably needs to re-sync every time too; it's literally a digital version of the old "mechanical clunk" analog TV switches)

Then the driver might try to make it look like you have 4 cameras, but only one actually reports non-black at a time. So when OBS tries to fade to a different camera...it fades to black instead. When you "blink" the source that is now showing, THEN the card updates its switch, and you can see it.

If that's really what you have, then you're pretty well sunk. You'll only ever be capable of hard cuts at best, directly from one camera to another, and any other transition must involve something other than those 4 cameras, and even the trick just before the section break in this post won't work. The solution in that case, is to get either a different capture card that really does have a dedicated converter for each input, or a bunch of separate 1-input cards, just to guarantee that many separate converters. (probably USB at that point, unless you've got a boatload of PCIe slots)
 
Last edited:

ahquamarine

New Member
You can have decimals in the Wait action. You just have to type them instead of the up/down buttons.

This next trick only works if you know your sequence and never pick one at the last moment to show NOW, but maybe you can "blink" the one that you're *about* to show, instead of the one that you've just started to show? This would probably require a hotkey to trigger a macro, which blinks that one and then shows it, instead of the hotkey showing the scene directly.



It's also possible that you're feeding all 4 cameras into a single capture card with 4 inputs...but only one converter. Feeding that one converter is a 4-input switch, which is controlled automatically...most of the time. A security system might be designed like that, for example, because a 4-in/1-out switch is cheaper than 3 more converters. If you try to fade from one to another, forget it, because you only have that one converter, and the switch that feeds it only does hard cuts. (and it probably needs to re-sync every time too; it's literally a digital version of the old "mechanical clunk" analog TV switches)

Then the driver might try to make it look like you have 4 cameras, but only one actually reports non-black at a time. So when OBS tries to fade to a different camera...it fades to black instead. When you "blink" the source that is now showing, THEN the card updates its switch, and you can see it.

If that's really what you have, then you're pretty well sunk. You'll only ever be capable of hard cuts at best, directly from one camera to another, and any other transition must involve something other than those 4 cameras, and even the trick just before the section break in this post won't work. The solution in that case, is to get either a different capture card that really does have a dedicated converter for each input, or a bunch of separate 1-input cards, just to guarantee that many separate converters. (probably USB at that point, unless you've got a boatload of PCIe slots)
Thank you for the response! I have only one Sony camera hooked up to a capture card. The other 3 cameras are logitech webcams that are connected via a 4-port USB expansion hub. Maybe the expansion hub cant handle all of the different camera inputs as well. I do have two USB expanders but both of them are almost completely full except for a slot and not much changes when I switch around what USBs are where. Do you think getting another one would lessen the load and in turn read the camera faster? Thanks for the help!
 

AaronD

Active Member
Thank you for the response! I have only one Sony camera hooked up to a capture card. The other 3 cameras are logitech webcams that are connected via a 4-port USB expansion hub. Maybe the expansion hub cant handle all of the different camera inputs as well. I do have two USB expanders but both of them are almost completely full except for a slot and not much changes when I switch around what USBs are where. Do you think getting another one would lessen the load and in turn read the camera faster? Thanks for the help!
Hmm. That *should* show all 4 cameras simultaneously and use them however you want. I don't think a slow USB connection would completely kill all but one. I think it would degrade all instead, so that the total still fits through the bottleneck. The USB hardware has no idea what you're doing with them; it just gets their data across so that it's all available. I guess it might see that data isn't being requested for all of them, and so it doesn't bother, but if you keep all of them on the screen in some form or another, like in the View menu -> Multiview, then OBS kinda needs all of them simultaneously. Maybe that can solve the problem???



Looking at a potential bandwidth issue:

If you're on Linux (might work for Mac too), you could do lsusb -t on a command line, to show what's connected to which hub, all the way up to the controller, *including any internal hubs*. The cluster of ports on the motherboard could easily be an internal hub that goes to a single controller, for example.
On Windows, you can use the Device Manager, and find the menu entry to Show Devices by Connection. Then expand the USB hubs until you find all of your cameras.

If they're all trying to cram themselves through the same USB bottleneck, then it *might* help to put some USB cards in the PCIe slots. Each of those has at least one separate controller on it, so you really do get to add their capacities. Unlike a (potential) single on-board controller that has to share that capacity across all ports no matter how you arrange it.

That being said though, one of my rigs has 4 single HDMI -> USB3 capture cards running through a single 4-port external USB3 hub. All 4 receive 1080p30 simultaneously, and they're all perfectly fine. So USB3 does support that much bandwidth, provided that it's USB3 all the way in. It's a desktop tower with only a mouse, keyboard, and stereo 16-bit line-in/out sound card as the other USB devices, so the entire USB system is pretty much dedicated to those 4 video inputs. Laptops tend to have lots of internal stuff permanently on USB, so you can't really call it "dedicated" there. And of course, if you've got a USB2 port in the chain somewhere, then you're definitely not getting full-HD out of those cameras even if they support it!

By the way, isn't a "USB expander" just a USB hub with stuff permanently attached to it? Like network, sound, video out, and maybe a card reader, in addition to some more USB ports? Also called a "USB dock", to refer their predecessor that had a proprietary many-pin connector that matched the bottom of a large laptop? For our purpose here, I would just call them "hubs with stuff permanently attached", if that's what they really are, and treat the bandwidth limits accordingly.
I've used some old ones in various Raspberry Pi projects, that had their own power supply. That was really handy to power the Pi and some USB-powered hard drives all from one AC plug, and let the Pi use those drives *and* the additional network adapter and better-than-on-board audio out (which really isn't saying much because the Pi's headphone jack is pretty much just a token noise-maker).
 

qwe1154323937

New Member
Thank you very much for the updated locale file!
I have removed the link for now.
I don't think the General tab is the right place for this - I hope you understand.
It doesn't matter. Like SteamFX, you can create a separate contributor tab to write contributors or some additional content information.
 

AaronD

Active Member
Suggestion: Add macro condition/action for audio monitoring
Context: https://ideas.obsproject.com/posts/277/hotkeys-for-audio-monitoring
I myself don't need it, but I saw this posted there. I doubt this would be added to Settings > Hotkey, given that there are 3 states.
I might use it, as a "different default" of sorts:

If Any Media on Current Scene is Playing,
Set Monitoring to Monitor and Output

OBS's default for any new source is Monitor Off, but since there isn't a Main audio out to a local device, my rig has to abuse the Monitor out. I've been bitten before, by a new video being silent, live. So the logic above would fix that setting when I test things beforehand, and do nothing live since it's "changing" to what's already there. Or if I didn't have time to test, it would still work, but with a possible glitch at the start as the setting changes at the last possible moment.
 

Warmuptill

Active Member
Suggestion: Add macro condition/action for audio monitoring
Context: https://ideas.obsproject.com/posts/277/hotkeys-for-audio-monitoring
I myself don't need it, but I saw this posted there. I doubt this would be added to Settings > Hotkey, given that there are 3 states.
Thanks for the suggestion!
A build with this functionality should be available here in a few minutes:
Monitor.PNG
 

CodeYan

Member
OBS's default for any new source is Monitor Off, but since there isn't a Main audio out to a local device, my rig has to abuse the Monitor out. I've been bitten before, by a new video being silent, live.
You might be interested in https://obsproject.com/forum/resources/source-defaults.1628/ which I created primarily for this lack of ability to set defaults (although I designed it to act as defaults, not modify monitoring whenever a scene changes).

@Warmuptill thanks for adding it in!
 

AaronD

Active Member
You might be interested in https://obsproject.com/forum/resources/source-defaults.1628/ which I created primarily for this lack of ability to set defaults (although I designed it to act as defaults, not modify monitoring whenever a scene changes).
That's actually what I wanted! Thank you!

More feedback in the appropriate thread:
 

AaronD

Active Member
I am a vlogger at redbook recently found a better multi-push tool is similar with restream. It allows you to stream live on multiple platforms at the same time, the part I am more interested in is 24/7 streaming and unmanned live. I can also chat with my fans on each platform and see which channels they are watching, which makes it much more interactive. The tool is still in the trial stage so it's still free, so give it a try soon.
Umm... Wrong thread?
 

pOpOmOmO

New Member
Hi!
I want to ask about making a condition with "Date". Is there any way that I can make a condition only a minute of time?
Ex. I want to trigger a macro only when minute reach xx:30 by ignore an hour.

Thanks in advance
 

pOpOmOmO

New Member
And one more problem

Some macro was met every condition (Date and Scene) but there is no any action happened. Like it was skipped all the action I was set. Is anything I can solve this?

1670574997611.png
 

AaronD

Active Member
And one more problem

Some macro was met every condition (Date and Scene) but there is no any action happened. Like it was skipped all the action I was set. Is anything I can solve this?

View attachment 89558
There's a scrollbar on your conditions list. That means we can't see all of them. I *assume* that you're right in that they all return true, but we can't verify that.
And there are other settings outside of what you've cropped, that could be the problem as well, like running only on change, or paused, etc.
 

pOpOmOmO

New Member
There's a scrollbar on your conditions list. That means we can't see all of them. I *assume* that you're right in that they all return true, but we can't verify that.
And there are other settings outside of what you've cropped, that could be the problem as well, like running only on change, or paused, etc.
There is nothing more than that in condition just only a check box "On repeat update...." and I tick it to make it repeat

And for the action just switch scene and adjust volume. no change anything, no pause.

I try to diagnose this problem and it seem like a Date condition will trigger an action once and skip once then it will back to do an action again in third times
Is this bug? or I set something wrong.
 
Top