Immagini FFMPEG per video tutorial

Ffmpeg Images Video Tutorial



Quindi sei interessato a costruire un video basato su immagini? I software Linux possono aiutarti anche in questo compito, in particolare uno: ffmpeg.

Se non lo conosci già, ffmpeg è un software che esegue la conversione e l'editing di video e audio utilizzando i filtri. È quello che supporta il maggior numero di codec diversi. Se hai già utilizzato VLC, allora conosci un po' ffmpeg: VLC usa ffmpeg per decodificare il maggior numero possibile di video.







Ma prima di fare video, ho bisogno di dirti alcuni concetti in modo da non perderti per strada.



Non è davvero difficile integrare le immagini in un video. E c'è un motivo: i video si basano su una serie di immagini. Lasciatemi spiegare.



Un video (anche un video di YouTube) è una suite di immagini fisse che cambia rapidamente. Al cinema e nelle sale cinematografiche, tra ogni immagine c'è un'immagine nera perché il meccanismo deve cambiare fotogramma ed era troppo lento. Ma non è percepibile dall'occhio umano perché il meccanismo è abbastanza veloce e per via di un'illusione ottica.





Ma i computer non hanno questo problema. Gli schermi LCD continuano a visualizzare l'ultima immagine. Ad ogni modo, puoi infatti estrarre un'immagine indipendente da ogni immagine di un video. Quando un'immagine proviene da un video, si chiama a portafoto . È esattamente quello che vedi quando metti in pausa un video: e quando lo fai le facce generalmente non hanno un bell'aspetto!

In genere, i video dagli Stati Uniti contengono 30 fotogrammi al secondo - rendersi conto un po'. Sono 1.800 fotogrammi al minuto, 54.000 fotogrammi per mezz'ora di video, oppure 108.000 fotogrammi all'ora . È molto ed è così che a volte ti chiedi come una singola immagine possa pesare 1 MiB ma un minuto di video 1080p possa pesare solo 15 MiB.



Il numero di immagini al secondo è chiamato frequenza dei fotogrammi . A 30 fotogrammi al secondo, cambi immagine ogni 33 millisecondi . Quindi, concretamente, se volessi fare un minuto di video basato esclusivamente sulle tue immagini, dovresti avere 1.800 file JPG o PNG al minuto.

È utile se vuoi eseguire un editing video avanzato senza utilizzare strumenti video: devi solo creare immagini per ogni fotogramma con i tuoi effetti e poi puoi raggrupparle in un video. Ma a volte vuoi che un'immagine fissa duri perché, beh, vuoi un'immagine fissa nel video.

Ok, ora è il momento di installare ffmpeg.

Installa ffmpeg su Linux

A seconda della distribuzione, l'installazione di ffmpeg può essere facile o poco scaltro . È un software gratuito con codice sorgente pubblicamente disponibile, ma poiché può decodificare o codificare formati brevettati come MP4, alcune distribuzioni lo escludono dai loro repository. Ad esempio, in Red Hat Enterprise Linux, CentOS e Fedora, è necessario RPMFusion a causa dei brevetti. Inoltre, tutte le versioni di Debian e Ubuntu prima del 16.04 stanno distribuendo una falsa versione di ffmpeg basata su un fork illegittimo.

Ma prima di affrettarsi ad installarlo, forse è già installata la versione giusta? testiamo:

$ffmpeg -versione
ffmpegversione X.XXXXXXXX Copyright(C) 2000-2018gli sviluppatori di FFmpeg

Se dopo il copyright vedi gli sviluppatori di FFmpeg, hai la versione originale di FFMpeg, non devi fare nulla. Tuttavia, se vedi:

$ffmpeg -versione
ffmpegversione X.XXXXXXXX Copyright(C) 2000-2018gli sviluppatori Libav

Allora significa che stai usando a forchetta di ffmpeg chiamato Libav. Debian e versioni precedenti di Ubuntu in silenzio sostituire FFMpeg con Libav. Se ti dice che è deprecato, ignoralo, è fuorviante. Se hai installato il fork, è il momento di rimuovere la tua versione di false ffmpeg e quindi seguire la guida di seguito per installare la versione corretta. Probabilmente così:

$sudo apt-get remove ffmpeg

Quindi ora potresti non averlo ancora installato o hai la versione sbagliata, è ora di installarlo!

In Fedora, Red Hat Enterprise Linux (RHEL) e CentOS, vai a https://rpmfusion.org/Configuration e abilita il repository RPMFusion gratuito sul tuo computer. Quindi, se sei in Fedora, fai:

$sudodnfinstallare ffmpeg

E per CentOS e Red Hat Enterprise Linux, fai:

$sudo yum installa ffmpeg

Questo è tutto per i sistemi basati su Fedora e Red Hat, è installato.

In tutte le versioni di Debian (e tutte le derivate) e Ubuntu prima della 16.04, è necessario ottenere la build statica FFMpeg dal sito Web ufficiale. Vai a https://ffmpeg.org/download.html#build-linux e sotto Build statiche di Linux , clicca su 32 bit e 64 bit per kernel 2.6.32 e versioni successive . Poi, sotto versione: X.X.X , scarica l'archivio appropriato, estrailo e puoi lanciare gli eseguibili che si trovano nella cartella estratta tramite CLI.

Per quelli che usano Ubuntu 16.04 e versioni successive, è più semplice, basta fare:

$sudo apt-get install ffmpeg

uff! Finalmente dovremmo essere a posto! Prima di proseguire, prova un'ultima volta con:

$ffmpeg -versione

ffmpeg versione X.XXXXXXXX Copyright (c) 2000-2018 gli sviluppatori di FFmpeg

Crea video da molte immagini

Quindi, per il nostro primo esempio, creeremo un video da Immagini in cui ogni immagine rappresenta un fotogramma che verrà visualizzato per 33 millisecondi. Lascia che ti mostri prima il comando.

** MP4 e H.264 sono codec brevettati, controlla se hai il diritto di codificare con esso. **

$ffmpeg-r: v30 -io 'Pinguini - %05d.png'-codec:v libx264-preimpostatomolto lento
-pix_fmt yuv420p-crf 28 -un 'Pinguini.mp4'

OK, quindi come funziona? Perché questo comando funzioni, devi avere molti frame in cui ogni frame è un file come Penguins – 00043.png. Questo comando combinerà quindi tutti i fotogrammi in ordine a una velocità di 30 FPS. Quindi, Penguins – 00043.png viene prima di Penguins – 00044.png nel video e ffmpeg lo rispetterà. Quindi, se hai 120 fotogrammi, il tuo video avrà una durata di 4 secondi.

Ci sono pochi requisiti su formato, larghezza e altezza per far funzionare le cornici. Se non segui queste regole, ffmpeg potrebbe ignorare alcune immagini o annullare il processo di creazione del video. Così:

  • Tutti i fotogrammi di uno stesso video devono condividere:
    • Larghezza altezza
    • Profondità di colore
  • I fotogrammi dovrebbero essere in una dimensione video standard come:
    • 640 × 360 (360p)
    • 853 × 480 (480p)
    • 1280 ✕ 720 (720p)
    • 1920 ✕ 1080 (1080p)
    • 4096 ✕ 2306 (4K)
  • Preferisci i frame in PNG piuttosto che in JPG
  • Evita la trasparenza o l'alfa in formato PNG

Il comando impiegherà quindi del tempo per convertire il video, ottimizzarne le prestazioni e creare un file MP4 chiamato Penguins.mp4.

Ora, potresti voler avere, beh, un'immagine fissa che rimane per più di 33 millisecondi. In questo caso, il tuo video è più una presentazione e non è la stessa cosa. Per fare ciò, puoi prima dare un framerate più lento per l'input e poi dire a ffmpeg di duplicare i frame nell'output. No, YouTube e Vimeo non apprezzeranno molto un video a 0,5 FPS anche se cambi l'immagine ogni 2 secondi.

Facciamo piuttosto così:

$ffmpeg-r: v1/5 -io 'Pinguini - %05d.png'-r: v30-codec:v libx264-preimpostatomolto lento
-pix_fmt yuv420p-crf 28 -un 'Pinguini.mp4'

Ci siamo! ffmpeg farà apparire ciascuna delle tue immagini per 5 secondi ma in un video a 30 FPS. Non preoccuparti dell'avviso di frame duplicati: è quello che vuoi.

Conclusione

Ora, sei - il nuovo Spielberg – in grado di creare i propri video. Puoi fare una semplice presentazione o preparare un video fotogramma per fotogramma usando un editor di immagini come GIMP, ma puoi anche beneficiare dell'ampio set di effetti e codec che puoi trovare in ffmpeg.

Prenditi il ​​tempo per sperimentare da solo - sei un artista, dopotutto – e crea un video che farà milioni di visualizzazioni su YouTube!