ffmpeg水印前30秒

时间:2012-02-06 13:27:14

标签: ffmpeg

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

它工作正常,但我只需要水印前30秒。 有什么想法吗?

4 个答案:

答案 0 :(得分:8)

您可以使用png编解码器和Alpha通道将徽标转换为30秒的视频,并将视频应用为叠加层。

徽标视频的持续时间应通过主视频帧速率的帧数指定(在您的情况下,v.3pg)。例如,对于30 fps主视频运行:

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

徽标需要淡出;否则它不会消失。然后将徽标视频用作另一个视频的叠加层:

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

或者,然后突然结束,徽标可逐渐淡出,例如,使用-vf "fade=out:870:30:alpha=1"在30帧内。

答案 1 :(得分:6)

overlay过滤器支持时间轴编辑;您只需从png文件中读取,然后overlay=enable='lte(t,30)':...

即可

答案 2 :(得分:5)

意识到它已经很晚了,但是当我看到类似的问题时,我设法解决了这个问题。 它从开始0.5秒消失,然后在30秒消失。

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

答案 3 :(得分:0)

您可以剪切前30秒,为其添加水印,然后将其与剩余部分连接。