Resource icon

Advanced Scene Switcher 1.22.1

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


Examples and guides can be found in the wiki.
Feel free to contribute!


Currently supported condition types are:
Currently supported action types are:
  • Audio
  • File
  • Filter
  • Hotkey
  • Http
  • Macro
  • Media
  • Plugin state
  • Profile
  • Projector
  • 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 example:
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.

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
395,471
Views
853,383
First release
Last update
Rating
4.56 star(s) 64 ratings

More resources from Warmuptill

Latest updates

  1. Bug fix and locale update

    Updated Chinese locale. (provided by qwe1154323937) Fixed function priorities not being saved.
  2. MIDI, OSC, and more

    Additions: Added the new "MIDI" condition and action type. It will allow you to interact with...
  3. Minor changes and bug fixes

    Changes: A confirmation prompt will now appear even when deleting only a single macro. A...

Latest reviews

Es el mejor complemento de obs, no imagino obs sin este complemento sinceramente te hace la vida muchísimo más fácil y por otra parte es super adictivo. El programador siempre predispuesto a ayudarte lo que lo hace aún mejor todavía. Felicitaciones. Un trabajo asombroso
To simply call this plugin by its name, "Advanced Scene Switcher", doesn't do this piece of software nearly the justice it seriously deserves. It isn't JUST about changing scenes. It's about automation taken to the next level. The addition of Websockets support takes it to the next level, whether controlling it with a device like an Elgato Stream Deck or SAMMI or even from another OBS Studio instance on the same or even completely different computer, even from THAT OBS Studio's installation of Advanced Scene Switcher!

I don't think I use even the merest fraction of this software's capabilities, but I feel this plugin is a serious "must-have" if the user wants or needs any manner of automation, whether confined to the same computer or, in my case, a highly-distributed model.
I can't imagine working in obs without this plugin! It makes everything 1000x easier, Thank you so much for your work on this!
excelent version warmuptill
good plugin I am fascinated with this version Warmuptill
excelent plugin Warmuptill
Incredibly powerful! Love it!
I loved the version 1.20.1 of advanced scene switcher
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 :)
Top