Resource icon

Advanced Scene Switcher 1.19.2

Supported Bit Versions
  1. 64-bit
Source Code URL
https://github.com/WarmUpTill/SceneSwitcher
Minimum OBS Studio Version
28.0.0
Supported Platforms
  1. Windows
  2. Mac OS X
  3. Linux
This plugin will allow you to automate various tasks using "Macros".
Macros consist of a list of conditions under which a list of actions will be performed.

MacroTabExample.PNG


Currently supported condition types are:
Currently supported action types are:
  • Audio
  • File
  • Filter
  • Hotkey
  • Http
  • Macro
  • Media
  • Plugin state
  • Profile
  • Random
  • Recording
  • Replay buffer
  • Scene collection
  • Scene item order
  • Scene item transform
  • Scene item visibility
  • Screenshot
  • Sequence
  • Source
  • Streaming
  • Swap scene in Studio mode
  • Switch preview scene in Studio mode
  • Switch scene
  • System tray notification
  • Timer
  • Transition
  • Variable
  • Virtual camera
  • Wait
  • Websocket

Select "Go to download" for download and not "Source Code URL".

Please have a quick look at the FAQ in case you are having an issue.

Settings configuration:
Below is a short description on how to set up an automated scene switch if the output of a video source has not changed for a specified duration.

I assume the plugin is installed so let's open the settings.
To do so go Tools -> Advanced Scene Switcher.
OpenPlugin.png


You will end up on the "General" tab of the plugin.
Here we can make sure that the plugin is running by clicking the "Start" button if necessary.

StartPlugin.png


Next we switch to the Macro tab to set up our automated scene switch. (1)
Here we add a new macro by clicking the plus symbol on the lower left (2) and enter a name for our new macro.

MacroTab.png


Now we have to add the condition we want to trigger the automated scene switch by clicking the corresponding plus symbol (1) and selecting the type of the condition we want to use (2).
As we want use video based scene switching we select the type "Video".

VideoCondition.png


The next step is to configure the settings of this condition.
We select the video source we want to monitor (1) and the type of monitoring we want to take place (2).
For this particular use case we choose "hos not changed".
Finally we add the time constraint by pressing the small clock icon (3).

VideoConditionSettings.png

For the time constraint we specify the type of constraint (1) we want to choose and specify the duration (2).
In this case we select "For at least" and "3 seconds".

TimeConstraint.png

As a last step we have to specify the action that has to be performed if the condition we specified above is true.
To do this we have to add a new action to our macro by pressing the plus button in the lower middle of the macro tab.

AddAction.PNG


The default action that is chose is already our desired one - "Switch scene" - so we do not have to adjust the type of the action.
However we have to select the scene we want to switch to (1) the transition type we want to use (2) and the duration of the transition (3).
(The duration can be left at "0" to use whatever is configured as the current transition duration)


SwitchSceneSettings.PNG


Now everything should be set up and the scene should be switch accordingly.

A few more examples and guides can be found in the wiki.
Feel free to contribute your own examples! :)

Installing the plugin:
Recommended: Run the provided installer. (You might have to click 'More info' and select 'Run anyway' if it is blocked by Windows)

Alternatively manually copy the 'obs-plugins' and 'data' folders in the respective OBS Studio installation directory.
It is usually located at 'C:\Program Files\obs-studio'.
Install the Visual C++ Redistributable for Visual Studio 2019, if you have not done so already.
https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads
64bit: vc_redist.x64.exe
32:bit: vc_redist.x86.exe
Recommended: Run the provided installer. (You might have to right click and select 'open' if it is blocked)

Alternatively manually install the the plugin files to ~/Library/Application\ Support/obs-studio/plugins/advanced-scene-switcher.plugin.

It might also be necessary (if MacOS decided to be annoying) to remove the plugin from the quarantine.
To do this follow these steps:
  1. Open the Terminal application
  2. Run the command: xattr -r -d com.apple.quarantine ~/Library/Application\ Support/obs-studio/plugins/advanced-scene-switcher.plugin
Thanks djSmileyMike for your help!
Note that the plugin has dependencies to:
* libXss
Optional:
* libXtst
* libcurl
* libopencv-imgproc
* libopencv-objdetect

If you are using snap you can install the following package for an OBS installation which comes bundled with the plugin:
sudo snap install obs-studio

The plugin is also available via the Flatpak package manager for users who installed OBS via Flatpak:
flatpak install com.obsproject.Studio.Plugin.SceneSwitcher

If you have installed OBS via other means, it is most likely necessary to install the plugin manually.
To do so copy the advanced-scene-switcher.so file and into the OBS Studio plugin folder.
The location of this folder can vary, so you might have to look around a bit.

Examples are ...
/usr/lib/obs-plugins/
/usr/lib/x86_64-linux-gnu/obs-plugins/
/usr/share/obs/obs-plugins/
~/.config/obs-studio/plugins/advanced-scene-switcher/bin/64bit/
~/.local/share/flatpak/app/com.obsproject.Studio/x86_64/stable/active/files/lib/obs-plugins/
/var/lib/flatpak/app/com.obsproject.Studio/x86_64/stable/active/files/lib/obs-plugins/

Unfortunately the expected location of the locale, which can be found in the data folder, can vary also.
The data folder, usually should be copied to:
~/.config/obs-studio/plugins/advanced-scene-switcher/

If this does not work you can try to copy the "locale" folder found inside the data folder to:
/usr/share/obs/obs-plugins/advanced-scene-switcher/locale
~/.local/share/flatpak/app/com.obsproject.Studio/x86_64/stable/active/files/share/obs/obs-plugins/advanced-scene-switcher/locale
/var/lib/flatpak/app/com.obsproject.Studio/x86_64/stable/active/files/share/obs/obs-plugins/advanced-scene-switcher/locale

In doubt, please check where other "en-US.ini" files are located on your system.

When manually installing the prebuilt artifacts from GitHub please keep in mind that they are built for Qt6.
If your OBS installation is still linking against Qt5 and you install a plugin depending on Qt6 OBS might crash.
Manually compiling the plugin for Qt5 is possible still if it should be required.

Additional Information and Notes:
If you want to build the plug-in yourself the source is available here.

Please report any problems you experience using this plug-in here, on GitHub or send me a direct message.
Author
Warmuptill
Downloads
340,947
Views
734,507
First release
Last update
Rating
4.53 star(s) 60 ratings

More resources from Warmuptill

Latest updates

  1. Minor additions and bug fixes

    Important note: You will have to use at least OBS 28 to use this version of the plugin! Please...
  2. Fix scene item selection

    Fixed scene item selection not working as expected in certain situations. Thanks to lindenkron...
  3. Add variable support

    Important note: You will have to use at least OBS 28 to use this version of the plugin! Please...

Latest reviews

the plugin is good excellent but it is complicated to use
I'm baffled that this plugin has the functionality it does. Automation on a level THIS complex? I'm amazed you're not charging money for it.

Do you have some way I could potentially donate? This type of resource is something I feel I need to support out of principle.
W
Warmuptill
Glad you enjoy using the plugin!
There is no need to donate anything, I just do this for fun :)
This has been a very perfect plugin for everything I needed.

When OBS crashes (not related to the plugin), the plugin stops working no matter how many times I restart OBS. Had to resort to restart my PC to get it back up working.
Use to love this plugin for its ease of use, after updates, forcing macro functions have made this my least favorite plugin. Tasks that use to take just a few clicks to program, now take much longer because of the macro enforcement. Don't fix what isn't broken.
W
Warmuptill
None of the previous functionality was removed.

In case you want to use the "old" tabs you can re-enable them by unchecking the "Hide tabs which can be represented via macros" option on the General tab:
https://user-images.githubusercontent.com/19472752/194732681-cc5c8118-c008-45c2-89d4-a364771327e7.PNG

Hope that helps!
If you have question do not hesitate to ask or have a look at the wiki :)
https://github.com/WarmUpTill/SceneSwitcher/wiki
Does so much I'd call it OBS Automator or Macro Tool. The developer is also great! Active in development and support, and responds to suggestions well. Really thankful for this plugin.
Enables a whole new level of automation for OBS, especially with the Macros feature.
Essential plugin
In my previous review I had some feedback to be improved. Still gave it 5 stars.

All of those improvements has happened. I would rate this 10/5.

This plugin shouldn't be 'advanced scene switcher', it does SO much more. Almost anything you'd want to automate, this can do it.

This plugin is currently my #1 plugin for OBS, and provides features that in the future hopefully will be default to OBS.

Can only recommend.
Fixed a major issue I had with a program that would always white screen when launchingit to capture (no more flashbangs for the viewers) and can do the job of two other scripts I needed for specific functions. A must have for me now.
I was looking for a way to trigger a scene switch according to the time. I have a 15-minute countdown that plays over a wide shot before the church service begins. With Advanced Scene Switcher, I was able to do it exactly as I wanted.
Top