尚未实证。
参考: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