Velocizza i tuoi video velocizzando (o rimuovendo) i silenzi, tramite FFmpeg.
Leggi in altre lingue: Inglese, Italiano.
Questo programma, sviluppato per Electron, fa uso di FFmpeg per velocizzare (o saltare) i silenzi presenti nei video.
È molto utile per le video lezioni, in cui un professore impiega molto tempo per scrivere qualcosa alla lavagna, fa molte pause o parla lentamente. Con questo programma puoi saltare queste parti noiose e risparmiare tempo.
Ovviamente questo programma non è perfetto e potresti dover esercitarti un po' con esso.
Importa i tuoi video, scegli la configurazione e premi Start
. L'app ti mostrerà lo stato di avanzamento, che consiste in 3 step: Detecting silences
, Exporting
e Concatenating
.
Non tutti i video hanno lo stesso livello di volume, e potresti voler scegliere quali silenzi devono essere trattati come tali. Quindi, ecco le parti configurabili.
Queste impostazioni cambiano il modo in cui FFmpeg rileva i silenzi. Puoi impostare:
-
Il rumore di fondo del video (
Low
per una stanza silenziosa con microfono,Mid
per una stanza mediamente rumorosa,High
per una stanza rumorosa).Nota: se sei nuovo, prova un video con le impostazioni predefinite e guarda il risultato.
-
Quanti secondi dura il più piccolo silenzio (questo valore evita che brevi pause siano considerate silenzi).
-
Quanti secondi di silenzio non devono essere trattati come silenzi.
Spiegazione: senza un tempo minimo di margine, le parole pronunciate potrebbero fondersi e il risultato sarebbe un discorso incomprensibile.
Con queste impostazioni è possibile modificare la velocità delle parti parlate/silenziose del video, e anche impostare le parti silenziose in modo che siano solo video.
Scegli il formato (l'estensione) del tuo video (per impostazione predefinita il video mantiene la stessa estensione). Altre impostazioni sono per gli fps
(frame per secondo), cfr
e preset
(questi sono specifici per il codec video h264
). Per l'audio invece utilizza il codec aac
.
Nota: il percorso predefinito dei video (così come dei file temporanei) è impostato su <la tua home>/speededup/
. Se vuoi cambiarlo, premi il pulsante delle impostazioni o vai su File -> Impostazioni
.
Questo programma non ha bisogno di essere installato per funzionare, poiché è impacchettato con electron-packager
. Ma, se vuoi compilare ed eseguire questo programma per conto tuo dal codice sorgente, allora:
$ git clone https://github.com/padvincenzo/silence-speedup
$ cd silence-speedup
$ npm install
$ npm start
Se vuoi anche includere l'eseguibile di FFmpeg, qui è descritto come fare.
Nota: per eseguire questo programma dal codice sorgente hai bisogno di installare NodeJS.
Per ogni video, questo programma:
- Esegue ffmpeg con il filtro
silencedetect
, per ottenere l'elenco dei timestamp di inizio/fine dei silenzi.
<ffmpeg bin> -hide_banner -vn \
-ss 0.00 -i <Input file> \
-af silencedetect=n=<threshold>:d=<duration> \
-f null -
- Usando quell'elenco, divide il video originale dentro una cartella tmp, applicando un filtro di velocità, se presente.
<ffmpeg bin> -hide_banner -loglevel warning -stats \
-ss <Start time> -to <End time> -i <Input file> \
-filter_complex "[0:v]<setpts filter>[v];[0:a]<atempo filter>[a]" \
-map [v] -map [a] <Output fragment>
- Concatena tutti i frammenti generati precedentemente.
<ffmpeg bin> -hide_banner -loglevel warning -stats \
-f concat -safe 0 \
-i <Fragment list file> \
-c copy \
-map v -map a <Output file> -y
Al termine dell'esecuzione, il programma non pulisce automaticamente la cartella tmp.
Chiunque può contribuire a questo progetto, in diversi modi:
- Condividendo il progetto;
- Traducendo il progetto in altre lingue;
- Scovando e segnalando/risolvendo bug;
- Suggerendo nuove idee;
- Implementando nuove funzionalità.
Per qualunque dubbio o perplessità possiamo discuterne qui.
Questo software usa eseguibili del progetto FFmpeg, che io non possiedo, sotto la licenza GPLv3.