Fancy OBS Studio Effects

Once I managed to get OBS Studio running on Linux as a Zoom camera input the obvious next step was to play around with fancy effects.

Please Stand By

When joining a call, it’s nice to be able to verify your video is working (and that Zoom is actually using OBS Studio as its video source) without actually being on camera.

OBS Studio uses a concept it calls Scenes that are like separate cameras or video feeds displaying different things that you can switch between. You can configure different Scenes for different parts of your video story, like a beginning, middle, and end.

I set up a Please Wait scene with a single Image source of a test pattern image file I created with Inkscape.

PM6544 test pattern

A custom test pattern for PivotNine TV.

This is based on the PM5644 test pattern that was(is?) used in Australia, since that’s where I live.

You can grab a copy of my SVG file here if you’d like to create your own.

Webcam Scene

Next I set up a scene that just contains my webcam source. I applied a Transform to the webcam source that flips the image horizontally for a mirror effect. This helps me when I’m looking at the scenes in Studio Mode so when I turn my head it turns the same way it would in a mirror. I find having my head turn the opposite way a bit tricky when I’m trying to coordinate which way I look in composite scenes that we’ll get to in a minute.

Zoom can do this itself, of course, but if you apply the mirror effect in Zoom it’ll flip everything in the video feed from OBS Studio, including text from images like the test pattern. That is often not what I want, as Zoom is really just a streaming destination. If you record your sessions from OBS Studio, or stream out to other places as well as Zoom, you probably want to retain control of what things look like in a single place.

Chroma Key

Chroma key is the technical term for “replacing a green screen with something else” so you can look like you’re joining a call from inside the TARDIS or on a beach somewhere.

Zoom can do this without a green screen (I believe Microsoft Teams now supports it as well) with its “virtual backgrounds” feature, but it can struggle with detecting the edge of your face. This is especially tricky if you have pasty white skin like me and use a white sheet as a background, and while it’s initially hilarious to have the computer make half your face transparent, it gets old pretty fast when you’re trying to have a semi-serious meeting.

Right click on your webcam source, and bring up the filters. Add an Effect filter of type Chroma Key and call it whatever you want.

Setting a Chroma Key Filter on a webcam source in OBS Studio

I selected a Key Color Type of Green because I have a green background, but you can use other colours.

Green is preferred because it’s the furthest colour from human skin, apparently, so it’s the easiest for the computer to detect the edges of your face. Other colours might mean you get fuzzy edges to your face or your shirt might become transparent. This is one reason people find it hilarious when famous people wear clothes that are big blocks of green. It’s really easy to select just that colour in photo and video editing software and make the Queen (of England) look like she’s wearing a Queen (the band) t-shirt.

Adjust the sliders if the filter isn’t quite detecting the edges of your face/clothes/etc. very well. I found the defaults to be pretty close.

Once you’ve set up the source, you can use it in multiple other scenes using a linked copy by Copy-ing the source and then using Paste (Reference) in another scene. Any changes you make to the source will then be replicated everywhere else you’ve used the source.

Layering Effects

With our base webcam scene set up, we can start layering effects onto it with new scenes.

I prefer to use a neutral background, as it’s less distracting for viewers than trying to figure out what books I have on my Credibility Bookcase.

I created another scene, pasting in the webcam source (by reference as discussed above) and adding a couple of new sources, both images: One is the backdrop, which is a subtle pattern in a neutral colour, large enough to cover the video output resolution (I’m using 1280×720 to match the 720p from my webcam) and the second is a watermark of the PivotNine logo icon.

Compositing of webcam with chromakey, a background image, and a watermark.

Compositing of webcam with chromakey, a background image, and a watermark.

As you can see, the watermark is a transparent PNG so the webcam image of me shows through the transparent parts of the watermark. Both the watermark and the webcam picture are in front of the background.

You can do simple compositing by layering different source components like this to build up quite complex scenes.

Picture-in-Picture using another scene as a source

Here is an example of a more complex set of compositing, including grouped sources.

Multi-source compositing to create a picture-in-picture display.

Multi-source compositing to create a picture-in-picture display.

In this scene I’m using a mirror of another scene (called Mirror of Slides) which lets you turn any scene into a source for new scenes. This helps you layer things together, particularly when you want to use the same source in multiple scenes. I have another scene called Slides that I can use to show presentations by selecting the slide window when in presentation mode, or I can select any other window. In this example I’ve chosen the windows for VSCode showing my twitforget script.

I’ve moved the webcam output into the bottom left, but left the neutral background behind everything. It’s a bit nicer than a blank deep black background. Because of the chroma key, I can overlap the webcam with the slides output and you can still see the corner of the slides.

I created a Color Source for the block of dark colour as a lower-third background for the text. There are two text elements, one for my name and one for the title so they can be different sizes. I’ve also got a slight colour gradient on the Name text by using two different (but similar) colours in the Text source. Then I put the watermark over the colour source as well, and grouped all these elements as Lower Third. Grouping means you can show/hide (the icon of an eye next to the name) all the elements of the lower-third as a group.


Bookmark the permalink.

Comments are closed.