FFmpeg如何在shell脚本中反转gif

Posted

技术标签:

【中文标题】FFmpeg如何在shell脚本中反转gif【英文标题】:FFmpeg how to reverse gif in shall scrip 【发布时间】:2021-11-17 19:56:31 【问题描述】:

我是 shell 脚本的新手, 我正在使用以下 shell 脚本将 mp4 转换为 gif:

palette="/tmp/palette.png"
filters="fps=12,scale=256:-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

如何在这个 shell 脚本filter 部分中使用reverse option(如这里的示例):

ffmpeg -i input.mp4 -filter_complex "[0]scale=320:-1,reverse[r];[0][r]concat=n=2:v=1:a=0,fps=10,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" output.gif

【问题讨论】:

【参考方案1】:

一行:

ffmpeg -i "$1" -filter_complex "[0]fps=12,scale=256:-1:flags=lanczos,split[main][reverse];[reverse]reverse[r];[main][r]concat=n=2:v=1:a=0,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" "$2"

使用示例:./gifinator input.mp4 output.gif

别忘了给正确的权限来执行脚本:chmod +x gifinator

【讨论】:

以上是关于FFmpeg如何在shell脚本中反转gif的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本中冒泡排序直接排序反转排序

ffmpeg 64位编译脚本

shell脚本——数组的应用及排序算法(冒泡直接反转希尔排序)

sh shell脚本使用ffmpeg将当前工作目录中的所有wav文件转换为mp3文件

ffmpeg在shell循环中只执行一次问题

ffmpeg 如何转换其他格式的音频文件?