关于 media-processing
media-processing 是一项媒体处理技能,提供基于命令行工具和 Python 脚本的图像、音频与视频处理工作流。适合需要批量转换、调整尺寸或优化视频,并希望流程可重复执行的创作者与开发者。
主要功能
- 01批量调整图像尺寸并生成缩略图
- 02按宽高比策略缩放并可加水印
- 03使用 FFmpeg 和 ImageMagick 转换媒体
- 04按 Web、归档和移动场景设置质量
- 05调整视频分辨率、帧率和编码
适用场景
- 01批量制作图像缩略图或转换格式
- 02将视频、音频和图像转换为其他格式
- 03优化视频体积并比较处理前后参数
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ siviter-xyz/ dot-agent --skill media-processing安装后在 Claude Code 中输入/media-processing确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/ffmpeg-encoding.mdffmpeg-filters.mdffmpeg-streaming.mdformat-compatibility.mdimagemagick-batch.mdimagemagick-editing.mdscripts/batch_resize.pymedia_convert.pyrequirements.txtvideo_optimize.py详细介绍
媒体处理
使用标准命令行工具(FFmpeg、ImageMagick)和 Python 辅助工具,以可重复、可脚本化的方式处理图像、音频和视频的工具与工作流。
适用场景
- 处理成批图像(缩略图、调整大小、格式转换)
- 在不同媒体格式之间转换(视频 ↔ 音频 ↔ 图像)
- 在保持可接受画质的同时优化视频大小
- 为 Web、移动设备或归档准备素材
- 设计或改进围绕 FFmpeg/ImageMagick 的命令行工作流
核心原则
- CLI 优先的工作流:优先使用命令行工具(FFmpeg、ImageMagick)和脚本,以便在 CI 或本地工具中自动化。
- 确定性脚本:脚本应可安全重复运行,并具有可预测的输出路径和选项。
- 默认不破坏原文件:默认将输出写入新文件或目录,而不是覆盖原文件。
- 兼顾跨平台:尽可能确保示例和脚本可在 Linux、macOS 和 Windows 上使用。
- 不依赖特定 Agent:指南应适用于任何编码 Agent(Cursor、Claude、Copilot 等),而非某个特定环境。
功能
-
图像工作流
- 批量调整大小并生成缩略图
- 考虑宽高比的调整大小(适应、填充、覆盖、精确)
- 可选添加水印
- 格式转换(例如,PNG → WebP、JPEG)
-
媒体转换
- 根据扩展名检测媒体类型(视频、音频、图像)
- 视频/音频使用 FFmpeg,图像使用 ImageMagick
- 针对
web、archive和mobile使用场景提供质量预设 - 支持批量转换、试运行和详细模式
-
视频优化
- 调整分辨率和帧率
- 单遍(CRF)或两遍编码
- 调整音频比特率
- 基本的前后对比(大小、比特率、分辨率、FPS)
脚本
脚本位于 scripts/ 中,可直接在 shell 中运行:
-
batch_resize.py- 使用多种策略(
fit、fill、cover、exact、thumbnail)批量调整图像大小 - 可选叠加水印
- 支持并行处理和试运行模式
- 使用多种策略(
-
media_convert.py- 用于视频、音频和图像的统一转换工具
- 自动选择 FFmpeg 或 ImageMagick
- 使用质量预设(
web、archive、mobile) - 支持批量转换和格式变更(例如,
.mov→.mp4、.wav→.mp3)
-
video_optimize.py- 专注于权衡视频大小和画质
- 分辨率上限、降低 FPS、调整 CRF、可选两遍编码
- 可选提供原始输出与优化后输出的对比摘要
请参阅 scripts/requirements.txt,了解环境要求(Python 3.10+、FFmpeg、ImageMagick)和系统安装提示。
使用指南
-
先检查依赖项
- 对于视频/音频任务,确保已安装
ffmpeg和ffprobe,且它们位于PATH中。 - 对于图像任务,确保已安装
magick(ImageMagick),且它位于PATH中。
- 对于视频/音频任务,确保已安装
-
探索时优先试运行
- 使用脚本的
--dry-run和/或--verbose标志,在运行前检查生成的命令。
- 使用脚本的
-
保留原文件
- 首次运行时将输出指定到单独的目录(例如,
--output ./out/),以避免意外覆盖。
- 首次运行时将输出指定到单独的目录(例如,
-
记录工作流
- 找到合适的命令行或脚本调用方式后,将其纳入项目脚本(例如,
just、npm scripts或 CI 任务),以便重复运行。
- 找到合适的命令行或脚本调用方式后,将其纳入项目脚本(例如,
参考资料
如需了解更深入的工具专属说明(目前为占位内容,可按需扩展),请参阅:
references/ffmpeg-encoding.md– FFmpeg 编码模式和标志references/ffmpeg-filters.md– 常用滤镜图(缩放、裁剪、音频滤镜)references/ffmpeg-streaming.md– 适用于流媒体的设置和 HLS/DASH 提示references/format-compatibility.md– 容器/编解码器兼容性说明(Web、移动端、桌面端)references/imagemagick-batch.md– 使用 ImageMagick 批量处理图像的模式references/imagemagick-editing.md– 图像编辑操作(裁剪、调整大小、合成、文字等)
评论
支持 Markdown