Spark Gap Video GUI for ffmpeg
A Free Open-Source Video Editing Interface
for ffmpeg
The Zippy Clipper
for Linux Mint, Fedora, Ubuntu, Manjaro et. al.
and Windows 11 with WSL2
FFmpeg is a free and open-source software project consisting of a suite of libraries
and programs for handling video, audio, and other multimedia files and streams. At
its core is the command-line ffmpeg tool itself, designed for processing video and audio
files. It is widely used for format transcoding, basic editing (trimming and concatenation),
video scaling, video post-production effects, and standards compliance. (Wikipedia).
Unfortunately, it is, as noted, accessed as a command-line application with a sysntax that
places it out of reach of most people.
The purpose of this code is to introduce a graphical user interface front-end
for several popular ffmpeg capabilities. The ffmpeg GUI is written in C and uses
GTK 3, Glade, VLC libraries as well as ffmpeg and related code.
The user selects files, settings and other options from the GUI and the code
translates these into an ffmpeg command which is executed.
For example, to join two video clips with a wipedown overlap, the GUI user selects two videos
from a list by checking boxes and then clicking the wipedown button. This translates to something
like this:
Which is executed and the resulting video (tmp.mp4 in the above) is renamed to a filename based
on the input.
Many common video operations have been encoded and more will be added. Suggestions welcome. The code is
under development and seriously messy. Try not to look too carefully for style. There isn't any...
Notices
The update from Mint 21 to Mint 22, which is based on Ubuntu 24.4, has
resulted in several instances of library problems. These include changes in
PulseAudio callback buffering and errors in processing Matroska (mkv) videos.
The PulseAudio issues are due to pipewire now answering PulsuAudio API requests (pipewire-pulse).
Some API requests return different results than PulseAudio did formerlly.
The current code attempts to correct these problems. Please contact me if you have issues.
The interface has been simplified and some content is hidden until requested. See the buttons
in the box on the lower right of the main screen These cause other frames to appear/disappear.
A new panel showing a frame from each video in a tiled arrangemnt is now available. Click
the Video Tiles button on the main screen, center bottom. This will display the tiles page.
You may drag/drop tiles as needed.
Please click the Re-Scan Dir button to update the tiles, entry boxe and times when ever you add or seriously modify
the contents of the video directory.
This project is unaffiliated with ffmpeg. All errors, mistakes, and stupid code are mine alone.
The HowTo videos are stored on a server in order to minimize the size of the distro and to permit
updates as needed that can be seen by all. Clicking the HowTo button loads a list of
URLs from the HowTo directory. You may play these in the Zippy Clipper directly if you have internet access.
Click the Re-Scan Dir to restore access to local videos.
The main development platform is Linux Mint with Mate. The present version of Mint is 22. The Mint X theme with WinMe borders.
Other platforms are checked and updated when time allows. Due to systems update, etc., they may not all work
at the same time.
License and Acknowledgements:
This code is licensed under the GPL 2+ & MIT licenses. The code uses ffmpeg runtime routines as well as VLC library APIs which themselves have various open source licences.
Please see README.txt in the distro for information concerning the Windows 11 WSL2 version. See video links below for Hot-To tips.
The Linux version was developed on Linux Mint with Mate (21). It assumes library names and locations
consistent with a Debian/Ubuntu based system. The installation script uses apt.