- Supported Bit Versions
-
- 64-bit
- Source Code URL
- https://github.com/WarmUpTill/SceneSwitcher
- Minimum OBS Studio Version
- 30.0.0
- Supported Platforms
-
- Windows
- Mac OS X
- 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.
Examples and guides can be found in the wiki.
Feel free to contribute!
Currently supported condition types are:
Please have a quick look at the FAQ in case you are having an issue.
Settings configuration example:
Installing the plugin:
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.
Resource icon provided by lindenkron.
Macros consist of a list of conditions under which a list of actions will be performed.
Examples and guides can be found in the wiki.
Feel free to contribute!
Currently supported condition types are:
- Audio
- Cursor position
- Date and time
- File
- Filter
- Hotkey
- Idle detection
- MIDI
- Macro
- Media
- OBS statistics
- OpenVR
- Plugin state
- Process
- Profile
- Recording
- Replay buffer
- Run
- Scene
- Scene item order
- Scene item transform
- Scene item visibility
- Slide Show
- Source
- Streaming
- Studio mode
- Timer
- Transition
- Twitch
- Variable
- Video
- Virtual camera
- Websocket
- Window title
- Audio
- File
- Filter
- Http
- Hotkey
- MIDI
- Macro
- Media
- Open Sound Control
- Plugin state
- Profile
- Projector
- Random
- Recording
- Replay buffer
- Run
- Scene collection
- Scene item lock
- Scene item order
- Scene item transform
- Scene item visibility
- Screenshot
- Sequence
- Source
- Streaming
- Studio mode
- Switch scene
- System tray notification
- Timer
- Transition
- Twitch
- Variable
- Virtual camera
- Wait
- Websocket
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.
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.
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.
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".
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).
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".
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.
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)
Now everything should be set up and the scene should be switch accordingly.
I assume the plugin is installed so let's open the settings.
To do so go Tools -> Advanced Scene Switcher.
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.
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.
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".
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).
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".
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.
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)
Now everything should be set up and the scene should be switch accordingly.
Installing the plugin:
It might be necessary to install the most recent version of the Microsoft Visual C++ Redistributable.
Then either ...
Then either ...
- Run the provided installer. (You might have to click 'More info' and select 'Run anyway' if it is blocked by Windows)
- Or alternatively manually copy the
obs-plugins
anddata
folders in the respective OBS Studio installation directory.
It is usually located atC:\Program Files\obs-studio
.
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
It might also be necessary (if MacOS decided to be annoying) to remove the plugin from the quarantine.
To do this follow these steps:
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:
- Open the Terminal application
- Run the command:
xattr -r -d com.apple.quarantine ~/Library/Application\ Support/obs-studio/plugins/advanced-scene-switcher.plugin
Note that the plugin has dependencies to:
*
Optional:
*
*
*
*
If you are using snap you can install the following package for an OBS installation which comes bundled with the plugin:
The plugin is also available via the Flatpak package manager for users who installed OBS via Flatpak:
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 ...
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:
If this does not work you can try to copy the "locale" folder found inside the data folder to:
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.
*
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.
Resource icon provided by lindenkron.
Unfortunately handling support requests via reviews is very difficult since there is no way for me to communicate with you besides this single reply.
Please share the the crash log in the discussions thread and I will try to figure out what the issue is.
--------------------------------------------------------------------------------
Update:
After looking through your other discussion thread regarding this crash I have the suspicion that you might have attempted to manually install the plugin by copying individual files.
However, you seem to have forgotten at least one file / folder.
This results in the plugin not knowing any condition or action type.
The plugin cannot handle this state state and will thus crash when you try to add a new condition.
I would advise you to use the installer instead.
If that is not an option for you (e.g. because you are running a "portable" OBS install) feel free to contact me directly and I will guide you through the "manual" installation.
I hope this helps! Please let me know in the plugin's discussion thread! :)