Home
Categories
WIKI
Topic
User
LANGUAGE:
中文
English
miniGIF - 你不可错过的 GIF 压缩工具
Apps Section
1536
views ·
4
replies ·
To
floor
Go
14******70@qq.com
deepin
2019-01-28 09:36
Author
本帖最后由 lolimay 于 2019-1-28 01:56 编辑
1 背景
昨晚在
developer-center
给 deepin 提
issue
时需要上传截图说明问题。最初的想法是先用
gifcurry
把手机拍的视频转成 gif,再上传到 github 上去。可是没想到 38s 的 gif 动图竟然 占 37.5 MB,惊了!更何况 github 的图片上传限制为 10MB,直接传肯定是不可能直接上传了啦,这辈子都不可能直接上传的。只好换个思路,找找看有没有什么 GIF 压缩工具能把它压到 10MB 以下,google + github + stackoverflow 找了一圈,发现主要有以下三种方案:
gifsicle
gifsicle -O3 anim-opt.gif --colors 64 -o anim-output.gif # 原理是减少原图像的 colorspace (颜色位数)
Copy the Code
经过实际测试后,发现最多将 -
-colors
参数设置到 64 位,再低画质就不能看了。基于这种原理的 gif 压缩率最低能到 60% 左右。即能够把我那个 37.5MB 的 GIF 压缩到 20MB 左右。其实光看压缩率的话,效果还是挺有效的。但是还是达不到我的要求。
imagemagick 的 convert
convert input.gif -fuzz 20% -layers Optimize output.gif # 原理是将一个区域的颜色统一成同一个值
Copy the Code
这种压缩方法效果显著,压缩率最小能到 10% 左右,但
-fuzz
值取过大,图像无法辨别,所以也需要控制在一个合理区间内。
gimp
第三种方法就是使用 gimp 直接编辑 gif 图片,删除一些无用的辅助帧。这种方法的缺点也很明显,删除过多的辅助帧后,帧率过低,动画不连贯。更重要的是费时费力,用 gimp 手动压缩 gif 图片的成本过高。
2 正文
所以,大哥,我真的只是想要一个简单的 gif 压缩工具而已啊!用得着每次压缩都要一个命令加一大堆参数吗,我真的记不住呀 (哭,用得着这么专业吗!苦苦找了一圈下来,竟然找到不一个让我满意的工具(如果有大佬手里有好用的 GIF 压缩工具可以在下方留言)。只好自己造轮子了,经过一天的努力...(此处省略一万字)。我的
miniGIF
终于问世了,为 gif 压缩而生。只需将需要压缩的 gif 文件名作为参数传给它,然后你就能直接获得压缩好的 gif,终于长长地舒了一口气,更详细的介绍欢迎去我的 repo 查看
README
的介绍。
截图走一波
广告打一波
最后,欢迎大家到
miniGIF 的项目主页
逛一逛,如果我的作品真的对你有帮助的话,麻烦 watch、star、fork 素质三连走一波,谢谢大家!
3 后续
我那张 37.5 MB 的 gif 最后被压成 4MB 了(其实还可以更低),终于可以愉快把我的截图上传到 github 了~
4 其它问题
Why cli ?
主要是个人平时用终端比较多,开机第一件事是打开终端而不是文件管理器,所以写 cli 程序对我个人来说更方便。
是否有开发 gui 程序的计划?
这个看心情、看心情。有空的话肯定会用 Qt 撸个的,毕竟写 gui 程序才是政治正确嘛 /滑稽
界面语言是英文的?这我可用不来啊!
程序界面支持 English 和中文两种语言,这由 $LANG 环境变量的值所决定。由于在 gif 演示时把系统语言切换到 American English 了,所以界面会显示英文。如果你的系统语言是中文简体的话,则会显示中文界面。
Reply
Like 0
Favorite
View the author
All Replies
WENWEN
deepin
2019-01-28 17:31
#1
https://tinypng.com/
一直用这个
Reply
Like 0
View the author
白菜
deepin
2019-01-28 17:38
#2
加了star支持一下
Reply
Like 0
View the author
ylxdxx
deepin
2019-01-28 17:54
#3
可以呀,不行就自己造轮子
Reply
Like 0
View the author
14******70@qq.com
deepin
2019-01-28 22:25
#4
ylxdxx 发表于 2019-1-28 09:54
可以呀,不行就自己造轮子
简单的轮子还是可以自己造的,复杂的就...(逃
Reply
Like 0
View the author
Please
sign
in first
Featured Collection
Change
[Tutorial] deepin25 WSL Offline Installation Guide
UOS AI 2.8 Released! Three New Intelligent Agents & Major Evolution
Solid Q&A | deepin 25 Common Questions – The Immutable System Edition
New Thread
Popular Events
More
1 背景
昨晚在 developer-center 给 deepin 提 issue 时需要上传截图说明问题。最初的想法是先用 gifcurry 把手机拍的视频转成 gif,再上传到 github 上去。可是没想到 38s 的 gif 动图竟然 占 37.5 MB,惊了!更何况 github 的图片上传限制为 10MB,直接传肯定是不可能直接上传了啦,这辈子都不可能直接上传的。只好换个思路,找找看有没有什么 GIF 压缩工具能把它压到 10MB 以下,google + github + stackoverflow 找了一圈,发现主要有以下三种方案:
- gimp
第三种方法就是使用 gimp 直接编辑 gif 图片,删除一些无用的辅助帧。这种方法的缺点也很明显,删除过多的辅助帧后,帧率过低,动画不连贯。更重要的是费时费力,用 gimp 手动压缩 gif 图片的成本过高。2 正文
所以,大哥,我真的只是想要一个简单的 gif 压缩工具而已啊!用得着每次压缩都要一个命令加一大堆参数吗,我真的记不住呀 (哭,用得着这么专业吗!苦苦找了一圈下来,竟然找到不一个让我满意的工具(如果有大佬手里有好用的 GIF 压缩工具可以在下方留言)。只好自己造轮子了,经过一天的努力...(此处省略一万字)。我的 miniGIF 终于问世了,为 gif 压缩而生。只需将需要压缩的 gif 文件名作为参数传给它,然后你就能直接获得压缩好的 gif,终于长长地舒了一口气,更详细的介绍欢迎去我的 repo 查看 README 的介绍。
- 广告打一波
最后,欢迎大家到 miniGIF 的项目主页 逛一逛,如果我的作品真的对你有帮助的话,麻烦 watch、star、fork 素质三连走一波,谢谢大家!3 后续
我那张 37.5 MB 的 gif 最后被压成 4MB 了(其实还可以更低),终于可以愉快把我的截图上传到 github 了~
4 其它问题
- Why cli ?
主要是个人平时用终端比较多,开机第一件事是打开终端而不是文件管理器,所以写 cli 程序对我个人来说更方便。- 是否有开发 gui 程序的计划?
这个看心情、看心情。有空的话肯定会用 Qt 撸个的,毕竟写 gui 程序才是政治正确嘛 /滑稽- 界面语言是英文的?这我可用不来啊!
程序界面支持 English 和中文两种语言,这由 $LANG 环境变量的值所决定。由于在 gif 演示时把系统语言切换到 American English 了,所以界面会显示英文。如果你的系统语言是中文简体的话,则会显示中文界面。