我已经借助以下脚本将短视频转换为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也适用于图像序列?
解决方法
palettegen和
paletteuse与图像序列输入一起正常工作.
问题在于您的positional parameter.您使用的是$2,但是只有一个参数从您的命令传递到您的脚本.将$2更改为$1.