使用FFmpeg生成高清GIF
- 一、准备工具
- 1. FFmpeg(核心)
- 2.QQ(非必须)(或录屏软件)
- 3.PotPlayer(非必须)
- 二、开始行动
- 1. 录制视频
- 2. 查看或预估视频尺寸
- 3. 制作动图!
- 4. 成果
一、准备工具
1. FFmpeg(核心)
嘿嘿,上集摸鱼的FFmpeg这次当上主角啦~!欢呼~!
下载网址:https://ffmpeg.org/download.html
2.QQ(非必须)(或录屏软件)
emmm,大家应该都知道了吧,QQ截图现在可以录视频了!
当然市面上的录制视频的软件还是非常多的!随便挑一款你中意或者常用的吧!QQ胜在方便常用!!!
然后我推荐一款免费的,占用空间也不大的软件,应该不少同学都知道的,EvCapture。我古早时候b站录视频经常用这个。
3.PotPlayer(非必须)
一个专业的视频播放软件!
官网:https://potplayer.daum.net/?lang=zh_CN
好像有墙,所以你们随便百度一下PotPlayer,然后找个国内的链接下载就行了。
下载不了的话也别慌,我只是用它来查看下视频的尺寸罢了。。(尺寸不对也没什么关系的。)
二、开始行动
1. 录制视频
恩,就随便录个视频就行!
啊这,研究了好久,也不知道csdn该怎么上传视频。。。。
那看来!制作动图这个功能还挺有用的!!!!
不过这里就没法看到录制的视频了。
2. 查看或预估视频尺寸
PotPlayer部分视频时按下tab键是可以查看视频的好多信息的,我们只要查看这个解码的尺寸就好了。当然你使用其他的尺寸的话也可以 等比例缩放的!!!
所以你随便 生成 个宽800px 的GIF的话,应该也差不了太多!!
3. 制作动图!
在命令行输入:
ffmpeg -i "视频位置" -b 568k -r 20 -vf fps=20,scale=视频宽度:-1:flags=lanczos,palettegen -y 调色板.png
其中视频内容替换为你刚刚的视频,视频宽度替换为你刚刚查看到的视频宽度(或者随便来个800、1200啥的),宽度后面的:-1代表高度随宽度等比例缩放,调色板.png可以不用换,或者随便起个换个名字也行。
这个时候会生成一张小小的调色板.png
此时,再次在命令行输入:
ffmpeg -i "视频位置" -i 调色板.png -r 15 -lavfi "fps=15,scale=视频宽度:-1:flags=lanczos[x];[x][1:v]paletteuse" -y 生成的动图
其中视频位置还是刚刚的位置,调色板.png是刚刚生成的那个,视频宽度也是刚刚填的那个,生成的动图填你要生成的动图名称,比如1.gif
其他的选项还有-r可以改,就是动图的帧率,一般15 或者30,好像就是1秒展示多少张图?(毕竟动图也就是好多张图片快速切换实现的!)
4. 成果
这个通过QQ录制,再经过FFmpeg制作的动图,上面的二维码甚至仍然可以扫描成果哦!!可见生成的动图有多么高清!!!!!