Change Background Image in Syphon Virtual Webcam
-
Hello,
We are doing a live theatrical presentation to families using Zoom. To playback music and show slides, we are using Figure 53's QLab, which uses Syphon Virtual Webcam as a surface to display the slides. Our Stage Manager is sharing and unsharing the Mac running QLab when we are playing or displaying anything. We pre-load a slide before we hit the share button, that way the image pops right up on the screen. Occasionally, and somewhat randomly, we will see a brief flash of the OBS background image before our slide shows up. I suspect this is a limitation of Zoom. Is there a way to change to background image? In this case, I'd just put a black image in there. I see you can do this on in Windows, but my search for a Mac solution have come up empty.
Any help would be greatly appreciated.
-
So it sounds like there is some latency in the system somewhere along the line that is causing the background to show up for a moment.
If I understand correctly, my thought is that this background could be blocked from being shown, by always gating the video signal for a second (or how ever long it appears) before allowing the image to pass thru.
I have made a little mock up using my webcam feed and the Video in Watcher (in place of syphon).
Here the Video in Watcher is gated by default... and a trigger delay actor opens it after 3/4 second.
On the top of the gate is a method of testing if the video signal is active... if it not (takes 1 second to reach a positive test) the gate is reset to closed so the next time it is turned on the gate works again.
This can be taken further... you could replace the gate wit a video mixer and an envelope and have the video fade in each time.... or what ever you like :)Hopefully this is helpful. There may well be many other approaches. This one was fun for me to build since I don't often use the Decay generator.
NOTE: its important here that the trigger delay that opens the gate has a time less than the reaction time of the Decay Generator.
The Decay Generator will reach 0 after 1 second with the current values. Switching 'dec amount' to 50 will make the decay time 2 seconds. -
@paulpsound When you say you 'share' the mac do you mean that you're using the screen share function in Zoom or are you 'Spotlighting' the participant with the Virtual Webcam as their camera? If you're using the screen share function then I'm not sure what the virtual webcam is being used for. If you're spotlighting a virtual webcam then I'd suggest having a background permanently running on a lower layer that is always there and bring your slides in on top so there is always a something being sent to the virtual webcam, you could do this in QLab.
I had a quick go at trying to re-create the problem and I could regularly make it happen when switching between my real webcam and the virtual webcam in zoom using the 'select a camera' option. Is this what you're doing in the show?
Often I would get a flash of the OBS background before QLab's slide loaded, but there is other unwanted behaviour as well following this pattern:
> Select camera in zoom
> Play slide in QLab - displays correctly on the VWC monitor window
> Select VWC in zoom = flash of OBS background followed by the slide
> Select camera in zoom
> Wait a few seconds
> Select next slide in Qlab - displays correctly on the VWC monitor
> Select VWC in zoom = flash of previous slide followed by new slide (sometimes with a bonus OBS background flash as well)
Basically, I was often getting a 'flash' of the previous frame that zoom brought in, wether that was a slide or the OBS background.
I got exactly the same results using Isadora so I suspect that the problem is with Zoom as you suggest. The Syphon Virtual Webcam monitor shows the stage/surface correctly as does Syphon Simple Client app. I don't know if zoom somehow caches the previous frames and displays those while it's sorting itself out when you change inputs?
Wherever the problem the is, the obvious work-around seems to be - don't change between camera and VWC in Zoom. Why not set your camera up as 'Camera' cue in Qlab that is routed to the same surface as your slides, all you would then need to do is run through your Cue stack with slides and cameras popping up as needed, you wouldn't need to change anything in Zoom and the 'surface' being sent via syphon would be consistent. Or, even better, do the same thing in Isadora ;-)
(as a slight aside, I love QLab, it's a great tool for certain things, simple and effective. It's been the go-to thing for sound for years and I like how it's simple enough for a church hall, powerful enough for the west end. However, I also think that it is terrible at handling video and I avoid using it for video whenever possible. Even the most simple playback can be stuttery or with frames being dropped, and anything more complex is a real strain. QLab remains an important part of the workflow in the majority of shows I work on, but I run the video in Isadora and communicate via OSC as needed).