Captura: modifica della velocità video da batch (con FFmpeg)

| |

In realtà Captura c’entra molto relativamente, eppure avevo bisogno di correlarti questo specifico articolo (e codice sorgente di un batch di cui ti parlerò nei prossimi paragrafi) con lo strumento di cui ti ho parlato in un precedente articolo che ti consiglio di leggere se non lo hai ancora fatto (Cattura video gratuita su Windows e macOS: Captura e Kap). Captura utilizza FFmpeg per creare il file video che scegli di salvare sul tuo PC, è comodo perché lo rende leggero e più facilmente trasportabile o caricabile su Internet (YouTube in primis), eppure volendo ha una riga di comando ben più ricca che puoi sfruttare facilmente via Prompt dei comandi, oggi ti spiego come ritoccare la velocità di un video che hai precedentemente salvato.

Captura: modifica della velocità video da batch (con FFmpeg) 1
Lirofilm / Pixabay

Cambia la velocità del video

Ci possono essere svariati motivi per i quali sei costretto a modificare la velocità di un video, poco mi importa perché evidentemente avrai le tue necessità e io ho la risposta che non richiede di installare alcunché sulla macchina, comoda quindi nel caso in cui il tuo PC sia bloccato da un amministratore. Se hai usato Captura in passato avrai quasi sicuramente scaricato FFmpeg per codificare i video che hai salvato. Questo – forse non lo sai – non ha fatto altro che scaricare il file ffmpeg.exe e memorizzarlo nella cartella %LocalAppData%\Captura per poter essere facilmente richiamato dallo strumento di cattura open-source.

Io non faccio altro che riutilizzare quell’eseguibile con una stringa di comando in grado di prendere un video già esistente e produrre il suo gemello velocizzato. Nello specifico ti sto parlando di questa stringa (assunto che ci si trovi nella cartella che contiene ffmpeg.exe, quindi %LocalAppData%\Captura):

ffmpeg.exe -i C:\Users\giovanni.solone\Downloads\VideoOriginale.mp4 -vf "setpts=(PTS-STARTPTS)/4" -crf 18 C:\Users\giovanni.solone\Downloads\VideoOriginale_4x.mp4

Sto chiedendo a FFmpeg di produrre un video che vada 4 volte più veloce e scriverlo nel nuovo file VideoOriginale_4x.mp4, per scoprire nel dettaglio i parametri utilizzati ti rimando direttamente alla documentazione del programma. A te può fare comodo sapere che il 4x è determinato da "setpts=(PTS-STARTPTS)/4" dove quel /4 corrisponde proprio al moltiplicatore utilizzato, variando il 4 varierai anche la velocità d’uscita del video (dal 2 in poi è tutto più velocizzato per ovvi motivi). Dato che la stringa però non la si ricorda così facilmente e che potresti avere dei problemi nel dichiarare cartella e relativo file d’ingresso / uscita ho pensato di scrivere qualche riga di batch che possa aiutarti a cercare il file da lavorare, dichiarare il moltiplicatore e ottenere il risultato comodamente conservato nella stessa cartella del file video originale che vuoi accelerare.

ChangeVideoSpeed

Rilasciato pubblicamente su GitHub all’indirizzo github.com/gioxx/SomePublicStuff/tree/master/ChangeVideoSpeed, il software è composto da un file batch e un VBScript che permette di esplorare facilmente cartelle e file del tuo PC utilizzando la finestra dell’Esplora Risorse alla quale siamo tutti abituati. Scarica il file ZIP completo da go.gioxx.org/changevideospeed, scompattalo nella cartella che preferisci sul tuo PC e avvia ChangeVideoSpeed.bat.

A questo punto ti verrà chiesto di cercare il file video da lavorare nel tuo PC e il moltiplicatore da utilizzare, ho pensato di permettere un intervallo dal 2 al 9 dove il 2 servirà chiaramente a raddoppiare la velocità originale del video, il 9 simulerà ciò che Flash (il supereroe DC) è abituato a fare quotidianamente: correre molto veloce.

Captura: modifica della velocità video da batch (con FFmpeg) 1

A questo punto non dovrai fare altro che aspettare che FFmpeg realizzi il video modificato depositandolo direttamente nella cartella del file originale. Al termine del processo ti verrà chiesto di premere un pulsante qualsiasi per uscire dal programma.

Captura: modifica della velocità video da batch (con FFmpeg) 2

Il tutto è stato testato su Windows 10 a 64 bit ma dovrebbe poter funzionare agilmente anche su un più vecchio Windows 7 (a prescindere che si tratti di 32 o 64 bit). Chiaramente il batch richiederà l’esistenza di FFmpeg nella cartella di Captura in %LocalAppData% come detto inizialmente nell’articolo. Se così non fosse non sarà capace di portare a termine il compito e andrà in errore, si tratta di uno strumento appositamente nato per completare ciò che permette di fare già Captura. Se non vuoi avere Captura sul tuo PC poco male, scarica FFmpeg da qui e fai in modo che ffmpeg.exe si trovi nella cartella %LocalAppData%\Captura (se non esiste la cartella Captura creala).

L’area commenti è a tua totale disposizione nel caso in cui tu abbia problemi o dubbi in merito a questo articolo.


Ringraziamenti vari:
stackoverflow.com/questions/28239363/only-accept-numeric-characters-in-batch-file-input/28239618#28239618
video.stackexchange.com/questions/18469/is-it-possible-to-speed-up-a-video-using-handbrake
daniweb.com/programming/code/516427/vbscript-browse-for-folder-or-file

Correzioni, suggerimenti? Lascia un commento nell'apposita area qui di seguito o contattami privatamente.
Ti è piaciuto l'articolo? Offrimi un caffè! ☕ :-)

L'articolo potrebbe non essere aggiornato

Questo post è stato scritto più di 5 mesi fa, potrebbe non essere aggiornato. Per qualsiasi dubbio ti invito a lasciare un commento per chiedere ulteriori informazioni! :-)

Condividi l'articolo con i tuoi contatti:
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Commenti
Inline Feedbacks
View all comments