怎样将mp4视频转换成gif格式动态图片

2019年3月22日 | 分类: 【软件】

尚未实证。

参考:https://blog.csdn.net/happydeer/article/details/45727227
参考:https://blog.csdn.net/lj402159806/article/details/54837637

ffmpeg自身就可以转任何视频到gif。也可以使用gifski,但是很慢。

下载:https://ffmpeg.zeranoe.com/builds/

bat文件内代码:

ffmpeg -i "%~1" -r 15 -filter:v scale=480:-1 "%~1.gif"

15为fps,480:-1表示限制长为480,宽按原视频比例自动计算,如果改为-1:-1则长宽保持不变

使用方法:把视频拖到bat文件上即可。

ffmpeg  -i S70131-15433307.mp4 -s 272x480 -b:v 200k output1.mp4

-s用于设定分辨率,-b:v设定视频比特率来压缩大小

ffmpeg -ss 2 -t 5 -i output1.mp4 -s 272x480 -r 15 output1.gif

-ss 2 -t 5,从第2秒的地方开始,往后截取5秒钟, -r 用于设定帧数. 通常Gif有15帧左右就比较流畅了

convert output1.gif -fuzz 20% -layers Optimize output2.gif

设置fuzz因子可以将相近的颜色视为相同的颜色,这样就可以抵消抖动和色彩压缩的影响。
-fuzz选择多少能取得最大的压缩效果,同时对画质的影响可以接受,则需要耐心地尝试。

截取视频内任意时间点(比如第16.1秒处)的一帧图像保存为JPEG文件:

ffmpeg -ss 16.1 -i D:\Media\bear.wmv -s 320x240 -vframes 1 -f image2 D:\d.jpeg