cybernet
FFMPEGUI
v0.1.0  ·  Qt 6 / C++17  ·  MIT  ·  Linux

GUI per ffmpeg · Qt 6 Widgets · C++17 · MIT

ffmpeg, senza
le opzioni a memoria.

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.

La finestra di ffmpegUI con la scheda Preconfigurate: limiti di dimensione a 2048 MB, crop a coordinate, base H.264 e AAC, e il comando ffmpeg generato nella parte bassa.
Scheda Preconfigurate: due ricette spuntate (tetto di 2 GB e crop) e il comando che ne risulta, sempre visibile nella scheda «Comando».

Cosa c'è dentro

01 / PRECONFIGURATE

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.

02 / VIDEO E AUDIO

Controllo completo

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.

03 / GIF E FOTOGRAMMI

Quello che ffmpeg fa male a mano

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.

Il tetto di dimensione

«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.

Verificato, non stimato. Su una clip di rumore 1280×720 da 20 secondi con limite 20 MB il file esce 18,00 MB: il margine copre il superamento dell'1,4% che x264 può avere sul maxrate nei filmati brevi.

Altre schermate

Scheda Video di ffmpegUI: preset MP4, MKV, WebM e copia, più contenitore, codec, CRF, preset, risoluzione, fps, audio e taglio.
Scheda Video: codec, qualità, risoluzione, fps, audio e taglio.

Download

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).

FilePerInstallazioneByte
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.

sha256
0a401ee75f5f93ca8a2c794dcbafe900ca5209019e5127e294d32a11f88be050 · ffmpegui_0.1.0-1_amd64.deb
3d3a2e2ccb5fc3d5c3f197fc2402364ea0cae8e4d8b1c802ebf852453b09be43 · ffmpegui-0.1.0-1.x86_64.rpm
b224d11834b6d757af86f73f998d09df6590fb488ff4b35256a66464368f5b14 · 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.

Compilare

  1. Dipendenze

    sudo apt install qt6-base-dev qt6-qpa-plugins ffmpeg cmake g++

    Qt 6.2 o superiore; ffmpeg e ffprobe devono essere nel PATH.

  2. Build e test

    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.

  3. Installa (voce di menu compresa)

    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.

Repository e licenza

Sorgente, test, screenshot e note di sviluppo stanno su GitHub: github.com/4n-0n/ffmpegUI. Licenza MIT.

Progetto generato da un'AI, e gestito tramite AI. Il codice, i test e la documentazione sono scritti da un agente AI (Hermes Agent di Nous Research) su richiesta dell'autore del repository. Le modifiche si chiedono all'agente, che legge il codice, lo modifica, ricompila e riesegue i test: non è un progetto pensato per la manutenzione a mano. Issue e pull request sono benvenute, ma passano dallo stesso flusso automatizzato.