&effects

Applies effects to the video/audio feeds

Sender-Side Option! (&push)

Aliases

  • &effect

URL Shortcut Aliases

Each effect also has a dedicated URL parameter alias that can be used instead of &effects=N:

Alias
Effect
Equivalent

&backgroundblur / &bgblur

Background blur

&effects=3

Digital greenscreen

&effects=4

Virtual background

&effects=5

Transparent background

&effects=16

Face mesh

&effects=6

&digitalzoom

Digital zoom

&effects=7

Chroma key (remove green)

&effects=14

Chroma key + background

&effects=15

&facetracker / &facetracking

Face tracker

&effects=1

Overlay image

&effects=overlay

&anonymousmask / &anonmask

Anonymous mask

&effects=anon

&dogface / &dogears

Dog ears and nose

&effects=dog

Aliases that accept a value (e.g. &backgroundblur=5, &chromakey=30, &digitalzoom=2.5) will set the effect value directly without needing a separate &effectvalue parameter.

Options

Example: &effects=7 or &effects=zoom

Value
Description

(no value given)

Shows a "Digital Video Effects" panel when setting up devices

0 | false | off

Disables effects

1 | facetracking

Face tracker

-1

Flip image

2

Mirror image

-2

Flip + mirror image

3

Background blur

4

Virtual Greenscreen

5

Background replacement

6

Face mesh

7 | digitalzoom

Zoom (software-based zoom)

9

Face tracking

10

Face tracking

11 | anon

Anonymous face mask

13

New experimental background blur effect; it's not supported by most browsers/systems and its in origin trial

14

Chroma key (remove green)

15

Chroma key with background image

16

Background transparent

overlay

Overlay image

dog

Dog ears and nose

Details

Adding &effects to a guest link enables the drop-down menu for Digital Video Effects. The guest can then choose the digital video effect via the drop-down menu.

This is on by default when using a basic push link outside of a room.

You can pre-select the digital video effect by adding &effects=X (see Options above) to a guest/push link.

The guest can change the digital video effect dynamically via the video settings panel if you have added &effects to the guest's URL.

You can also pre-select the effect value by adding &effectvalue to the URL. ie: the amount of blur.

Effect value memory

When a user manually adjusts an effect's value via the slider (blur amount, zoom level, chroma threshold, etc.), that value is automatically saved to localStorage and tied to the current room and streamID. The password is hashed before being used as part of the storage key, so it is never stored in plaintext. On the next visit to the same room or stream, the saved value is restored automatically. This means different rooms can have different preferred effect settings. Explicitly setting &effectvalue in the URL will override any saved value.

Greenscreen performance

&effects=4 enables a virtual Greenscreen on the publisher side.

Green screen doesn't require SIMD support to work, although it won't work as well without it on. There's a little warning info icon (!) if SIMD is not enabled.

Please do enable Webassembly-SIMD support under chrome://flags/ if you'd like to see a large reduction in CPU load when using this feature.

Important Note for &effects=1

circle-exclamation

&effects=8

Added &effects=8, which might be useful if using a Camlink or simple HDMI capture device and &record mode. The current &record mode doesn't seem to always scale down the video before recording (browser issue it seems), so local file recordings might be 4K in size, despite the target resolution being set much lower. &effects=8 will use a canvas to first resize the video though, and then recordings will be based on that, making smaller recording sizes possible. (You could also use &effects=7, which then provides digital zooming controls and is otherwise the same thing).

This &effects=8 mode might also be helpful in solving issues with cameras disconnecting or having their frame rate change while recording, causing issues with the recording. The canvas acts as a reliable middle man between the camera and output video stream, so if the camera's input stream fails, the recording stream will not be impacted, other than perhaps skipping some frames. The canvas is sensitive to CPU load or browser throttling though, so frame rates may fluctuate more often when using it, so I can't suggest using it unless the guest/user is known to have a problematic camera.

&effects=7 (Zoom)

&effectvalue=1.2 will now work with &digitalzoom (&effects=7), so you can trigger the camera to digitally zoom in on load. This works regardless of whether the camera supports zooming or not, as it is software based. Software zoom offers lower quality than hardware-based or driver-based zoom, but the zoom effect itself is often quite smooth in comparison to hardware based zoom.

&effectvaluechevron-right&backgroundblurchevron-right&greenscreenchevron-right&virtualbackgroundchevron-right&transparentbgchevron-right&chromakeychevron-right&chromakeybgchevron-right&facemeshchevron-right&facetrackerchevron-right&overlayfxchevron-right&anonymousmaskchevron-right&dogfacechevron-right&chunkedchevron-right

Last updated

Was this helpful?