video-to-gif by zc277584121/marketing-skills
npx skills add https://github.com/zc277584121/marketing-skills --skill video-to-gif将视频文件转换为具有不同参数的多个 GIF 变体,以便用户可以直观地比较并选择最佳的一个。
前提条件:必须安装 FFmpeg。gifsicle 是可选的(用于启用有损压缩变体)。
用户希望从视频片段创建 GIF,但不确定正确的参数。GIF 质量涉及以下方面的权衡:
与其猜测,此技能会生成多个变体,让用户决定。
当用户提供视频文件时:
python /path/to/skills/video-to-gif/scripts/video_to_gif.py <input.mp4>
这将在 <input>_gifs/ 目录中生成使用 完整 预设(18 个变体)的 GIF:
输出包括一个排序后的对比表格,显示每个变体的文件大小、帧率、宽度和颜色数。
Convert a video file into multiple GIF variants with different parameters, so the user can visually compare and pick the best one.
Prerequisite : FFmpeg must be installed. gifsicle is optional (enables lossy compression variants).
The user wants to create a GIF from a video clip but isn't sure about the right parameters. GIF quality involves tradeoffs between:
Rather than guessing, this skill generates multiple variants and lets the user decide.
When the user provides a video file:
python /path/to/skills/video-to-gif/scripts/video_to_gif.py <input.mp4>
This generates GIFs in <input>_gifs/ directory with the full preset (18 variants):
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 预设 | 变体数量 | 最佳用途 |
|---|
full | ~18 | 通用 — 广泛探索参数空间 |
minimal | ~4 | 快速比较 — 仅几个关键的权衡点 |
lossy | ~12 | 最小文件 — 包含 gifsicle 有损压缩级别 |
quality | ~12 | 最佳视觉效果 — 更高分辨率,包含拜耳抖动 |
# 使用较少的变体进行快速比较
python .../video_to_gif.py input.mp4 --presets minimal
# 包含有损压缩(需要 gifsicle)
python .../video_to_gif.py input.mp4 --presets lossy
# 侧重于更高质量
python .../video_to_gif.py input.mp4 --presets quality
| 标志 | 默认值 | 描述 |
|---|---|---|
-o, --output-dir | <input>_gifs/ | 所有 GIF 变体的输出目录 |
--start | 无 | 开始时间(秒)(裁剪源视频) |
--end | 无 | 结束时间(秒)(裁剪源视频) |
--presets | full | 预设配置:full, minimal, lossy, quality |
--fps | preset | 覆盖帧率值(例如:--fps 10 15 20) |
--width | preset | 覆盖宽度值(例如:--width 480 640) |
--colors | preset | 覆盖颜色数量(例如:--colors 128 256) |
--lossy | preset | Gifsicle 有损压缩级别(例如:--lossy 0 30 80) |
# 转换视频的前 10 秒
python .../video_to_gif.py demo.mp4 --end 10
# 提取特定片段
python .../video_to_gif.py demo.mp4 --start 5 --end 15
# 自定义参数扫描
python .../video_to_gif.py demo.mp4 --fps 12 15 --width 480 800 --colors 256
# 有损压缩比较(需要 gifsicle)
python .../video_to_gif.py demo.mp4 --lossy 0 30 60 100
运行后,打开输出目录并进行比较:
对于大多数屏幕录制,最佳平衡点通常在 640px, 15fps, 256 色 左右。
--start/--end 进行裁剪 — 超过 10 秒的 GIF 文件可能会非常大。每周安装量
131
代码仓库
首次出现
2026年3月5日
安全审计
安装于
opencode131
github-copilot131
codex131
amp131
cline131
kimi-cli131
Output includes a sorted comparison table showing file size, FPS, width, and colors for each variant.
| Preset | Variants | Best For |
|---|---|---|
full | ~18 | General use — broad exploration of the parameter space |
minimal | ~4 | Quick comparison — just a few key tradeoff points |
lossy | ~12 | Smallest files — includes gifsicle lossy compression levels |
quality | ~12 | Best visuals — higher res, includes bayer dithering |
# Quick comparison with fewer variants
python .../video_to_gif.py input.mp4 --presets minimal
# Include lossy compression (requires gifsicle)
python .../video_to_gif.py input.mp4 --presets lossy
# Higher quality focus
python .../video_to_gif.py input.mp4 --presets quality
| Flag | Default | Description |
|---|---|---|
-o, --output-dir | <input>_gifs/ | Output directory for all GIF variants |
--start | none | Start time in seconds (trim source) |
--end | none | End time in seconds (trim source) |
--presets | full | Preset config: full, minimal, lossy, quality |
--fps | preset | Override FPS values (e.g., --fps 10 15 20) |
--width | preset | Override width values (e.g., --width 480 640) |
--colors | preset | Override color counts (e.g., --colors 128 256) |
--lossy | preset | Gifsicle lossy levels (e.g., --lossy 0 30 80) |
# Convert first 10 seconds of a video
python .../video_to_gif.py demo.mp4 --end 10
# Extract a specific segment
python .../video_to_gif.py demo.mp4 --start 5 --end 15
# Custom parameter sweep
python .../video_to_gif.py demo.mp4 --fps 12 15 --width 480 800 --colors 256
# Lossy compression comparison (needs gifsicle)
python .../video_to_gif.py demo.mp4 --lossy 0 30 60 100
After running, open the output directory and compare:
The sweet spot for most screen recordings is usually around 640px, 15fps, 256 colors.
--start/--end first — GIFs over 10 seconds can get very large.Weekly Installs
131
Repository
First Seen
Mar 5, 2026
Security Audits
Installed on
opencode131
github-copilot131
codex131
amp131
cline131
kimi-cli131
Lark Skill Maker 教程:基于飞书CLI创建AI技能,自动化工作流与API调用指南
39,100 周安装