如何将 palettegen 和 paletteuse 过滤器与 FFmpeg 一起用于图像序列?

How to use palettegen and paletteuse filters with FFmpeg for image sequences?

我已经借助以下脚本将一个短视频转换为 gif:

#!/bin/sh

palette="/tmp/palette.png"

filters="fps=15,scale=320:-1:flags=lanczos"

ffmpeg -v warning -i  -vf "$filters,palettegen" -y $palette
ffmpeg -v warning -i  -i $palette -lavfi "$filters [x]; [x][1:v] paletteuse" -y 

然而,当我转换图像序列时,我收到错误消息:"Filter paletteuse has a unconnected output"

#!/bin/sh

palette="/tmp/palette.png"

filters="fps=25"

ffmpeg -v warning -f image2 -i %04d.jpg -vf "$filters,palettegen" -y $palette
ffmpeg -v warning -f image2 -i %04d.jpg -i $palette -lavfi "$filters [x]; [x][1:v] paletteuse" -y 

如何使 palettegen 和 paletteuse 也能与图像序列一起使用?

palettegen and paletteuse 可以很好地处理图像序列输入。

问题出在您的 positional parameter 上。您正在使用 </code>,但只有一个参数从您的命令传递到您的脚本。将 <code> 更改为

你需要正确的语法:

# ./videogif.sh bf5_orig.webm battlefield5.gif

$2 = 输出文件名 (.gif)