用途:把视频(MP4、MOV、WebM)转成适合在 Slack 线程、X 卡片、GitHub README、事务性邮件等不支持 MP4 的场景中分享的 GIF。GIF 本身是糟糕的视频格式,但使用 FFmpeg 的两遍 palettegen / paletteuse 流程可让画质在格式允许范围内尽量好。
主要能力:提供按发布平台调优的预设,包括 slack(480px/12fps)、twitter(480px/15fps)、reddit(600px/15fps)、github(720px/15fps)、email(480px/10fps)、web(800px/18fps),均默认无限循环。
使用方式:命令形式为 /video-to-gif launch.mp4,可附加目标平台参数,如 /video-to-gif launch.mp4 slack;不指定时交互询问。前置条件为已安装 ffmpeg 与 ffprobe,可用 ffmpeg -version | head -1 检查;macOS 用 brew install ffmpeg,Debian/Ubuntu 用 sudo apt install ffmpeg。流程为:先用 ffprobe 获取源视频宽高、时长、帧率;再选预设;然后用两遍调色板命令渲染,核心滤镜链为 fps=<FPS>,scale=<WIDTH>:-1:flags=lanczos,split[s0][s1];[s0]palettegen=stats_mode=diff[p];[s1][p]paletteuse=dither=floyd_steinberg,并加 -loop 0;最后用 ls -lh 和 ffprobe 校验文件大小、尺寸与帧数。
限制与注意事项:不要单遍渲染,否则会出现色带、抖动和体积过大;不要放大分辨率,只能等比或缩小;GIF 不含音频;超过 15 秒的长 GIF 建议改用 MP4 或 WebP;邮件场景多数 ESP 在超过 1MB 时会去掉动画。若超出平台体积上限,应一次只调整一个变量(降帧率、降宽度或先裁剪)后重新渲染。
适用场景:配合 /tiktok-launch-video、/reddit-launch-video、/linkedin-launch-video 生成的源 MP4 使用,也适合在 /welcome-series、/winback-engine 等场景嵌入小 GIF 提升互动。