Video filters are software plug-ins that enhance the fundamental capabilities of Shotcut by producing various effects, either by modifying the pixels of the frame to which they are applied (such as the "rotate" filter), or by overlaying the scene in the frame by some other image (such as the "text" filter).
I have developed several video filters. I have also provided several user interfaces to other filters that did not have them previously. The table below gives a brief description of these and by clicking on the relevant link you will be taken to a webpage that describes and documents the filter and that contains a ZIP file which holds the filter. You can download this ZIP file and install the filter for use in Shotcut.
|Jitter||Produces a jittery clip by replacing a number of frames with a previous one.|
|Persistence||Produces a pseudo-motion blur by blending the previous frame's render with the current frame.|
|JRtransition||Produces a nice transition between video clips.|
|mask_simple_shape||Draws some simple shapes into the alpha channel and is intended for "in" and "out" masks in keying, non-rectangular picture-in-picture, transitions, spotlight effects etc.|
|Sniperscope||Simulates a sniper (telescopic) scope.|
|vertigo||Simulates vertigo or dizziness on behalf of the viewer.|
There are usually 3 software components to a filter:
ui.qml. The name can be different as it is specified in the metadata file
Although I used to program in C and C++ for a living, I am more confident
these days using
The first two languages are fairly easy to
learn and developing programs in them is very easy since they are the basis for most webpages. So you simply
write some HTML, style it with some CSS and feed it into a modern web browser, like Google Chrome. If you need to
make modifications to the code, do so then check it out again in the browser. Now you have a static webpage (you
cannot directly use CSS animations with Shotcut) that you can feed into the Overlay HTML (now renamed Text: HTML)
Let's look at such a filter which puts a date onto a transparent background to overlay the frame. The code is shown below.
The filter will have two options that the user may provide: