Ricette che si sommano
Riduci sotto una dimensione massima, ritaglia a coordinate in pixel, ricodifica H.264 + AAC in MP4. Le ricette si spuntano insieme e il comando si aggiorna mentre scegli.
GUI per ffmpeg · Qt 6 Widgets · C++17 · MIT
Converti, taglia, estrai audio, crea GIF, prendi un fotogramma o ricomprimi un video sotto una dimensione massima. L'app costruisce il comando, lo esegue e ne legge l'avanzamento — e il comando resta sempre in vista, pronto da copiare. Non reimplementa niente di ffmpeg: usa quello che hai già installato.
ctest: 3 suite, 2 conversioni reali
Riduci sotto una dimensione massima, ritaglia a coordinate in pixel, ricodifica H.264 + AAC in MP4. Le ricette si spuntano insieme e il comando si aggiorna mentre scegli.
Contenitore, codec, CRF, preset, risoluzione, fps, audio; oppure MP3, M4A, WAV, FLAC, OGG e Opus con bitrate, canali, volume o normalizzazione loudnorm. Taglio inizio + durata su tutto.
GIF con palette generata al volo (palettegen + paletteuse,
colori molto migliori del GIF diretto) e fotogrammi singoli o a intervalli,
con il nome numerato già pronto.
«Ricomprimi sotto 2 GB» non è un bitrate fisso: il budget si calcola dalla durata del file, si toglie l'audio e si tiene un margine del 10% per contenitore e picchi del VBV.
bitrate video = (target × 8 × 0,90 − audio × durata) / durata
# e in ffmpeg diventa qualità fissa con tetto:
-c:v libx264 -preset medium -crf 23 -maxrate <kbps>k -bufsize <kbps>k
Così la qualità resta guidata dal contenuto — un filmato semplice esce molto più piccolo del tetto, senza sprecare bitrate solo per arrivare al numero — e il limite interviene dove serve. Sotto i 120 kb/s di video il limite è dichiarato impossibile invece di produrre un file illeggibile; oltre 40 Mb/s il tetto non morde, e l'interfaccia lo dice.
maxrate nei filmati brevi.
Tre pacchetti dello stesso programma. Serve ffmpeg nel sistema: il
.deb lo porta con sé come dipendenza, nel Flatpak è già dentro il
runtime org.kde.Platform (ffmpeg 7.1), per l'RPM arriva dal repository della distribuzione
(la dipendenza è sul file /usr/bin/ffmpeg).
| File | Per | Installazione | Byte |
|---|---|---|---|
| ffmpegui_0.1.0-1_amd64.deb | Debian 12+, Ubuntu 22.04+ | sudo apt install ./ffmpegui_0.1.0-1_amd64.deb |
126.444 |
| ffmpegui-0.1.0-1.x86_64.rpm | Fedora 41+ (x86_64) | sudo dnf install ./ffmpegui-0.1.0-1.x86_64.rpm |
135.540 |
| ffmpegui-0.1.0.flatpak | Flatpak, ogni distribuzione | flatpak install --user ./ffmpegui-0.1.0.flatpak |
159.344 |
Il .deb è compilato contro Qt 6.2 e glibc 2.35 (container Ubuntu 22.04),
quindi si installa da Debian 12 e Ubuntu 22.04 in su. L'RPM è costruito su Fedora 41 con
il Qt della distribuzione. Il Flatpak porta solo l'app (~156 kB): Qt e ffmpeg arrivano da
org.kde.Platform 6.10, che il gestore scarica al primo avvio.
0a401ee75f5f93ca8a2c794dcbafe900ca5209019e5127e294d32a11f88be050 ·
ffmpegui_0.1.0-1_amd64.deb3d3a2e2ccb5fc3d5c3f197fc2402364ea0cae8e4d8b1c802ebf852453b09be43 ·
ffmpegui-0.1.0-1.x86_64.rpmb224d11834b6d757af86f73f998d09df6590fb488ff4b35256a66464368f5b14 ·
ffmpegui-0.1.0.flatpak
Gli stessi tre file sono allegati alla release
v0.1.0 su GitHub.
Dopo l'installazione la voce ffmpegUI compare nel menu delle applicazioni, con
la sua icona; da terminale il comando è ffmpegui.
sudo apt install qt6-base-dev qt6-qpa-plugins ffmpeg cmake g++
Qt 6.2 o superiore; ffmpeg e ffprobe devono essere nel PATH.
git clone https://github.com/4n-0n/ffmpegUI.git cd ffmpegUI cmake -B build -S . -DCMAKE_BUILD_TYPE=Release cmake --build build -j"$(nproc)" ctest --test-dir build --output-on-failure
I test includono due conversioni vere: transcodifica con scala e ricetta con crop,
entrambe ricontrollate con ffprobe.
cmake --install build --prefix "$HOME/.local"
kbuildsycoca6 # su KDE, per far comparire la voce nel menu
La voce di menu usa un Exec= assoluto: il PATH di
plasmashell non contiene ~/.local/bin, e un
Exec=ffmpegui farebbe comparire l'icona ma fallirebbe al clic.
Sorgente, test, screenshot e note di sviluppo stanno su GitHub: github.com/4n-0n/ffmpegUI. Licenza MIT.