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脚本——数组的应用及排序算法(冒泡直接反转希尔排序)