ffmpeg从图像创建gif,在创建过程中添加水印?

时间:2017-07-27 19:06:54

标签: ffmpeg watermark

我已经成功地从一系列静态png创建了动画。我还想添加水印,但在尝试添加水印源时遇到了一些问题。

使用它可以生成动画:

ffmpeg -v warning -framerate 4 -i /tmp/img-%d.png -i /tmp/img-palette.png -lavfi "paletteuse" -y -loop 0 -vcodec libx264 -crf 25 -pix_fmt yuv420p -hide_banner /tmp/output.mp4

当我添加以下内容以指定水印源(透明png)时,会生成错误:

-i /tmp/logo.png -filter_complex "overlay=x=(main_w-100):(main_h-50)"

完整命令:

ffmpeg -v warning -framerate 4 -i /tmp/logo.png -filter_complex "overlay=x=(main_w-100):(main_h-50)" -i /tmp/img-%d.png -i /tmp/img-palette.png -lavfi "paletteuse" -y -loop 0 -vcodec libx264 -crf 25 -pix_fmt yuv420p -hide_banner /tmp/output.mp4

错误:

video:1kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

我是否需要先生成动画,然后将水印应用于该工件,还是有办法在创建过程中将所有内容组合在一起?

1 个答案:

答案 0 :(得分:0)

使用

ffmpeg -v warning -framerate 4 -i /tmp/img-%d.png -i /tmp/img-palette.png -i /tmp/logo.png -filter_complex "[0][2]overlay=x=(main_w-100):(main_h-50)[v];[v][1]paletteuse" -y -vcodec libx264 -crf 25 -pix_fmt yuv420p -hide_banner /tmp/output.mp4

预先指定所有输入。您只能指定一个filter_complex。 -lavfifilter_complex的别名。