"Giornalismo è diffondere ciò che qualcuno non vuole che si sappia. Il resto è propaganda."
Horacio Verbitzky

Blog di Giovanni Chifelio

La proprietà letteraria degli scritti riportati in questo sito è di Claudio Chicco, Via Roma, 30 PAESANA (CN), il quale ne permette la la citazione di brani, citando fonte ed autore e NON ne permette il SUNTO, se non in una versione concordata con l'autore. Per questo fine usare l'apposito form " contatti". Gli articoli pubblicati nel sito possono essere non attendibili. Non mi assumo alcuna responsabilità per contenuto degli articoli di altri autori. La responsabilità dei testi e del loro contenuto è unicamente dei rispettivi autori. Eventuali commenti postati sono a responsabilità di chi li ha postati.
Questo sito NON viene aggiornato con regolarità periodica, per cui NON può essere considerato una testata giornalistica di informazione. Quello che viene espresso dall'autore è libera opinione dello stesso autore, garantita come diritto dall'Art.21 della Costituzione Italiana.

Programma per video con ffmpeg da shell bash Linux.
Sabato 7 maggio 2022

Visione del programma per ffmpeg.
Potete scaricarlo qui.

     Per quale motivo fare un programma bash per automatizzare il montaggio dei video, aggiungere commento musicale e sottotitoli?
     La risposta è lapalissiana: sono operazioni ripetitive che richiedono, se si opera da linea di comando, memoria per digitare il comando giusto, per ricordare il nome che si è dato al video dopo che ha subito l'ultima trasformazione, mentre il programma fa tutto in automatico, ricordando esattamente il nome dato al video o all'audio dopo l'ultima trasformazione.
     Ovviamente il programma da me scritto ha i suoi limiti: se uno dei video necessita di essere tagliato per svariate ragioni, questo dovete farlo manualmente ed inserire poi, nell'elenco dei video da concatenare insieme, il video che avete modificato. Dovete prestare soltanto attenzione al corretto ordine di montaggio che dovete decidere voi: il programma non modifica questo ordine. Il primo video inserito sarà il primo della serie e così via seguendo l'ordine di inserimento.
     Se digitate un "INVIO" senza immettere nomi di altri video, il programma ritiene che la vostra collezione video è terminata. Allo stesso modo, se non inserite un commento musicale, premendo "INVIO" a vuoto il programma ritiene che non intendiate inserire un commento musicale; lo stesso dicasi per i sottotitoli: il mancato inserimento di un file.srt contenente i sottotitoli non darà luogo al loro inserimento.
     Che cosa fa il programma?
     Per prima cosa trasforma i video immessi nel formato che il programmatore ha scelto per default. La mia scelta è stata dettata dal fatto che la maggior parte dei video li giro con Action Cam Sony che ha un formato stabilito di 1280x720 SAR 1:1, così pure il mio telefono cellulare.
     Ma potete fare una scelta diversa, se vi aggrada. Per fare questo andate alla linea "45", dove troverete:

   45   ffmpeg -i ${titoli[$i]} -vf scale=1280:720,setsar=1:1 $nuovo

     Cambiate a piacimento i valori evidenziati, purché siano valori accettati per i video.

     Per seconda cosa i video vengono concatenati assieme nell'ordine di inserimento. Il metodo qui usato per la concatenazione richiede che tutti i video abbiano quelle che io chiamo "piste", anche se non so se sia il termine corretto, una audio ed una video. Se si tenta di concatenare un video che non abbia queste caratteristiche, magari un video ricavato da una immagine senza sonoro ffmpeg vi darà un messaggio di errore. Prima di inserire quel video nell'elenco, dovete "dotarlo" di una traccia sonora, magari inserendo una traccia registrata con un un registratore audio in luogo silenzioso.
     Per questo ed altri eventuali errori strani che dovesse dare ffmpeg, fate riferimento al mio precedente articolo ed ai link ufficiali in esso inseriti.

     La terza cosa è l'inserimento di una traccia musicale, che è facoltativa, come detto più sopra. Non esiste nessun controllo del volume sonoro, ragione per cui dovete inserire un audio di volume tale che non copra il parlato del video. Per la modifica del volume audio fare sempre riferimento al mio precedente articolo ed ai link ufficiali in esso inseriti.

Video sul programma per ffmpeg.
Potete scaricare il programma qui.

     La quarta cosa è la possibilità di inserire un vostro logo.png in alto a sinistra del video. Se vi intendete di coordinate potete cambiargli di posto. Non so se funzioni con altri tipo di immagine che non siano PNG: l'esempio che ho trovato io parlava di PNG.

     Infine, la quinta ed ultima cosa che il programma fa consiste nell'inserimento dei sottotitoli. Non scendo qui nei dettagli di questa cosa già trattata nel mio precedente articolo ed ai link ufficiali in esso inseriti. In sostanza, se avete compilato come esemplificato un corretto file.srt, il programma lo trasforma in un file.ass e infine aggiunge i sottotitoli al vostro video montato e "musicato", operazione anche questa facoltativa.

     Sembrerebbe poca cosa quello che il programma fa, ma vi assicuro che fa risparmiare un sacco di tempo. Volendo si potrebbe adattare ad un tool grafico come ad esempio fltk con pochissimi cambiamenti e diventerebbe un programma utilizzabile da qualsiasi utente non abbia, o non voglia avere dimestichezza con la linea di comando. Personalmente, come quasi tutti i "vecchi" utenti Linux la preferisco e non è un caso che in quell'altro SO dello spacciatore di virus e antivirus, la linea di comando sia negata o perlomeno non incoraggiata. Nel mondo Linux essa è invece alla base di tutto. Per chi ha passione di imparare, può dare grandi soddisfazioni.
     Ho fatto una prova con tre video, uno girato con la Sony, uno catturando lo schermo, ed uno con la webcam del mio PC, che totalizzano un tempo totale di 1 minuto e 10 secondi, che sono video incompatibili tra di loro ed il tutto è stato fatto dal programma in 10 minuti. Se avessi fatto tutto questo a mano avrei impiegato un paio d'ore, come minimo! Ne sono sicuro perché ne ho fatti tanti e ci possono volere addirittura giorni di lavoro.
     Ovvietà:
     il programma ed i video, il commento sonoro, il logo ed il file SRT è auspicabile che siano tutti nella stessa cartella, per risparmiarci di inserire indirizzi complessi tipo
     /run/media/claudio/Elements/action/20220429.
    Il programma può anche lavorare in questo modo, anche con video presi da cartelle diverse, ma per quale motivo complicarsi la vita?

     Vi abbraccio tutte e tutti.
    Vi voglio bene.
     Claudio.

Articolo n.187: ffmpeg3.php
Sito: chifelio
Tema: 27 - Tecniche di programmazione informatica
Data: 2022-05-07

_______________________________

Di claudio Il 2022-05-30 17:36:04 Commento n.354

Mi piace questo articolo

_______________________________

'

Commenta questo articolo.


       Dopo aver premuto "INVIO", verrai reindirizzato ad una pagina nella quale devi postare le lettere delle immagini che appaiono, per dimostrare di non essere un robot.
       Se tutto va a buon fine, verrai nuovamente reindirizzato alla pagina che hai commentato, con in fondo, dopo questo "form", il tuo nuovo commento.

<--Inserisci Commento

Scegli Nome utente (Obbligatorio *)

Cognome
(Se vuoi apparire te stesso!)

Indirizzo email (Obbligatorio * - Tranquillo! NON verrà pubblicato, ne' venduto a scopi commerciali pubblicitari.
La mail la devi mettere in ogni altro blog! Questo sito NON UTILIZZA cookie)

       Tengo molto ad avere commenti e riscontri, anche, soprattutto, da chi non concorda con quanto scrivo.
   Il fatto di dover inserire la mail non ti spaventi: NON SARAI PERSEGUITATO DA NESSUNA "MAILING LIST", ne' tantomeno, la tua mail sarà venduta a scopo commerciale ne' pubblicata.
       Ricordo brevemente le regole base di qualsiasi blog:
       Niente insulti e volgarità (verranno cancellati commenti di questo tipo!).