在 Mac 上压缩 Discord GIF
在 Mac 上剪短并裁切 GIF,降低帧率和宽度,重建调色板,使其符合 Discord 当前的附件大小限制。
你为团队的 Discord 导出了一份界面演示 GIF,却因文件达到 12 MB 而上传失败。Discord 会限制每条消息的附件大小,全屏录制的动态 GIF 很容易超出上限。在本地剪短循环、裁掉无关区域、降低帧率和宽度,再重新生成调色板,就能避免把尚未发布的界面上传到第三方在线压缩工具。对于每周都要发布动效预览的社区运营和开发团队,保存一个预设会比每次重新猜测频道设置更高效。
Discord 的 GIF 附件限制
Discord 目前文档规定非 Nitro 用户上传的文件上限为 10 MB ,并表示正在为部分用户测试不同的限制。Nitro 会员和实验性功能可能会改变你的账户接受的文件大小,因此在建立固定预设前,请先检查上传器显示的限制。
| 账户或测试状态 | 建议做法 |
|---|---|
| 非 Nitro | 按目前公布的 10 MB 上限准备文件 |
| Nitro 或测试中的限制 | 导出前查看上传器显示的实际上限 |
目标文件大小应略低于账户显示的上限。一个 15 秒的全宽 GIF 即使在不裁剪的情况下,也可能超过更大的上限。
| 片段特点 | 上传失败的原因 |
|---|---|
| 1920 px 全屏录制 | 每帧像素过多 |
| 超过 15 秒的循环 | 时长增加会直接增大文件 |
| 15 fps 屏幕录制 | 帧数多于实际所需 |
在频道中询问 MP4 是否适用于你的使用场景。现代视频压缩通常比 GIF 更高效,并能保留完整色彩及可选音频。如果视频格式可接受,请参阅 convert GIF to MP4 on Mac 。请参阅 lossy vs lossless compression 了解为什么 GIF 的调色板限制在渐变上看起来模糊。
如需从屏幕录制创建 GIF,请参阅 video to GIF on Mac 。如需一般性的 GIF 压缩,请参阅 compress GIFs on Mac 。
符合 Discord 限制的设置
按照固定顺序操作以符合 Discord 上限:裁剪时长、裁切空白区域、降低宽度、降低帧率,最后进行调色板编码。
| 以 10 MB 上限为基准的场景 | 建议设置 |
|---|---|
| 界面问题复现 | 4 秒、宽 640 px、8 fps |
| 功能预告 | 6 秒、宽 800 px、10 fps |
| 表情式反应动画 | 2 秒、宽 480 px、8 fps |
| 参数 | 更小的文件 | 更好的可读性 |
|---|---|---|
| 时长 | 3-5 秒 | 最长 6-8 秒 |
| 宽度 | 480-640 px | 800 px |
| 帧率 | 8 fps | 10-12 fps |
| 画面范围 | 裁切后的面板 | 全屏 |
移除重复的循环。Discord 会自动播放 GIF;对于复现步骤或表情反应,一个干净的循环即可。
当动作发生在屏幕一角时,先裁切再缩放。请参阅 crop GIF on Mac 了解坐标流程。
在发布前在 Finder 中检查文件大小。如果仍超出上限,在牺牲更多时长之前,先将帧率降至 8 或宽度降至 480 px。
使用 FFmpeg 为 Discord 压缩 GIF
打开 Terminal(应用程序 → 实用工具 → 终端)。通过 Homebrew 安装 FFmpeg(如果未找到 brew,请先安装 Homebrew):
brew install ffmpeg来自 MP4 源、适用于 Discord 的调色板管道:
ffmpeg -i clip.mp4 -vf "fps=8,scale=640:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 discord.gif重新压缩现有的过大 GIF:
ffmpeg -i big.gif -vf "fps=8,scale=640:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 discord-small.gif针对仅面板复现的裁切:
ffmpeg -i big.gif -vf "crop=700:500:80:120,fps=8,scale=640:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 discord-cropped.gif| 仍超过显示的上限 | 下一步调整 |
|---|---|
| 已设为 640 px、8 fps | 剪到 3 秒 |
| 已剪短 | 将宽度降到 480 px |
| 已降到 480 px | 改为导出 MP4 |
在 FFmpeg 之前使用 QuickTime 进行裁剪,以避免在循环开头编码空闲帧。
在发布前批量压缩文件夹中的 meme 或复现 GIF 文件:
mkdir discord-out
for f in *.gif; do
ffmpeg -i "$f" -vf "fps=8,scale=640:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 "discord-out/${f}"
done在发布到公共频道前,在 Retina 显示器上验证输出文本的可读性。
GetCompress 适合重复处理 Discord GIF 的场景
FFmpeg 调色板配方足以应对偶尔的 GIF 压缩,且当频道接受视频时,MP4 通常是更好的格式。当团队反复将 MOV、MP4 或过大的 GIF 源转换为适用于 Discord 的循环时,GetCompress 是更合适的选择。帧预览、裁剪、宽度预设和批量队列使结果更易于检查,无需为每次发布维护命令。
源文件仍需单独保留,Discord 上传器当前显示的规则也应作为最终依据。发布前请确认文件符合上限,并检查文字是否清晰可读。
- Mac 压缩 GIF使用 GetCompress、QuickTime 导出 MP4 或 FFmpeg 在 Mac 上压缩 GIF。支持裁剪、缩小宽度,或在工具允许时转换为 MP4。
- 最佳GIF压缩工具对比5款GIF压缩工具,在保持可用画质的前提下缩小循环动画体积:GetCompress、Gifski、gifsicle、Ezgif和GIPHY。
- Windows 压缩 Discord GIF在 Windows 上剪短并裁切 GIF,降低帧率和宽度,重建调色板,使其符合 Discord 当前的附件大小限制。
- Mac 端压缩 JPEG 以满足上传大小限制使用 Preview 和 sips 压缩 Mac 上的 JPEG 文件,以满足上传大小限制。调整至实际显示尺寸,优化画质,保留色彩,并验证上传副本。