轻风视频剪辑 qingfeng-VE 技能
一、前置依赖检查
本技能运行需要以下外部依赖:
| 依赖 | 用途 | 检测命令 | 安装方式 |
|---|---|---|---|
| FFmpeg | 视频处理核心 | ffmpeg -version |
Windows: 从官网下载并添加到 PATH<br>macOS: brew install ffmpeg<br>Linux: sudo apt install ffmpeg |
| edge-tts | 在线配音引擎 | python -c "import edge_tts; print(edge_tts.__version__)" |
pip install edge-tts |
| Pillow | 图片处理 | python -c "from PIL import Image; print(Image.__version__)" |
pip install Pillow |
| numpy | 音频处理 | python -c "import numpy; print(numpy.__version__)" |
pip install numpy |
可选依赖(本地 TTS 克隆):
- torch + transformers:仅本机 Qwen3-TTS 克隆模式需要
- qwen_tts:声音克隆推理库
- 配置方式:设置环境变量 QWEN_TTS_MODEL_DIR 和 QWEN_TTS_PYTHON
一键检测脚本:
python ${CLAUDE_SKILL_DIR}/scripts/check_deps.py
二、触发条件
当用户表达以下意图时触发本技能:
- "我要剪视频"
- "帮我剪辑"
- "制作视频"
- "给我剪个视频"
- "剪辑一段视频"
- "做一个短视频"
三、初始交互流程
当用户触发本技能后,第一步必须是回复以下模板内容:
【必选】一键配置模板(推荐方式)
首次响应必须提供完整模板让用户填写:
> 好的,我来帮您剪辑视频!
>
> 方式一:一键配置(推荐)
> 请复制下方模板填写,我将一次性完成所有工作:
>
> > * 1. 项目名称:_______________
>
> * 2. 配音文本来源:(A/B)
> 选A(清空下一行):请提供主题、风格要求、目标时长
> 选B(清空上一行):请直接粘贴文本内容
> (分段剪辑请在分段处加【1】【2】……)
>
> 3. 剪辑模式:(A/B)
> 选A留A,清空B:一剪到底 — 所有素材放同一目录
> 选B留B,清空A:分段剪辑 — 每段对应独立素材文件夹
>
> 4. 视频比例:(A/B/C/D)
> 选A留A,清空B/C/D:16:9横屏
> 选B留B,清空A/C/D:9:16竖屏
> 选C留C,清空A/B/D:自定义比例
> 选D留D,清空A/B/C:自动检测
>
> * 5. 素材路径:_______________
>
> 6. 配音音色:_______________
> 可选音色(edge-tts):
> 男声:zh-CN-YunxiNeural、zh-CN-YunyangNeural、zh-CN-YunxiaNeural、zh-CN-YunjianNeural
> 女声:zh-CN-XiaoxiaoNeural、zh-CN-XiaoyiNeural、zh-CN-XiaoruiNeural
>
> 如需克隆声音:
> 参考音频路径:_______________
> 需配置 QWEN_TTS_MODEL_DIR 和 QWEN_TTS_PYTHON 环境变量
>
> 7. 背景音乐:(A/B/C)
> 选A留A,清空B/C:自动生成
> 选B留B,清空A/C:指定音频文件路径
> 选C留C,清空A/B:不加背景音乐
>
> 8. 片头设置:(A/B/C/D)
> 选A留A,清空B/C/D:添加标题 — 提供标题文本
> 选B留B,清空A/C/D:自定义图片 — 提供图片路径
> 选C留C,清空A/B/D:自定义视频 — 提供视频路径
> 选D留D,清空A/B/C:不加片头
>
> 9. 片尾设置:(A/B/C)
> 选A留A,清空B/C:添加感谢语 — 提供文字内容
> 选B留B,清空A/C:自定义视频 — 提供视频路径
> 选C留C,清空A/B:不加片尾
>
> 10. 输出目录:_______________(默认 output/)
>
>
> 注意事项:
> - 带 * 的项目为必填项
> - 填写完成后直接发送给我
> - 建议为本项目新建一个目录,把所有素材均放入该目录中
>
> 方式二:分步引导
> 如果您更倾向于逐步确认,回复"分步",我将带您一步步完成设置。
四、流程管理机制
适用场景:一键配置模式(非分步模式)。
机制说明:
每次完成一个步骤后,必须重新读取配置文档,确认下一步骤内容。
配置文档位置:
- 项目目录:用户填写的版本(如 ./config_template.md 或用户提供的内容)
- 技能目录:${CLAUDE_SKILL_DIR}/config_template.md
五、执行流程
Step 1:解析配置
- 提取所有参数,填充默认值
- 验证必填项:项目名称、配音文本来源、素材路径
- 必填项标识:模板中带
*的项目必须填写
Step 2:生成配音文本(如需)
- 若文本来源为"生成文本",调用相关写作技能生成脚本
- 保存为
work/script.txt,同时生成work/script.json
Step 3:执行主视频剪辑
python make_video.py \
--script work/script.txt \
--materials "<素材路径>" \
--output work/主视频.mp4 \
--mode <A或B> \
--voice <音色> \
--ratio <比例> \
--backend <local或edge>
Step 4:处理背景音乐(如需要)
- 自动生成:
python gen_bgm.py --input work/script.txt --duration <时长> --output work/bgmi.wav - 混合BGM:ffmpeg amix 合并配音和BGM
- 输出:
work/主视频_bgm.mp4
Step 5:生成片头片尾(如需要)
- 根据模板中的标题/感谢语自动生成视频片段
- 保持与主视频相同分辨率
- 输出:
work/intro_X.mp4,work/outro_X.mp4
Step 6:拼接完整版
- 若需要静音轨,先生成
work/silence_5s.wav - 给片头片尾添加静音轨
- concat三路:片头 + 主视频 + 片尾
Step 7:交付成品
- 复制最终成片到
output/<项目名称>_完整版.mp4 - 提示用户检查效果
- 询问是否删除临时文件
六、分步交互模式
当用户未使用一键配置模板时,按以下步骤交互:
第一步:确认配音文本来源
回复用户:
> 好的,我来帮您剪辑视频!
>
> 请问您需要我:
> 1. 生成配音文本 — 如果您没有现成的文案,请给我主题和相关要求
> 2. 使用已有文本 — 如果您已有配音文案,请直接提供
>
> 或者,您也可以直接使用【一键配置模板】一次性完成所有设置。
第二步:等待用户选择并响应
根据用户的回复:
- 情况A:用户选择"生成配音文本" → 询问主题、风格、时长等信息
- 情况B:用户选择"使用已有文本" → 将文本保存为 script.txt
第三步:选择剪辑模式与视频比例
> 已收到您的文本。现在请选择以下两项:
>
> 一、剪辑方式:
> - A. 一剪到底 — 所有素材放入同一目录,整体混剪后拼接
> - B. 分段剪辑 — 按文本分段,每段对应独立素材文件夹,逐段剪辑后拼接
>
> 二、视频比例:
> - 16:9 横屏(推荐,适合电脑/电视观看)
> - 9:16 竖屏(适合抖音/视频号/快手等短视频平台)
> - 自定义比例(如 4:3、21:9 等)
> - 自动检测(根据素材比例自动决定)
第四步:收集必要参数
| 参数 | 是否必需 | 说明 |
|---|---|---|
| 素材文件夹路径 | 是 | A模式为单层目录,B模式为多层目录 |
| 视频比例 | 否 | 默认自动检测 |
| 配音音色 | 否 | 默认 edge-tts 在线配音 |
| 片头 | 否 | 可选:标题/图片/视频 |
| 片尾 | 否 | 可选:感谢语/用户视频 |
| 背景音乐 | 否 | 可选:用户音频/自动生成/不加 |
第五步:执行剪辑
参数收集完毕后,调用 make_video.py 执行剪辑。
重要:脚本默认不添加片头片尾。只有当用户明确提供参数时,才会添加。
第六步:询问背景音乐(主视频生成后)
> 主视频已生成完成!时长 X 秒,已保存至:<路径>
>
> 请问是否需要添加背景音乐?
> - A. 上传背景音乐 — 提供音频文件路径
> - B. 自动生成配乐 — 根据配音情绪自动生成
> - C. 不加背景音乐 — 保持原声,直接交付
第七步:询问片头片尾(BGM 处理后)
> 背景音乐已添加完成!
>
> 请问是否需要添加片头、片尾?
> - A. 只加片头
> - B. 只加片尾
> - C. 片头片尾都加
> - D. 都不加
> - E. 直接提供视频
第八步:最终交付
- 将最终成片复制到
output/目录 - 向用户展示成品文件路径
- 提示用户确认任务完成
第九步:清理临时文件(用户确认后执行)
保留内容:
- output/ 目录及其中所有文件
- materials/ 目录及其中所有文件
- 核心脚本:make_video.py, tts.py, gen_bgm.py
- 配置文件:run.bat, README.md, script.txt, script.json
删除内容:
- work/ 目录下所有文件
- 其他临时产物
七、技能目录结构
qingfeng-VE/
├── SKILL.md # 本技能文档
├── config_template.md # 配置模板(Markdown版本)
├── config_template.docx # 配置模板(Word版本)
├── config.json # 本地TTS配置(可选)
├── scripts/
│ ├── make_video.py # 主剪辑脚本
│ ├── tts.py # TTS配音脚本
│ ├── gen_bgm.py # BGM生成脚本
│ ├── video_factory.py # 视频工厂脚本
│ └── check_deps.py # 依赖检测脚本
└── samples/ # 示例文件目录
└── (可选的示例项目和配置)
八、配置说明
环境变量配置(可选,用于本地 TTS 克隆)
| 变量名 | 说明 | 示例值 |
|---|---|---|
QWEN_TTS_MODEL_DIR |
本地模型目录 | /path/to/qwen3-tts-model |
QWEN_TTS_PYTHON |
推理环境 Python 路径 | /path/to/python-with-qwen_tts |
QWEN_TTS_REF |
默认参考音频路径 | /path/to/reference.mp3 |
config.json 配置
{
"model_dir": null,
"python_exe": null,
"_comment_model_dir": "本地 Qwen3-TTS 模型目录路径",
"_comment_python_exe": "带 qwen_tts 环境的 Python 解释器路径"
}
九、注意事项
- FFmpeg 是必需依赖:所有视频处理都依赖 FFmpeg,请确保已安装并添加到系统 PATH
- edge-tts 默认配音:默认使用在线 edge-tts 服务,无需额外配置
- 本地 TTS 为可选:本地声音克隆需要额外配置,不影响基本功能使用
- 素材命名规范:建议素材按数字编号(如
1.mp4,2.mp4),便于排序 - B模式分段标记:使用
【1】【2】等标记文本分段点
十、快速开始示例
示例 1:基础剪辑(A模式)
项目名称:团队活动记录
配音文本来源:B,文本内容如下:
【1】今天是团队活动日,大家齐聚一堂。
【2】我们一起完成了各种有趣的游戏。
【3】在欢声笑语中,团队凝聚力得到了提升。
剪辑模式:A
视频比例:16:9
素材路径:./materials/active/
配音音色:zh-CN-YunxiNeural
背景音乐:B,路径:./bgm/motivational.mp3
片头设置:D
片尾设置:A,感谢语:感谢观看
输出目录:./output/
示例 2:分步剪辑(B模式)
项目名称:产品发布会
配音文本来源:A,主题:产品发布会回顾,风格:大气专业,时长:60秒
剪辑模式:B
视频比例:自动检测
素材路径:./materials/releases/
配音音色:zh-CN-YunyangNeural
背景音乐:C
片头设置:A,标题:产品发布会精彩回顾
片尾设置:A,感谢语:敬请期待更多精彩
输出目录:./output/