我想 ffmpeg 抓取 1280x720 MP4 视频文件,裁剪到正方形大小比例,将其调整为 640x640
以下两个命令对我有用,具有出色的 GIF 质量,但只是缺少正确的调整大小。它确实给了我一个 GIF 输出,但大小是 1138x640 而不是 640x640。
生成调色板:
ffmpeg -y -ss 30 -t 3 -i input.mp4 \
-vf fps=10,scale=1138:-1:flags=lanczos,palettegen palette.png
Run Code Online (Sandbox Code Playgroud)
使用调色板输出 GIF:
ffmpeg -ss 30 -t 3 -i input.mp4 -i palette.png -filter_complex \
"fps=10,scale=1138:-1:flags=lanczos[x];[x][1:v]paletteuse" output.gif
Run Code Online (Sandbox Code Playgroud)
这给了我一个 1138x640.gif,但是如何在不依赖另一个单独命令的情况下将它变成 640x640?
这是一种适用于 1280x720 输入的简单方法。
生成调色板:
ffmpeg -i input.mp4 -filter_complex "fps=10,scale=-1:640,crop=ih:ih,setsar=1,palettegen" palette.png
Run Code Online (Sandbox Code Playgroud)
创建 GIF:
ffmpeg -i input.mp4 -i palette.png -filter_complex "[0]fps=10,scale=-1:640,crop=ih:ih,setsar=1[x];[x][1:v]paletteuse" output.gif
Run Code Online (Sandbox Code Playgroud)
如果需要,您可以通过添加force_aspect_ratio
缩放选项使任意输入大小适合 640x640,并添加 split 和 fifo以避免制作临时调色板文件,从而使这更复杂。
归档时间: |
|
查看次数: |
7437 次 |
最近记录: |