Shuyi’s Newsletter

氛围编程实战:Python 实现视频转 GIF 动图智能自适应优化

氛围编程,究竟是不是噱头?

Wang Shuyi's avatar
Wang Shuyi
Aug 26, 2025
∙ Paid

需求

作为一名技术博客作者,我的文章里经常需要插入大量图片,有时一篇文章甚至会有几十张图。单是把这些图片上传到发布平台,就得花上不少时间。

其中普通的静态截图还好处理,但为了演示一些动态效果,我就不得不使用 GIF 动图。坦白说,制作动图的过程相当麻烦。

我曾尝试用 CleanShot X 直接录制 GIF。

但直出的效果往往很不理想。

上面这张图就是用 CleanShot X 默认设置生成的,文件大小已经达到了 2.9 MB,但我感觉画面依然非常模糊(放大后的观感)。

因为默认设置中把图片大小设定固化,对于高清屏幕上全屏应用的录制,压到这样的尺寸,就显得不够友好。

更要命的是,如果我想对生成的动图做些剪辑,那麻烦就更大了。

因此,我目前的工作流是:先录制一段视频,对视频进行剪辑,最后再把剪辑好的视频转换成 GIF 格式。

录制和剪辑视频我可以用顺手的工具轻松搞定,于是,关键的瓶颈就落在了 “视频转 GIF” 这一步。

工具

这之前,我主要使用的转换工具是赵赛坡当年推荐的 GIF Brewery 3。

这款工具我已经用了四五年,一直觉得够用。该有的功能,比如基础剪辑、缩放、速度调整,它都很完备,甚至还支持将结果直接上传到云端分享。

可问题在于,我懒得去系统地学习一个软件,每次都是在主界面直接选择导出。

一个 6 秒的视频,体积不超过 7MB,在默认设置下,光是导出就得等上好一会儿。生成的文件确实清晰,不过体积到了惊人的 9.6MB。我本地存储倒没问题,但许多社交媒体平台对这么大的动图并不友好 —— 你试试看,根本上传不上去啊。

我通常的处理方式是手动压缩视频的尺寸,一般会缩到原来的一半左右。

导出后的大小确实会明显减小,只有 3.1MB。

最终的效果大概是这个样子:

这个大小和清晰度,我还能接受。但问题是,每一次转换都需要我进行一系列重复的手动操作,这让我给文章插入动图时总会有心理负担。我也没找到能保存预设的地方,设置界面里许多与颜色、帧率相关的参数我也看不太懂。

总结起来,就是这款应用对懒人不友好。

怎么办呢?

动手

既然手头的工具不好用,我干脆自己做一个。在以前,这件事门槛很高,但现在,我们都知道可以 “氛围编程” (Vibe Coding)。

Keep reading with a 7-day free trial

Subscribe to Shuyi’s Newsletter to keep reading this post and get 7 days of free access to the full post archives.

Already a paid subscriber? Sign in
© 2026 Wang Shuyi · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture