简短的答案
要的是连续的一个瞬间,就打开视频转 GIF 转换器,把视频拖进去,在它的时间轴上标出这一段——它只转换两个标记之间的内容,所以没什么要提前剪的。选好宽度和帧率,导出即可。
要的不止一个瞬间——同一场比赛的两个进球、铺垫加高潮——就先用视频剪切器把片段拼起来,再把结果交给转换器。剪切器能把任意多段标记的部分接成一个文件,而且不重新编码:这第一步不折损任何画质,只花几秒钟时间。
交接只要一次点击:剪切工具一导出,下载按钮下方就有一行提议把结果直接带到转换器,剪出的片段到那边已经装好——中间不用保存、不用重新拖放。
两条路的次序一样:先决定秒数,后花设置。这页剩下的部分解释为什么这个次序对 GIF 的分量,远比对这个站做的其他任何东西都重。
GIF 的每一秒为什么那么贵
GIF 不是视频。它是一摞完整的图片,每张至多取自 256 色的调色板,用 1987 年的一套对运动一无所知的办法压缩。现代编解码器描述帧与帧之间变了什么;GIF 则大体在重复没变的部分。
实际后果是:一个 480 像素宽、每秒 12 帧的十秒 GIF,动辄 5 到 10 MB——是同一片段 MP4 的十倍,画质却只有几分之一。这不怪转换器;格式就是这样。GIF 转换指南讲了什么时候 GIF 仍然值得,什么时候静音循环的视频更合适。
因为体积随每一帧增长,省得最便宜的兆字节是整秒。宽度减半,体积约减为四分之一;帧率减半,约减为一半;而剪掉本就不该在里面的画面,省下的是它的全部开销,还让结果更好——从动作开始的 GIF,比花两秒走向动作的那种读起来舒服得多。
什么时候转换器自带的时间轴就够用
转换器的时间轴标一段:一个起点,一个终点,之间的一切成为 GIF。只要你要的瞬间是连续的——不管多长——这就是全部工作;把剪切器放在前面,只是给同样的两个标记再安一个家。
标记宁紧勿松。最后一帧挨着第一帧时,循环能藏住接缝;从两头刮掉的每一帧,都会变成省下的文件体积还给你。
什么时候先用视频剪切器剪
GIF 一旦需要不止一块,剪切器就有了它的位置:
- 几个瞬间,一个 GIF。视频播放时用 I 和 O 标出每一段,最好的一段该打头就调顺序,然后导出一个文件。段落是复制过去的,不重新编码:拼装不损失任何东西。
- 两个视频,一个 GIF。剪切器接受多个文件,能跨文件把标记的段落接起来:文件格式一致就复制,不一致就重新编码,并且告诉你它做的是哪一种。
- 你还想把片段留成视频。拼好的 MP4 值得留着:它比从它做出的任何 GIF 都更小更清晰,凡是能播视频的地方,发它才是正确的。
然后把拼好的片段丢进转换器,什么也不用标:整个文件现在恰好就是你想要的那个 GIF。
把设置花在刀刃上
秒数定了之后,体积由三个旋钮决定,按开销从大到小排:
- 宽度。最大的杠杆。聊天或论坛 480 像素绰绰有余;没有文字的录屏 320 也看得清清楚楚。体积随宽度的平方下降。
- 帧率。大多数 GIF 住在每秒 10 到 12 帧;动作仍然连贯,文件比 25 帧时少一半。低于 8 就开始像幻灯片了。
- 抖动。只有 256 色,柔和的渐变会起条带。有序抖动拿细密的纹样换掉条带;通常更好看,压缩率略差。两种都导出试试——干活的是你自己的机器,第二次尝试不花一分钱,也不上传一个字节。
如果你每周都做这件事
两个步骤在这里住在两个页面上是有意为之:每页只干一件事,每页都能独自证明没有任何东西离开你的机器。但两页所运行的一切都是开源的:MIT 许可证,一个工具一个文件夹,零依赖的 ES 模块,README 把每个模块讲得明明白白。
所以,如果这条链子是你每周的一部分,不必每次都手动走一遍。把编码智能体指向代码仓库,让它把剪切器的分段逻辑和 GIF 编码器组装成一页,正合你的用法。这些模块写出来就是给人读的,把它们搬走,正是这份许可证存在的目的。