Improve video condition:
The improvements to the video condition have been achieved by relying on the functionality provided by OpenCV.
This update includes a few of the OpenCV libraries and thus increased the size of the plugin for Windows and MacOS.
Linux users will have to manually install the corresponding OpenCV 4 packages. (imgproc, objdetect)
- Added pattern matching:
Previously, you were only to perform actions based on an exact pixel-match of a selected video source and an input image.
With this new functionality you can decide how similar the input image has to be to video source output or just match parts of an image.
This can be useful if you have "noisy" video sources or cannot know the exact output of the video source beforehand.
To test if the video source is matching the pattern one can click the "Show match" button.
Below you can find an example of using the number "2" as an input pattern.
It was correctly identified and highlighted in red in the video source:
- Added object detection option:
Besides pattern matching the option to identify "objects" in video sources was added by relying OpenCV's "Haar Cascades".
A few face detection related example models have been included plugin's data directory.
An example use case brought up on GitHub would be to automatically switch scenes based on in which camera you are currently looking.
Similar to the pattern matching the "Show match" button will highlight any objects detected in the selected video source:
(Face provided by https://thispersondoesnotexist.com)
I am not sure how much use this feature will find but it was very fun to implement. ;)
- Added pattern matching:
Added Studio mode related actions:
Improved Hotkey action:
An option was added to specify the duration a key is held down.
Additionally, you can now limit the key presses to be sent only to OBS.
This action is now also enabled on MacOS, although it is limited to only sending simulated key presses to OBS.
Add macro action and condition "Transition":
The new transition action will allow you to set the current transition type and duration.
The new transition condition will allow you to perform actions based on which transition is currently selected, its duration and also whether a transition is currently started or a transition ended.
An example use case would be to automatically mute the microphone during a longer fancy transition and unmute it once it completes.
Minor additions and changes:
Create a copy of the previous macro segment when inserting new segment.
Highlight newly added macro segments.
Validate window position before setting it.
Fix empty paths not saving on file tab.
Fix crash on clicking "Get settings" if source or filter is null.
Fix crash on OBS exit or when deleting sources whose settings were checked.
Save window position and size when using ESC or the "close" button.
Fix rapid scene switches repeatedly restarting certain transition types.