Native C++ Frei0r plugin that brings professional, highly customizable camera shake effects to Kdenlive and other MLT-based video editors.
Unlike preset-based workarounds, this plugin renders mathematically calculated chaotic movements, rotations, and blur in real-time.
- Independent Axis Control: Adjust X and Y amplitude independently (up to 500px).
- Organic Movement: Uses combined trigonometric sine/cosine waves for a natural, chaotic handheld feel.
- Rotation & Zoom: Native matrix mapping to rotate the camera and zoom in (up to 500%) to hide borders.
- Fast Cross-Blur: blur algorithm that simulates motion blur without freezing your CPU.
- Custom Backgrounds: Built-in color picker to fill out-of-bounds areas when zooming out or shaking violently.
- Opacity Control: Easily blend the shake effect with underlying tracks.
To compile this plugin from source, you need the Frei0r development headers and standard build tools. On Debian/Ubuntu-based distributions, run:
sudo apt update
sudo apt install build-essential cmake frei0r-plugins-dev- Clone the repository and prepare the build directory:
git clone https://github.com/PakeMPC/kdenlive-camerashake.git
cd kdenlive-camerashake
mkdir build && cd build- Compile the plugin:
cmake ..
make- Install the engine (.so) and the UI (.xml):
Install the compiled C++ engine to the system's Frei0r directory
sudo cp camerashake.so /usr/lib/frei0r-1/Install the Kdenlive UI slider properties to your local user directory
mkdir -p ~/.local/share/kdenlive/effects/
cp ../camerashake.xml ~/.local/share/kdenlive/effects/Restart Kdenlive.
Go to the Effects tab.
Search for "Camera Shake Ultimate".
Drag and drop it onto any video clip and adjust the sliders to your liking!
Pull requests are welcome. This project is a stepping stone towards bringing better native effects to the MLT/Frei0r ecosystem.
This project is licensed under the GNU GPL v3.0 - see the LICENSE file for details.