跳转到内容

在 Windows 上压缩 Discord GIF

在 Windows 上剪短并裁切 GIF,降低帧率和宽度,重建调色板,使其符合 Discord 当前的附件大小限制。

Discord 动画的有用部分可能只是 1920 像素桌面录屏中的 420 像素设置面板。对整个屏幕进行编码会将大部分文件体积浪费在无人需要的像素上。在 Windows 上,首先将录屏缩减为一个清晰的循环。然后再决定结果是否应保留为 GIF

判断 Discord 是否需要 GIF

对于无声反应、简短的 UI 状态变化或需要自动重复的动画,使用 GIF。当片段需要声音、平滑渐变、超过几秒的时长或可读的全屏细节时,使用 MP4。视频保留更多的颜色,且通常比等效的 GIF 文件小得多。

分享内容更合适的格式
两秒钟的反应动画GIF
悬停状态或加载动画GIF
带旁白的问题复现MP4 加文字步骤
产品演示MP4
较长的梗图或游戏片段MP4

如果视频可以接受,请 convert the GIF to MP4 on Windows 而不是为了符合 GIF 预算而牺牲色彩。

查看 Discord 账户的实际上限

Discord 目前规定非 Nitro 用户上传文件的上限为 10 MB ,同时会为部分用户测试不同的限制。Nitro 权益和测试功能可能改变特定账户看到的上限,请以上传器实际显示的数值为准。

导出时应留出余量,不要卡在精确的字节上限。文件在重建、复制或经其他工具处理后,体积可能略有增加。

普通附件的限制与表情、头像或贴纸的要求不同,后几类内容各有尺寸和文件规则。

在 Windows 上录制并剪短循环

Windows 11 的截图工具可以录制选定区域。录制前直接框选目标面板,可省去后续裁切,也能让最终 GIF 中的文字更大、更清楚。

处理现有的全屏录制时:

  1. Clipchamp 中打开视频。
  2. 剪掉准备过程、寻找鼠标位置的片段和重复操作。
  3. 裁切到能够说明问题的应用或面板。
  4. 导出一段简短的 MP4 源文件。

一个完整循环通常已经足够。提交问题报告时,还应写明预期行为、实际行为、应用版本和复现步骤。文件再小,也无法弥补上下文缺失。

使用 FFmpeg 生成精简调色板

在 Windows Terminal 中安装 FFmpeg:

winget install --id Gyan.FFmpeg -e

然后在一个滤镜图中生成调色板并导出:

ffmpeg -i trimmed.mp4 -vf "fps=10,scale=720:-1:flags=lanczos,split[a][b];[a]palettegen=max_colors=128[p];[b][p]paletteuse=dither=bayer" -loop 0 discord.gif

对于很短的反应动画,可从 480 像素宽、8 fps 开始:

ffmpeg -i reaction.mp4 -vf "fps=8,scale=480:-1:flags=lanczos,split[a][b];[a]palettegen=max_colors=96[p];[b][p]paletteuse" -loop 0 reaction.gif

调整顺序很重要。缩短时长和裁切画面通常比减少调色板颜色更有效。过早减少颜色可能产生色带,文件却依然偏大。

排查仍然过大的 GIF

在文件资源管理器中查看输出文件,并按 Discord 的实际显示尺寸预览。

问题下一步最有效的调整
文件略微超出上限删除开头或结尾的帧
文字清晰,但文件大得多将宽度降低 15-25%
动画比实际需要更流畅将 15 fps 降到 10 或 8 fps
渐变出现明显噪点改用 MP4,不要继续增加 GIF 颜色
光标难以看清重新录制更小的区域,不要放大 GIF

处理现有 GIF 时,应先 在 Windows 上裁切 GIF ,再缩放尺寸。更多常用方法请参阅 在 Windows 上压缩 GIF

GetCompress 适合重复处理 Discord GIF 的场景

偶尔处理一个循环动画时,一条 FFmpeg 命令就够用。如果团队经常要把屏幕录制、视频和过大的 GIF 制作为适合 Discord 的文件,GetCompress 会更省事。在 Windows 上可直接预览最短的有效循环、比较宽度和帧率,并复用已经验证的预设,无需长期维护 PowerShell 滤镜。

源文件仍需单独保留,Discord 上传器当前显示的规则也应作为最终依据。发布前请确认文件符合上限,并检查文字是否清晰可读。