Il comando:
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:10 [out]" outputvideo.flv
produce il video con l'immagine "watermarklogo.png" in alto a sinistra. Chiamare questo comando da un altro programma dovrebbe essere abbastanza semplice.
Rompere questo giù poco a poco per capirlo:
ffmpeg
è il programma che verrà usato per aggiungere la filigrana.
-i
viene utilizzato per specificare i file di input.
inputvideo.avi
è il file di input specificato da -i
.
-vf
viene utilizzato per specificare il filtro video. In questo caso, questo è tutto tra virgolette.
movie=watermarklogo.png
caricherà il file che si desidera utilizzare come filigrana. Qui cariciamo il file come sorgente video (utilizzando movie
) indipendentemente dal fatto che il file sia o meno un video. In questo caso è un'immagine.
[watermark]
etichetta il file appena caricato. Questa etichetta verrà utilizzata nel resto del codice.
[in]
e [out]
fare riferimento al flusso di input e al flusso di output del video.
overlay
viene utilizzato subito dopo l'etichetta [watermark]
in modo che si riferisca ad esso. In questo semplice caso, inseriamo lo overlay
allo 10:10
. Ciò significa che la filigrana sarà sfalsata di 10 pixel dall'alto e da sinistra. Se si desiderava in basso a destra, utilizzare overlay=main_w-overlay_w-10:main_h-overlay_h-10
dove main_w
corrisponde alla larghezza del flusso di input, overlay_h
corrisponde all'altezza del file di sovrapposizione e così via.
Infine, outputvideo.flv
è chiaramente il file in cui si desidera salvare i risultati.
Ulteriori informazioni:
ho trovato queste informazioni tramite the site Dmitry had mentioned nei commenti. Alex ha detto che questa pagina potrebbe essere troppo complessa per qualcuno che è nuovo a queste cose.Tuttavia, non ho mai fatto nulla del genere e nel giro di un paio di minuti ho avuto i risultati che ritengo siano stati cercati.
Nota: ho avuto un momento di difficoltà quando mi è stato sempre l'errore:
error while opening encoder for output stream #0.1
Se avete lo stesso problema probabilmente necessario impostare manualmente la frequenza di campionamento utilizzando il parametro -ar (ad es -ar 22050).
L'esempio di codice può essere facilmente modificato per applicare un filtro arbitrario. Qual è il problema? Per esempi sull'uso dei filtri di sovrapposizione e film, vedere [Come filigranare un video usando FFmpeg] (http://www.idude.net/index.php/how-to-watermark-a-video-using-ffmpeg). –
Il problema con l'esempio è che è sovraccarico (2 filtri, grafico del filtro, ecc.). Per qualcuno che è nuovo e vuole scoprire come applicare un AVFilter è confuso, perché non chiarisce ciò che è assolutamente necessario per iniziare. –