Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ffmpeg watermark first 30 second

Tags:

ffmpeg

ffmpeg -i v.3gp -acodec copy -vf "movie=w.png [logo]; [in][logo] overlay=10:main_h-overlay_h-10 [out]" nv.3gp

It work's fine, but i want watermark only first 30 seconds. Any ideas?

like image 960
ncs Avatar asked Feb 06 '12 13:02

ncs


3 Answers

You can convert the logo into a 30 second video with png codec and alpha channel, and apply the video as overlay.

The duration of the logo video should be specified through the number of frames at the frame rate of the main video (in your case, v.3pg). For example, for 30 fps main video run:

ffmpeg.exe -loop 1 -i w.png -vframes 901 -vf "fade=out:899:1:alpha=1" 
    -vcodec png -pix_fmt rgba w.mov

The logo needs to be faded out; otherwise it will not disappear. Then use the logo video as overlay on another video:

ffmpeg -i v.3gp -acodec copy -vf "movie=w.mov [logo]; [in][logo]
    overlay=10:main_h-overlay_h-10 [out]" nv.3gp

Alternatively, rather then ending abruptly, the logo can be faded out gradually, e.g. within 30 frames using -vf "fade=out:870:30:alpha=1".

like image 154
Dmitry Shkuropatsky Avatar answered Sep 27 '22 19:09

Dmitry Shkuropatsky


overlay filter supports timeline editing; you can simply read from a png file and then overlay=enable='lte(t,30)':...

like image 37
sendmoreinfo Avatar answered Sep 27 '22 21:09

sendmoreinfo


Realize it's late, but as I was looking at a similar problem I managed to solve this one. It fades in with 0.5 sec from start, then fades out at 30 sec

ffmpeg \
-i v.3gp \
-loop 1 -i w.png \
-acodec copy \
-filter_complex \
"[1:v] fade=in:st=0:d=0.5,fade=out:st=30:d=0.5 [logo]; [0:v][logo] overlay=10:main_h-overlay_h-10" \
nv.3gp
like image 39
cueloop Avatar answered Sep 27 '22 21:09

cueloop