Ricerca tra la vecchia roba

Come aggiungere un watermark ad un video

Posted: Dicembre 8th, 2009 | Author: | Filed under: Bash, linux, Video | Commenti disabilitati su Come aggiungere un watermark ad un video

La potenzialità della linea di comando unix è altissima anche per le attività di tipo grafico, ovviamente quando queste possono essere automatizzate; mettiamo caso che si voglia aggiungere un proprio logo ad un filmato, proprio come avviene nei maggiori portali e di volerlo fare senza usare programmi con la gui, magari per avere la possibilità di automatizzare il processo.Partiamo da un video iniziale su cui vogliamo imprimere il simbolo, supponiamo si chiami video_alpha.avi; il simbolo di cui ottenere il watermark invece supponiamo sia contenuto nel file watermark_alpha.png.

Prima di tutto bisogna adattare il logo alla dimensione del video (più precisamente si necessita che il watermark abbia le stesse dimensioni del video, ma solitamente il logo è di dimensioni più ridotte quindi si ha la necessità di creare una immagine che contenga il logo che abbia le dimensioni del filmato), facendo attenzione che le zone non interessate dal logo siano di colore grigio (più precisamente con il colore in esadecimale 0x808080) e mettere il logo nell’angolo in basso a destra, proprio come youtube ;-). Siccome l’operazione è abbastanza automatica possiamo usare convert e il suo operatore -compose

$ convert -size 800×600  xc:#808080 watermark_alpha.png -gravity southeast -composite watermark_omega.png

A questo punto dobbiamo utilizzare l’apposito vhook di ffmpeg: su gentoo non è abilitato di default, quindi controllate che la USE flag vhook sia abilitata tramite il comando equery uses ffmpeg e guardate se esce una linea cotale

$ equery uses ffmpeg
[ Searching for packages matching ffmpeg… ]

<un po’ di merda>
 + + vhook              : Enables video hooking support.
<altra merda>

Nel caso non ce l’abbiate, aggiungete nel file /etc/portage/package.use la riga

media-video/ffmpeg vhook

e ricompilate il pacchetto (io dopo due giorni che non capivo il motivo per cui non avevo la libreria watermark ho realizzato che non era compilata, certe volte Debian è meglio sotto questo punto di vista).

N.B: il supporto a vhook è deprecato quindi non esiste nelle nuove versioni di ffmpeg, se qualcuno sapesse come ottenerci un watermark mi faccia sapere.

Adesso potete usare un comando magico che vi permetterà di ottenere quanto voluto

$ ffmpeg -sameq -i video_alpha.avi  -vhook "/usr/lib/vhook/watermark.so -f watermark_omega.png" video_omega.avi

Il file video_omega.avi conterrà il vostro bel filmato con il logo a mo’ di watermark. La particolarità di questo "plugin" è che secondo la documentazione, se usato in modalità normale, tiene conto del colore relativo fra il watermark e video, usando il colore 0x808080 come colore di soglia (leggere la documentazione allegata al programma).

Per vedere un filmato di esempio cliccate qui


Comments are closed.