有时候我们需要将拍摄或录制的视频文件转成Gif图。
比如我在写博客时就需要将录屏的视频文件转成Gif动图以便在页面中直接展示。
本文记录一下视频转高质量Gif图的命令。
生成Gif的FFmpeg的命令
- 使用ffmpeg生成调色板文件
这个命令是使用ffmpeg生成一个高质量的调色板图片(palette.png),调色板可以帮我们生成色彩高还原度的Gif:
1 | ffmpeg -y -i input.mp4 -vf fps=30,scale=320:-1:flags=lanczos,palettegen palette.png |
- 结合调色板生成Gif动图
1 | ffmpeg -y -i input.mp4 -i palette.png -filter_complex "fps=30,scale=320:-1:flags=lanczos[x];[x][1:v]paletteuse" foo.gif |
简化成一个函数,供系统调用
由于我使用的是Mac系统,所以我可以在当前用户根目录的.zprofile
中新建一个函数:
1 | function makegif { |
这样,每次需要生成Gif图的时候,只需要在终端中执行命令即可,例如:
1 | makegif 1589167714045893.mp4 |