bash – 如何使用带有FFmpeg的palettegen和paletteuse过滤器来处理图像序列?

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

#!/bin/sh

palette="/tmp/palette.png"

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

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

但是,当我转换图像序列时,我收到错误消息:“过滤器paletteuse具有未连接的输出

#!/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 $2

如何使palettegen和paletteuse也适用于图像序列?

解决方法

palettegenpaletteuse与图像序列输入一起正常工作.

问题在于您的positional parameter.您使用的是$2,但是只有一个参数从您的命令传递到您的脚本.将$2更改为$1.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...