Question / Help Equal and opposing Scroll filters not equal?

Poltergust5000

New Member
I'm setting up a background for a layout, and I want to have a glowing blue line scroll down it every few seconds to give it the appearance of a computer monitor. I set up my background Image Source with an Image Mask filter with an image of the line, set to Addition, and then on either side of that Image Mask layer I set up a Scroll filter: one set to 64, and one set to -64. That way the background stays in place because both Scroll filters are applying to it, but because the Image Mask is between the two filters, it's only affected by one, and therefore scrolls.

The problem is that, after about ten minutes, the background has somehow moved itself about a half-inch, even though the two opposing Scroll filters are set to 64 and -64. I can't for the live of me fathom a reason why this would be the case.

I tried simply recording a video of the glowing blue line moving across a black background, converting it to a GIF, and then using that for the Image Mask, but I record in 60FPS and GIFs only go up to 30FPS, so it doesn't look as smooth.
 
GIFs do not cap out at 30fps, you can specify down to 1ms delay between frames on playback (so 1000fps), depending on the creation tool being used.

As far as the scroll filter, IIRC it doesn't work based purely on pixel count, but may work as a relative value to the overall size of the source. The de-sync you are noticing MIGHT be caused by a rounding error between the two filters, would be my first guess.

One option would be to create the glowing blue line as a fullscreen PNG with transparency, add it as an Image Source, apply the scroll filter to that, and then add that completed source as a mask to your background image. If the scroll filter is not retained, add the source to an empty 'holder' scene and then add that scene as a mask to your background... I have a number of these types of holders, and just keep them all at the bottom of my Scenes list, below one just named "---------------" acting as a divider between production scenes and utility holders/workaround enablers.
 
...Y'know, you're right. I guess I thought they capped at 30 FPS because for some reason it's impossible to find a video-to-GIF converter online that goes past 30? I remember reading somewhere that you needed to use .WEBP to go higher, but maybe that was in a specific case, like embedding on websites or something.

I thought it might be a rounding error... I tried setting the scroll to 54/-54, since 54 is a factor of 1080 (my canvas height) and it didn't help, but maybe it needs to be a factor of the source's resolution? Maybe it needs to be a factor of both? So that there wouldn't need to be any rounding, y'know... Eh, idk. Those numbers are nebulous as all getout. 64? 64 what?

How do I use a source/scene as a Mask? I've technically already solved my problem (I took a video of a single pass of the glowing line going across the background, edited it to loop perfectly in Adobe Premiere, and set it to loop in the background in place of the background Image Source altogether), but that sounds like a wicked useful trick to familiarize myself with for the future. Also, I would still like to figure out exactly how to balance two Scroll filters in case I ever want to mask something that wouldn't be nearly as feasible to make a looping .mp4 out of.
 
I believe you can just use a Dynamic Mask filter pointed at a specific source and tweaked from there; that may be a part of Xaymar's StreamFX plugin pack, I can never remember which filters are default, and which are StrFX.
There are some REALLY advanced setups that are kind of a PITA to get working like proxy shaders; I've been meaning to make videos on each of them for a while to supplement the Master Class stuff, but haven't really had time.
 
Definitely would have to be plugin based. Arbitrary mask sources are not possible with vanilla OBS functions, only static images.
 
Back
Top