Advanced Scene Switcher

Advanced Scene Switcher 1.28.1

PNO

New Member
Hello,

Can someone provide clarity on the Run function for macro's?

I'd like to kick off a powershell script and pass 1 parameter

Specifically: Should I point the Run "browse" input to the full path of the powershell exe?
Or should the browse call the .ps1 file directly?
Should I call at cmd or .bat file from the browse?

None seem to work for me. What am I missing?

Thank you for your assistance.
Please disregard. Found my answer. Great piece of software!
 

AaronD

Active Member
Please disregard. Found my answer. Great piece of software!

Just curious, what was the answer? Maybe there's a better one, or at least someone else can get it from you, via a google search, instead of beating their head against a wall.
 

daviddm

New Member
First let me say this plugin in amazing.

I am trying to build a macro that starts and stops streaming every 24 hours or so. The macro seems to work the first time around but then fails to start the stream the second time around. See the image below. I set the timer to just 30 sec for testing purposes. I start streaming and the macro starts to run. The Timer elapses and the macro stops streaming, waits for 3 sec. resets the timer and starts streaming again, then the timer elapses and the macro stops streaming, waits for 3 sec. resets the timer, but then fails to start streaming the second time around. Any ideas how to fix this?

Screenshot 2022-03-16 131048.png
 

daviddm

New Member
Just to clarify my end goal is to stream for 24 hours, stop the stream for 3 sec. and then start streaming again and wait for another 24 hours before repeating the process.
 

Warmuptill

Active Member
Just to clarify my end goal is to stream for 24 hours, stop the stream for 3 sec. and then start streaming again and wait for another 24 hours before repeating the process.
Sorry about the delayed response.

I would guess that stopping the stream might take longer than three seconds so the "Start streaming" action cannot be completed.
Give you give using a bigger delay (30s or so) a try?
 

daviddm

New Member
Sorry about the delayed response.

I would guess that stopping the stream might take longer than three seconds so the "Start streaming" action cannot be completed.
Give you give using a bigger delay (30s or so) a try?
I also thought that might be it, so we did a 1 min wait and it still did not work. One thing to note is that the first time around it successfully stops waits 3 sec. and starts the stream again. So the 3 sec. wait works the first time but then when the timer ends the second time it stops the stream, waits, resets the timer but fails to start the stream.
 

Warmuptill

Active Member
I also thought that might be it, so we did a 1 min wait and it still did not work. One thing to note is that the first time around it successfully stops waits 3 sec. and starts the stream again. So the 3 sec. wait works the first time but then when the timer ends the second time it stops the stream, waits, resets the timer but fails to start the stream.
Hm, interesting.
Can you share a OSB log file of such an occurrence?
 

daviddm

New Member
Here is the log file. Sorry if this is not the best way to share this.

I manually start the streaming the first time, this triggers Advanced Scene Switcher to start and the macro runs starting the timer. The timer ends, streaming stops, waits 3 sec., resets the timer, starts the stream, the timer runs out, stops the stream, resets the timer, but never starts the stream a 2nd time.

Code:
14:08:57.434: CPU Name: Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHz
14:08:57.434: CPU Speed: 2600MHz
14:08:57.434: Physical Cores: 24, Logical Cores: 48
14:08:57.434: Physical Memory: 229243MB Total, 218610MB Free
14:08:57.434: Windows Version: 10.0 Build 19043 (release: 2009; revision: 1586; 64-bit)
14:08:57.434: Running as administrator: false
14:08:57.434: Aero is Enabled (Aero is always on for windows 8 and above)
14:08:57.434: Windows 10 Gaming Features:
14:08:57.434:     Game DVR: On
14:08:57.436: Sec. Software Status:
14:08:57.438:     Microsoft Defender Antivirus: enabled (AV)
14:08:57.439:     Windows Firewall: enabled (FW)
14:08:57.439: Current Date/Time: 2022-03-17, 14:08:57
14:08:57.439: Browser Hardware Acceleration: true
14:08:57.439: Hide OBS windows from screen capture: false
14:08:57.439: Qt Version: 5.15.2 (runtime), 5.15.2 (compiled)
14:08:57.439: Portable mode: false
14:08:58.075: OBS 27.2.3 (64-bit, windows)
14:08:58.075: ---------------------------------
14:08:58.141: ---------------------------------
14:08:58.141: audio settings reset:
14:08:58.141:     samples per sec: 48000
14:08:58.141:     speakers:        2
14:08:58.143: ---------------------------------
14:08:58.143: Initializing D3D11...
14:08:58.143: Available Video Adapters:
14:08:58.146:     Adapter 0: NVIDIA Quadro M6000 24GB
14:08:58.146:       Dedicated VRAM: 4243521536
14:08:58.146:       Shared VRAM:    4225345536
14:08:58.146:       PCI ID:         10de:17f1
14:08:58.147:       Driver Version: 30.0.14.7284
14:08:58.147:       output 0:
14:08:58.147:         name=DELL P2715Q
14:08:58.147:         pos={0, 0}
14:08:58.147:         size={3840, 2160}
14:08:58.147:         attached=true
14:08:58.147:         refresh=60
14:08:58.147:         space=RGB_FULL_G22_NONE_P709
14:08:58.147:         sdr_white_nits=80
14:08:58.147:         nit_range=[min=0.500000, max=270.000000, max_full_frame=270.000000]
14:08:58.147:       output 1:
14:08:58.147:         name=SP-DSP00
14:08:58.147:         pos={3840, 0}
14:08:58.147:         size={1280, 720}
14:08:58.147:         attached=true
14:08:58.147:         refresh=60
14:08:58.147:         space=RGB_FULL_G22_NONE_P709
14:08:58.147:         sdr_white_nits=80
14:08:58.147:         nit_range=[min=0.500000, max=270.000000, max_full_frame=270.000000]
14:08:58.147:     Adapter 1: NVIDIA Quadro M6000 24GB
14:08:58.147:       Dedicated VRAM: 4243521536
14:08:58.147:       Shared VRAM:    4225345536
14:08:58.147:       PCI ID:         10de:17f1
14:08:58.147:       Driver Version: 30.0.14.7284
14:08:58.150: Loading up D3D11 on adapter NVIDIA Quadro M6000 24GB (0)
14:08:58.241: D3D11 loaded successfully, feature level used: b000
14:08:58.241: DXGI increase maximum frame latency success
14:08:58.241: D3D11 GPU priority setup failed (not admin?)
14:08:58.766: ---------------------------------
14:08:58.766: video settings reset:
14:08:58.766:     base resolution:   1920x1080
14:08:58.766:     output resolution: 1920x1080
14:08:58.766:     downscale filter:  Bicubic
14:08:58.766:     fps:               30/1
14:08:58.766:     format:            NV12
14:08:58.766:     YUV mode:          709/Partial
14:08:58.767: NV12 texture support enabled
14:08:58.770: Audio monitoring device:
14:08:58.770:     name: Default
14:08:58.770:     id: default
14:08:58.771: ---------------------------------
14:08:58.800: [adv-ss] version: 1.17.4
14:08:58.800: [adv-ss] version: da28fea2e016c5918ea7fae9f8de74298217b748
14:08:58.803: [adv-ss] curl loaded successfully
14:08:58.803: [adv-ss] found curl library
14:08:58.804: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-opencv.dll"
14:08:58.830: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-opencv.dll"
14:08:58.830: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-openvr.dll"
14:08:58.838: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-openvr.dll"
14:08:58.838: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_calib3d453.dll"
14:08:58.838: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_calib3d453.dll"
14:08:58.838: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_core453.dll"
14:08:58.838: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_core453.dll"
14:08:58.838: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_features2d453.dll"
14:08:58.838: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_features2d453.dll"
14:08:58.838: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_flann453.dll"
14:08:58.838: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_flann453.dll"
14:08:58.838: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_imgproc453.dll"
14:08:58.838: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_imgproc453.dll"
14:08:58.838: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_objdetect453.dll"
14:08:58.838: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_objdetect453.dll"
14:08:58.838: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/openvr_api.dll"
14:08:58.838: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/openvr_api.dll"
14:08:58.867: No AJA devices found, skipping loading AJA UI plugin
14:08:58.867: Failed to initialize module 'aja-output-ui.dll'
14:08:58.878: No AJA devices found, skipping loading AJA plugin
14:08:58.878: Failed to initialize module 'aja.dll'
14:08:58.879: Skipping module '../../obs-plugins/64bit/chrome_elf.dll', not an OBS plugin
14:08:58.884: [CoreAudio encoder]: CoreAudio AAC encoder not installed on the system or couldn't be loaded
14:08:58.886: Failed to load 'en-US' text for module: 'decklink-captions.dll'
14:08:58.889: Failed to load 'en-US' text for module: 'decklink-ouput-ui.dll'
14:08:58.934: [AMF] Unable to load 'amfrt64.dll', error code 126.
14:08:58.937: [AMF] AMF Test failed due to one or more errors.
14:08:58.937: Failed to initialize module 'enc-amf.dll'
14:08:58.967: Skipping module '../../obs-plugins/64bit/libcef.dll', not an OBS plugin
14:08:58.968: Skipping module '../../obs-plugins/64bit/libEGL.dll', not an OBS plugin
14:08:58.969: Skipping module '../../obs-plugins/64bit/libGLESv2.dll', not an OBS plugin
14:08:59.054: [obs-browser]: Version 2.17.13
14:08:59.054: [obs-browser]: CEF Version 95.0.0-MediaHandler.2467+g8092a57+chromium-95.0.4638.69
14:08:59.093: NVENC supported
14:08:59.097: [noise suppress]: NVIDIA RTX denoiser disabled, redistributable not found
14:08:59.420: [vlc-video]: VLC 3.0.16 Vetinari found, VLC video source enabled
14:08:59.436: Decklink API Compiled version 11.6
14:08:59.436: Decklink API Installed version 12.2.2
14:08:59.453: ---------------------------------
14:08:59.453:   Loaded Modules:
14:08:59.453:     win-wasapi.dll
14:08:59.453:     win-mf.dll
14:08:59.453:     win-dshow.dll
14:08:59.453:     win-decklink.dll
14:08:59.453:     win-capture.dll
14:08:59.453:     vlc-video.dll
14:08:59.453:     text-freetype2.dll
14:08:59.453:     rtmp-services.dll
14:08:59.453:     obs-x264.dll
14:08:59.453:     obs-vst.dll
14:08:59.453:     obs-transitions.dll
14:08:59.453:     obs-text.dll
14:08:59.453:     obs-qsv11.dll
14:08:59.453:     obs-outputs.dll
14:08:59.453:     obs-filters.dll
14:08:59.453:     obs-ffmpeg.dll
14:08:59.453:     obs-browser.dll
14:08:59.453:     image-source.dll
14:08:59.453:     frontend-tools.dll
14:08:59.453:     decklink-ouput-ui.dll
14:08:59.453:     decklink-captions.dll
14:08:59.453:     coreaudio-encoder.dll
14:08:59.454:     advanced-scene-switcher.dll
14:08:59.454: ---------------------------------
14:08:59.455: ==== Startup complete ===============================================
14:08:59.547: All scene data cleared
14:08:59.547: ------------------------------------------------
14:08:59.558: [win-wasapi: 'Desktop Audio'] update settings:
14:08:59.558:     device id: default
14:08:59.558:     use device timing: 1
14:08:59.562: [Loaded global audio device]: 'Desktop Audio'
14:08:59.562: [win-wasapi: 'Mic/Aux'] update settings:
14:08:59.562:     device id: default
14:08:59.562:     use device timing: 0
14:08:59.562: [Loaded global audio device]: 'Mic/Aux'
14:08:59.603: WASAPI: Device 'Speakers (High Definition Audio Device)' [48000 Hz] initialized
14:08:59.660: WASAPI: Device 'Digital Audio (S/PDIF) (High Definition Audio Device)' [44100 Hz] initialized
14:08:59.661: Switched to scene 'Play List Stream'
14:08:59.662: [adv-ss] trying to reconnect to  in 10 seconds.
14:08:59.663: ------------------------------------------------
14:08:59.663: Loaded scenes:
14:08:59.663: - scene 'Play List Stream':
14:08:59.663:     - source: 'VLC Video Source' (vlc_source)
14:08:59.663: ------------------------------------------------
14:08:59.694: adding 42 milliseconds of audio buffering, total audio buffering is now 42 milliseconds (source: Mic/Aux)
14:08:59.694:
14:19:40.048: User Removed source 'VLC Video Source' (vlc_source) from scene 'Play List Stream'
14:20:28.515: User added source 'VLC Video Source' (vlc_source) to scene 'Play List Stream'
14:23:37.976: [jim-nvenc: 'simple_h264_stream'] settings:
14:23:37.976:     rate_control: CBR
14:23:37.976:     bitrate:      4500
14:23:37.976:     cqp:          20
14:23:37.976:     keyint:       60
14:23:37.976:     preset:       hq
14:23:37.976:     profile:      high
14:23:37.976:     width:        1920
14:23:37.976:     height:       1080
14:23:37.976:     2-pass:       false
14:23:37.976:     b-frames:     2
14:23:37.976:     lookahead:    false
14:23:37.976:     psycho_aq:    true
14:23:37.976:
14:23:38.029: ---------------------------------
14:23:38.029: [FFmpeg aac encoder: 'simple_aac'] bitrate: 192, channels: 2, channel_layout: 3
14:23:38.029:
14:23:38.034: [rtmp stream: 'simple_stream'] Connecting to RTMP URL rtmp://lax.contribute.live-video.net/app...
14:23:38.077: [rtmp stream: 'simple_stream'] Interface: Intel(R) I210 Gigabit Network Connection (ethernet, 1000 mbps)
14:23:38.650: [rtmp stream: 'simple_stream'] Connection to rtmp://lax.contribute.live-video.net/app successful
14:23:38.651: [rtmp stream: 'simple_stream'] Socket send buffer is 65536 bytes
14:23:38.653: [adv-ss] started
14:23:38.660: ==== Streaming Start ===============================================
14:24:09.506: [rtmp stream: 'simple_stream'] User stopped the stream
14:24:09.506: [rtmp stream: 'simple_stream'] Socket send buffer is 65536 bytes
14:24:09.506: Output 'simple_stream': stopping
14:24:09.506: Output 'simple_stream': Total frames output: 913
14:24:09.506: Output 'simple_stream': Total drawn frames: 945
14:24:09.512: ==== Streaming Stop ================================================
14:24:12.040: [adv-ss] detected busy loop - refusing to sleep less than 1ms
14:24:12.146: [jim-nvenc: 'simple_h264_stream'] settings:
14:24:12.146:     rate_control: CBR
14:24:12.146:     bitrate:      4500
14:24:12.146:     cqp:          20
14:24:12.146:     keyint:       60
14:24:12.146:     preset:       hq
14:24:12.146:     profile:      high
14:24:12.146:     width:        1920
14:24:12.146:     height:       1080
14:24:12.146:     2-pass:       false
14:24:12.146:     b-frames:     2
14:24:12.146:     lookahead:    false
14:24:12.146:     psycho_aq:    true
14:24:12.146:
14:24:12.184: ---------------------------------
14:24:12.185: [FFmpeg aac encoder: 'simple_aac'] bitrate: 192, channels: 2, channel_layout: 3
14:24:12.185:
14:24:12.186: [rtmp stream: 'simple_stream'] Connecting to RTMP URL rtmp://lax.contribute.live-video.net/app...
14:24:12.187: [rtmp stream: 'simple_stream'] Interface: Intel(R) I210 Gigabit Network Connection (ethernet, 1000 mbps)
14:24:12.707: [rtmp stream: 'simple_stream'] Connection to rtmp://lax.contribute.live-video.net/app successful
14:24:12.707: [rtmp stream: 'simple_stream'] Socket send buffer is 65536 bytes
14:24:12.714: ==== Streaming Start ===============================================
14:24:42.649: [rtmp stream: 'simple_stream'] User stopped the stream
14:24:42.649: [rtmp stream: 'simple_stream'] Socket send buffer is 65536 bytes
14:24:42.649: Output 'simple_stream': stopping
14:24:42.649: Output 'simple_stream': Total frames output: 885
14:24:42.649: Output 'simple_stream': Total drawn frames: 914
14:24:42.654: ==== Streaming Stop ================================================
14:24:45.179: [adv-ss] detected busy loop - refusing to sleep less than 1ms
 

AaronD

Active Member
I manually start the streaming the first time, this triggers Advanced Scene Switcher to start...

Something tells me that the problem might be in that trigger. Like it's getting retriggered when it doesn't need to, and that's getting things confused. I have Adv-SS running all the time, not triggered by anything. What do your settings look like for that?

1647569476051.png
 

daviddm

New Member
I have ASS stopped at first. I had Automatically start scene switcher when Streaming. So I changed my settings to match what you have and restarted OBS and tested again but still the same issue. It does not trigger Start Streaming the second time around just the first. I know the Macro is still running because it is stopping the stream and resetting the timer. I have tested this same macro on multiple machines and have the issue. Are you able to re-produce this same result?
 

Warmuptill

Active Member
I have ASS stopped at first. I had Automatically start scene switcher when Streaming. So I changed my settings to match what you have and restarted OBS and tested again but still the same issue. It does not trigger Start Streaming the second time around just the first. I know the Macro is still running because it is stopping the stream and resetting the timer. I have tested this same macro on multiple machines and have the issue. Are you able to re-produce this same result?
I think I might have found a bug which might lead to the behaviour you described.
A build with a fix should be available here in a few minutes:
You need to be logged into GitHub to be able to download this build - let me know if that should be an issue for you.

Let me know if this resolves the problem you were facing.

For a bit of background of what lead to this error:
I put a safeguard in place to prevent the user from continuously attempting to start the stream if no valid stream configuration is set up, as this would lead to an error to pop up every few hundred milliseconds.
But this safeguard was not reset properly leading to each second attempt to start streaming to fail.
 

AaronD

Active Member
For a bit of background of what lead to this error:
I put a safeguard in place to prevent the user from continuously attempting to start the stream if no valid stream configuration is set up, as this would lead to an error to pop up every few hundred milliseconds.
But this safeguard was not reset properly leading to each second attempt to start streaming to fail.

Ah! That would do it too. And good thinking to avoid "pop-up spam".
 

Kaisercelt

New Member
Hi, this is a fantastic plugin. Really love it and am getting great results with the Audio section flicking scene's based on Mic levels.

Thank you so much for making this and the support offered on here. Above and beyond.

One question that's possibly been asked already: is there logic possible in the audio section, whereby we can set an And, OR or NOR rule based on different Audio inputs to pick separate Scenes etc?? Two mics at the same time ( 1 AND 2) always force a particular scene one OR other Mic another scene etc??

Thanks again.
 

Warmuptill

Active Member
Hi, this is a fantastic plugin. Really love it and am getting great results with the Audio section flicking scene's based on Mic levels.

Thank you so much for making this and the support offered on here. Above and beyond.

One question that's possibly been asked already: is there logic possible in the audio section, whereby we can set an And, OR or NOR rule based on different Audio inputs to pick separate Scenes etc?? Two mics at the same time ( 1 AND 2) always force a particular scene one OR other Mic another scene etc??

Thanks again.
The functionality you are looking for exists but not on the Audio tab.
Have a look at the "Macro" tab.
This should allow you to configure what you are looking for (and much more).
For a quick introduction on how to create a macro take a look at this guide.
Let me know if you have any questions.
 

Kaisercelt

New Member
The functionality you are looking for exists but not on the Audio tab.
Have a look at the "Macro" tab.
This should allow you to configure what you are looking for (and much more).
For a quick introduction on how to create a macro take a look at this guide.
Let me know if you have any questions.


This is superb.... But a little intimidating now.

I've set up some Audio based Macros and they are working. I changed the order in the General Tab to get Macro to the highest prominence and then I assume the same applies in the Macro order itself??
See Below. I have Audio Macro 1 which I hope will fire first and so on down my list of scenes I want to fire. It is a bit jumpy and the scenes are a bit hectic in the switches but that's likely trial and error. Has anyone set up a multi audio switch using Macros before??

Very grateful for this. Thank you.
Audio SW1.JPG


Audio SW3.JPG
 

Warmuptill

Active Member
I've set up some Audio based Macros and they are working. I changed the order in the General Tab to get Macro to the highest prominence and then I assume the same applies in the Macro order itself??
Correct - the macros are executed from top to bottom.

It is a bit jumpy and the scenes are a bit hectic in the switches but that's likely trial and error
Just guessing, but I assume the reason for this might be that multiple macros are true at the same time.
It might be worth adding an additional check to the end of the condition list to see if the scene was changed already.
Otherwise the first might switch to scene 1, and afterwards the second macro might immediately switch to scene 2, and so on ... leading to these "hectic" scene switches.
Example:
audioexample2-png.81416


Alternatively you can also add "time restrictions" to your conditions so they do not immediately trigger.
Have a look at this guide for more details:
 

Kaisercelt

New Member
Correct - the macros are executed from top to bottom.


Just guessing, but I assume the reason for this might be that multiple macros are true at the same time.
It might be worth adding an additional check to the end of the condition list to see if the scene was changed already.
Otherwise the first might switch to scene 1, and afterwards the second macro might immediately switch to scene 2, and so on ... leading to these "hectic" scene switches.
Example:
audioexample2-png.81416


Alternatively you can also add "time restrictions" to your conditions so they do not immediately trigger.
Have a look at this guide for more details:

Yes indeed. There may have been overlapping 'True' Macros. As I said, this will be trial and error.
I'll try your fix above now. Also for "Automated scene change was triggered in this interval" what is the 'Interval'??

Is it the Three seconds timer for Mic/aux X to hit X% and trigger??

Sorry, trying to get a better understanding as this Plugin will allow me to almost fully automate my OBS stream. It's fantastic.
 

Warmuptill

Active Member
Also for "Automated scene change was triggered in this interval" what is the 'Interval'??
The plugin will check all conditions and perform actions (if applicable) at a set interval. (Every 300 ms per default - This interval can be configured on the General tab)
Using the "Automated scene change was triggered in this interval" condition type will allow you to limit the amount of scene switches to one per interval.
It is not related to any time restrictions for any macro conditions you might have in place.
 
Top