使用 FFmpeg 对本地视频和音频文件进行编辑处理,支持 20 种常用操作。本 Skill 不调用任何外部 API,所有处理在本地完成。
适用场景:
脚本位于 skill 目录内的 scripts/,运行时始终使用绝对路径。
设 FFMPEG_SKILL_DIR 为 .claude/skills/ffmpeg-multimedia-editing 的绝对路径。
功能脚本关键参数字幕video_subtitle.py``--input, --subtitle <srt/ass>, --mode soft|hard视频拼接video_concat.py``--inputs a.mp4 b.mp4 ...截图video_screenshot.py``--input, --time, --interval, --count获取首尾帧video_firstlast_frame.py``--input过渡特效video_transition.py``--inputs a.mp4 b.mp4, --type fade|dissolve, --duration视频剪辑video_trim.py``--input, --start, --end格式转换video_convert.py``--input, --format webm压缩/缩放video_compress_scale.py``--input, --resolution 720p, --crf 28变速video_speed.py``--input, --speed 0.5水印video_watermark.py``--input, --watermark <img>, --position top-right裁剪/旋转/翻转video_crop_rotate.py``--input, --crop WxH+X+Y, --rotate 90, --flip h|v画中画video_pip.py``--main, --overlay, --position bottom-right倒放video_reverse.py``--input分段拆分video_split.py``--input, --segment-duration 60视频/GIF互转video_gif_convert.py``--input, --to gif|mp4音画合成video_image_compose.py``--images <glob>, --duration 5, --audio
功能脚本关键参数音乐拼接audio_concat.py``--inputs a.mp3 b.mp3 ...音频提取/替换audio_extract_replace.py``--input video.mp4, --extract-audio音量调节audio_volume.py``--input, --volume 1.5, --normalize音频降噪audio_denoise.py``--input, --strength medium
powershell
# 截图
uv run --python python $FFMPEG_SKILL_DIR/scripts/video_screenshot.py --input video.mp4 --time 00:01:30
# 视频拼接
uv run --python python $FFMPEG_SKILL_DIR/scripts/video_concat.py --inputs a.mp4 b.mp4 c.mp4
# 音频提取
uv run --python python $FFMPEG_SKILL_DIR/scripts/audio_extract_replace.py --input video.mp4 --extract-audio
# 字幕嵌入
uv run --python python $FFMPEG_SKILL_DIR/scripts/video_subtitle.py --input video.mp4 --subtitle subs.srt
outputs/ffmpeg/<operation>/(相对于 OUTPUT_ROOT,默认为项目根目录)type — video / audio / imageoperation — 操作名称(如 subtitle, concat, trim)local_path — 输出文件路径input_path — 输入文件路径elapsed_seconds — 处理耗时ffmpeg(full build 8.1+)和 ffprobe,需在 PATH 中可用OUTPUT_ROOT(可选,输出根目录,支持 ~ 展开,默认为用户主目录)