Aggiungere un'image come filigrana a un file video con ffmpeg

Vorrei aggiungere un text a un file video con FFMPEG. Mentre ero capace di farlo con un semplice text

Boxcolor = black: fontcolor = white: text = 'font-size: $ fontfile =' fontfile = '/ usr / share / fonts / Lato-Reg-webfont.ttf: fontsize = $ WATERMARK ': x = (main_w-text_w) -10: y = (main_h-text_h) -4 "\ -threads $ THREADS -f mp4 -vcodec mpeg4 -b $ MOBILE_BITRATE -r $ MOBILE_FRAME_RATE -strict -2 \ -s $ RESOLUTION_SD -acodec libfaac -ar $ MOBILE_AUDIO_RATE -ac $ MOBILE_AUDIO_CHANNELS -ab $ MOBILE_AUDIO_BITRATE \ $ VIDEONAME_MOBILE-android.mp4

questo non sarà abbastanza buono. Così ho provato con l'aggiunta di un file PNG trasparente come filigrana. Alla ricerca di esempi ho provato così:

$ FFMPEG -y -i $ SOURCE \ -vf "movie = $ WATERMARK_SMALL_PATH [filigrana]; [in] [watermark] sovrapposizione = 10: main_h / 2-overlay_h / 2 [fuori]" \ -threads $ THREADS -f mp4 – vcodec mpeg4 -b $ MOBILE_BITRATE -r $ MOBILE_FRAME_RATE -strict -2 \ -s $ RESOLUTION_SD -acodec libfaac -ar $ MOBILE_AUDIO_RATE -ac $ MOBILE_AUDIO_CHANNELS -ab $ MOBILE_AUDIO_BITRATE \ $ VIDEONAME_MOBILE-android.mp4

non funziona. Posso condividere l'output esatto di errore se questo potrebbe essere utile a chiunque.

Con il filter di sovrapposizione non è necessario il formato movie= . E 'più facile, quindi utilizzare questo formato invece:

ffmpeg -y -i inputmovie -i inputpicture.png -filter_complex 'overlay=0:0' -s 1280x720 ...other parameters... outputfile.mp4

La dimensione che ho inserito è solo un esempio, le tue saranno diverse. Si noti che la dimensione è uguale per l'image e per il filmato, e in realtà non viene eseguita alcuna scala. Il 0:0 è per l'allineamento dell'image in alto a sinistra della cornice cinematografica: questo è logico in quanto sono entrambe le stesse size.