; Uso di ffmpeg per effetti vintage





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

I miei libri:
Il coraggio di cambiare idea: inganni e falsità nella cultura occidentale https://www.amazon.it/dp/B0GY5JTZ2L

Il cinghiale: Pian Marmarin https://www.amazon.it/dp/B0H7MK9QNZ

Un uomo in fuga: Il Ritorno https://www.amazon.it/dp/B0HBXRXYZV

Di prossima pubblicazione su amazon:
Manuale pratico del panificatore pasticcere: Ricette e preparazione di pane, grissini, pasticceria da forno e pasticceria fresca.

Sono ancora disponibili alcune copie della prima stampa 2021 Contattami per informazioni, oppure contattarmi sulla mia pagina Telegram.
Oppure attendi la prossima pubblicazione su amazon kdp.

Uso di ffmpeg per effetti vintage
Domenica 25 gennaio 2026

P


roseguo con la condivisione delle mie acquisizioni nell'elaborazione dei video con ffmpeg. Questa volta si tratta di applicazioni di filtri con effetto "vecchi video girati con pellicola" applicati ai video digitali. Non è agevole trovare questi filtri online, per cui, seguendo quelle che potrei definire le mie filosofie di vita, ossia che «se qualcuno lo ha fatto, lo posso fare anch'io» e, non meno importante «io non mi arrendo mai», mi sono accinto, come sempre, a suddividere il problema di fare di un video digitale un video simil-antico, come ad esempio un super8, in parti più piccole.
    La prima idea che mi è venuta è stata quella di creare una maschera che simulasse le righe verticali lasciate dallo scorrimento della pellicola nel proiettore.
    Per creare questa maschera ho usato un programma di disegno che nella mia distribuzione KDE si chiama kolourPaint, un semplice programma di disegno che probabilmente è disponibile anche per gli utenti di SO windows, anche se non so se abbia le stesse potenzialità che esso ha in Linux: su windows tutto è una opzione a pagamento!

Creazione di una prima maschera di righe verticali
con un programma Paint

    Questa maschera creata con il programma di disegno, come si vede nell'immagine sopra viene salvata in formato .png. Premetto di aver impostato l'immagine a 1280x720 (comune formato video, perché, sarà chiaro in seguito, l'immagine serve per generare un video), lo sfondo immagine come trasparente e il primo piano in nero o altri colori scuri come i peletti ricurvi in marrone. Dopo di che, con un semplice "Seleziona tutto" si muove un pochino l'immagine lateralmente e la si "Salva con nome", nome diverso solo per il numero finale, ad esempio righe1.png e poi righe2.png e così via fino a righe9.png. Se si crede di avere necessità di salvare decine di immagini, conviene salvarle con righe01.png eccetera, per avere la certezza, nel caso fosse necessario, che le immagini abbiano un ordinamento numerico ordinato, anche se non è questo il caso.
    Ottenute le immagini, con un semplicissimo comando, si trasforma la sequenza di immagini in un breve video, in modo da poter fare delle prove di sovrapposizione (overlay) del nostro video con le righine verticali sul nostro video digitale.

Script bash che trasforma una serie di immagini in video

    Una volta generato il video con le righe verticali casuali su sfondo trasparente, occorre generare sempre con un comando ffmpeg, un video con sfondo colorato, che serve, ma non da solo, a dare l'effetto vintage, dopo di che si sovrappone a quest'ultimo il video con le righe generato precedentemente. Anche se tutto questo a prima vista sembra complicato, una volta generata la maschera finale, essa sarà utile per diversi video che si voglia, per così dire, "antichizzare". In questo esempio si può, per una semplice prova, generare una maschera vintage di circa 20 secondi. Qualora poi, fosse necessario dare l'effetto ad un video più lungo, basterà concatenare lo stesso video a se stesso, con il comando concat, del quale ho parlato fin dal mio primo articolo/video sul tema ffmpeg.
    A proposito di colori, per quello che ci si propone qui di fare, ho individuato fondamentalmente due tipi di colori: il grigio e il sepia. Essendo questa generazione estremamente semplice, non Vi propongo in questo caso un programma script bash, ma una semplice riga di codice.

ffmpeg -f lavfi -i color=color=gray:1280x720 -t 16 gray.mp4

ffmpeg -f lavfi -i color=color=#c5d8b5:1280x720 -t 16 bejoulin.mp4

ffmpeg -f lavfi -i color=color=red:1280x720 -filter_complex "[0]colorchannelmixer=
.393:.769:.189:0:.349:.686:.168:0:.272:.534:.131:aa=.24
[sepia]" -t 16 -map "[sepia]" sepia.mp4
Tre semplici comandi per generazione dal nulla di video uniformemente colorato.

    I primi due comandi sono semplicissimi: l'input che solitamente si dà, preceduto da "-i", che solitamente è un video oppure un'immagine, in questo caso è semplicemente un colore. Segue il formato del video, quindi il tempo in secondi. Il terzo comando, su tre righe, trasforma un rosso in sepia trasparente ed è ricavato dal sito ufficiale di ffmpeg, dove compare come esempio di colorchannelmixer. Faccio notare che valore (aa=.24) indica l'alpha channell, ovvero trasparenza od opacità.
    Come anticipato sopra, si sovrappone il video con le righe orizzontali ottenendo in questo modo la maschera, o meglio nel mio caso due maschere da applicare finalmente al video che vogliamo rendere vintage: una maschera grigia, che simula i video che vedevamo in televisione negli assi sessanta: io perché andavo a prendere il latte in una cascina dove avevano il televisore nell'ora della "TV dei Ragazzi", gli altri perché avevano la fortuna (mah!) di avere il televisore in casa, la seconda la maschera sepia, che era una tonalità delle fotografie dell'epoca, ma non credo dei filmati d'epoca. La maschera sepia è più una intellettualizzazione del vintage piuttosto che una realtà. Il sepia contiene delle colorazioni, diveramaente dal grigio, che in teoria dovrebbe spaziare solo tra bianco e nero, passando per divesre sfumature di grigio.
    Tutto questo apre lo spunto ad una considerazione che non ha nulla a che vedere con l'argomento del presente articolo: i video ed i filmati sono sostanzialmente una forma di inganno per il nostro occhio, in quanto simulano il movimento. Da questo ne consegue che tutto quanto arriva alle nostre menti attraverso questo medium è sostanzialmente falso già in partenza. Nella mia adolescenza assistetti, come tutti i miei coetanei allo spettacolo dello sbarco sulla luna, ma oggi non mostrano più quelle immagini: chissà come mai? Considerazione conclusa.
    Dunque, anche l'effetto sepia può artisticamente apparire vintage come il grigio. Ottenute le nostre maschere, non rimane che un'ultima accortezza. Se applichiamo le nostre maschere su un video vistosamente colorato, nella trasparenza necessaria affinché il video sottostante le maschere si possa vedere, rimane una sfumatura di colori. Di conseguenza è necessario applicare un altro trucchetto (ricordate che all'inizio dicevo che la maschera da sola non sarebbe bastata per il nostro piccolo inganno visivo?), trucco che è affidato al filtro colorchannelmixer. Questo filtro l'ho trovato in rete tanto tempo fa, per cui non posso dare qui il link che darebbe la giustà paternità al suo creatore. Ma anche questo da solo NON rende un video totalmente grigio o totalmente sepia: alcuni colori, come il verde non vogliono saperne di scomparire (ecco perché parlo di trucchi e inganni), ma abbinati alle maschere che abbiamo preparato sono convincenti. Qui sotto il programma che abbina la renderizzazione (che brutta parola) in sepia con la sovrapposizione della nostra maschera in un unico comando filter_complex.

Script bash che aggiunge, con filter_complex
degli effetti vintage sepia ad un video di base.

    Solo due parole per spiegare il programma sopra. La prima operazione di filter_complex consiste nell'adeguamento del video da colori a sepia operando su colorchannelmixer. Con l'utilizzo di ffprobe il programma analizza le dimensioni del video di base per adeguare con scale la maschera al video. La terza operazione abilita sulla maschera che noi abbiamo creato la necessaria trasparenza, il cui valore sarà frutto di esperienza. Infine l'ultima operazione consiste nell'overlay della maschera sul video, quindi abbiamo così ottenuto il risultato desiderato.
    Ricapitolando:

  1. creare una serie di disegni a sfondo trasparente con linee verticali diversi leggermente tra di loro;
  2. generare il video dai disegni di cui sopra;
  3. generare il video col colore desiderato, grigio o sepia o entrambi;
  4. sovrapporre (overlay) il video con le righe a quello colorato, ottenendo in questo modo il video maschera per generare l'effetto;
  5. per mezzo del programma illustrato sopra per l'effetto sepia, e di questo programma per l'effetto grigio, si ottiene infine l'effetto desiderato, tramite sovrapposizione del video maschera al video che vogliamo antichizzare , come spiegato in questo articolo.

Il video esemplificativo dell'effetto vintage grigio.


    Precedenti articoli su ffmpeg:
    ffprobe.php L'utilizzo di «ffprobe» per accedere ai «metadata tags» dei video e sottotitoli con «drawtext»
    ffmpeg_ffade.php La dissolvenza nelle transizioni tra 2 video
    ffmpeg_fcomplex.php Utilizzo di filter_complex per fare più operazioni contemporaneamente
    ffmpeg6.php Mosaico di video.
    ffmpeg5.php Sottotitoli colorati con file.ass
    ffmpeg4.php Taglio, velocità, ritaglio (crop), adattamento video verticale con programmi bash.
    ffmpeg3.php Primo programma bash per concatenamento video, aggiunta audio e sottotitoli.
    ffmpeg.php Primo approccio al comando ffmpeg

Vi saluto e vi abbraccio tutte e tutti
Se l'articolo Vi è piaciuto e Vi è stato utile, mettete dei commenti, qui sotto e sotto il video, e divulgate.
Vi ringrazio.
Claudio Chicco

Articolo n.215: ffmpegvintage.php
Sito: chifelio
Tema: 27 - Tecniche di programmazione informatica
Data: 2026-01-25

_______________________________

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