返回顶部
v

video-editing视频编辑

Automated video editing skill for talk/vlog/standup videos. Use when: cutting video, splitting video into sentences, merging video clips, extracting audio, transcribing speech, auto-editing oral presentation videos, combining selected sentence clips into a final video, generating video cover/thumbnail with title. Requires ffmpeg and whisper.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.2.2
安全检测
已通过
137
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

video-editing

Auto Video Editing(自动视频剪辑)

根据语音内容,将口播/脱口秀类视频按句子自动切分,然后按用户选择合成带字幕的最终视频。

Prerequisites(前置要求)

在执行任何操作之前,先运行环境检测:

bash
python3 scripts/utils.py

这会自动检测平台(macOS/Linux/WSL/Windows)、GPU 类型、可用编码器、Whisper 引擎,并给出诊断报告。

如果缺少依赖,提示用户安装:

  • - ffmpeg: brew install ffmpeg(macOS)或 apt install ffmpeg(Linux/WSL)或下载 Windows 版本
  • whisper: pip install faster-whisper(推荐,速度快 4 倍)或 pip install openai-whisper
  • 中国用户加速安装:pip install faster-whisper -i https://pypi.tuna.tsinghua.edu.cn/simple

如果项目根目录有 .venv 虚拟环境,运行 Python 脚本前先激活:
bash
source .venv/bin/activate # macOS/Linux/WSL

Windows: .venv\Scripts\activate

平台说明

  • - macOS (Apple Silicon): 自动使用 VideoToolbox 硬件编码加速,Whisper 推荐 large-v3-turbo 模型
  • macOS (Intel): 使用 VideoToolbox 编码,Whisper 使用 CPU 模式
  • Linux: 自动检测 NVIDIA GPU (NVENC)、Intel QSV、AMD AMF
  • WSL: 支持,自动检测 Windows 字体路径 (/mnt/c/Windows/Fonts/)
  • Windows: 建议使用 WSL2 环境运行;支持 QSV/AMF 硬件编码
  • 无独显 (集成显卡): Intel iGPU 使用 QSV 编码,AMD iGPU 使用 AMF 编码;Whisper 建议 medium 模型(而非 large)
  • 中国用户: 自动检测中国区域,使用清华 pip 镜像和 HuggingFace 镜像下载模型,也可通过 --mirror 参数强制启用

Workflow(工作流程)

Phase 1: Audio Extraction(音频提取)

对每个输入视频文件,使用 extract_audio.py 提取音频:

bash
python3 scripts/extractaudio.py path>

输出:与视频同目录下的 name>audio.wav 文件。

Phase 2: Speech Recognition(语音识别)

使用 transcribe.py 对音频进行语音识别,生成带时间戳的逐句文本:

bash
python3 scripts/transcribe.py --model auto --language zh

  • - --model auto:根据硬件自动选择最佳模型(NVIDIA GPU → large-v3,Apple Silicon → large-v3-turbo,集成显卡 → medium,纯 CPU → small)
  • 也可手动指定:tiny, base, small, medium, large-v3, large-v3-turbo
  • --engine auto:自动检测 faster-whisper(推荐)或 openai-whisper
  • --mirror:中国用户使用镜像源下载模型
  • --language:zh(中文),en(英文),ja(日文)等,也可省略让 whisper 自动检测

输出:与音频同目录下的 name>transcript.json 文件,格式如下:

json
{
segments: [
{id: 1, start: 0.0, end: 2.5, text: 大家好},
{id: 2, start: 2.5, end: 5.1, text: 今天我们来聊一个话题}
]
}

转录后检查:如果文本中有明显的识别错误(如产品名、专有名词),应修正 transcript.json 中的文字后再进行后续步骤。

Phase 3: Video Splitting(视频切分)

使用 split_video.py 根据转录结果将视频切分为独立片段:

bash
python3 scripts/splitvideo.py path> jsonpath>

输出:在视频同目录下创建 name>clips/ 文件夹,包含按句子编号命名的片段文件,如 clip001.mp4, clip002.mp4 等。

注意

  • - 默认 padding 为 0(片段间无重叠),避免合成时出现重复音频。
  • 使用精确重编码切割(-ss 后置 + re-encode),确保音频在句子边界精确切断。

Phase 3.5: Subtitle Burning(字幕烧录)

使用 burn_subtitles.py 为每个片段烧录字幕:

bash
python3 scripts/burnsubtitles.py dir> jsonpath>

字幕行为:

  • - 自动检测语言:中文内容自动使用中文字幕,英文内容使用英文字幕。
  • 自动折行:长字幕自动分成两行,不会超出屏幕边界。
  • 竖屏优化:字体大小按短边(宽度)缩放,字幕位置在画面 72% 高度处,适配小红书等竖屏平台。
  • 中文字体优先级

1. 首先尝试从 Google Fonts 下载 Noto Sans SC(会缓存到 skill 的 fonts/ 目录)
2. 如果下载失败,macOS 使用 PingFang SC(苹方);Windows 使用 Microsoft YaHei(微软雅黑)
  • - 可用 --font-path 指定自定义字体文件
  • 可用 --font-size 调整字号(默认 48,基于 1080p 自动缩放)

输出:name>clips_subtitled/ 目录,包含带字幕的片段。

注意:此步骤完成后,Phase 4-5 中应使用 clipssubtitled/ 目录而非 _clips/ 目录。

Phase 4: User Interaction(用户交互)

展示片段列表给用户,格式如下:

视频片段列表:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# | 时间区间 | 内容
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1 | 00:00.0 - 00:02.5 | 大家好
2 | 00:02.5 - 00:05.1 | 今天我们来聊一个话题
3 | 00:05.1 - 00:08.3 | 这个话题非常有意思
...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

请选择要合成的片段(示例):
- 连续范围:1-10
- 多个片段:1,3,5,7
- 混合选择:1-4,6,8-10

如果有多个视频文件,分别展示每个视频的片段列表,让用户跨视频选择。
选好后可将来自不同视频的片段复制到同一个临时目录中,按顺序重新编号后合成。

等待用户回复选择后,进入 Phase 5。

Phase 5: Merge & Export(合成导出)

使用 merge_clips.py 将用户选择的片段合成为最终视频:

bash
python3 scripts/mergeclips.py dir> --select 1-4,6,8 --output

  • - --select:用户选择的片段编号,支持 1-4(范围)、1,3,5(逐个)、1-4,6,8-10(混合)。
  • --output:输出文件路径,默认为 dir>/../name>_final.mp4。

输出:合成后的最终视频文件。

Phase 6: Cover Generation(封面生成)

合成完成后,为视频生成封面图片。

交互流程

  1. 1. 询问用户是否要为视频命名以及封面标题怎么写。
  2. 如果用户提供了标题,直接使用该标题。
  3. 如果用户没有特别要求,先从 transcript JSON 中读取所有句子文本,然后 站在观众的角度 总结出一个吸引人的封面标题:

- 标题应简短有力(建议 6-15 个字)
- 从观众视角出发,突出视频的核心看点或价值
- 例如:「3 分钟学会拍小红书封面」而非「我今天教大家拍封面」
  1. 4. 确认标题后,使用 generate_cover.py 将封面写入视频:

bash
python3 scripts/generatecover.py videopath> --title 封面标题文字 --transcript json_path>

  • - --

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 auto-video-editing-1776107974 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 auto-video-editing-1776107974 技能

通过命令行安装

skillhub install auto-video-editing-1776107974

下载

⬇ 下载 video-editing v1.2.2(免费)

文件大小: 34.07 KB | 发布时间: 2026-4-14 13:35

v1.2.2 最新 2026-4-14 13:35
Add comprehensive FAQ/Troubleshooting section (8 common issues): drawtext/libass missing, ffmpeg expression syntax, hardware encoder failures, CJK font rendering, Whisper download in China, pip mirrors, WSL setup

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large