video-highlights
GitHub从长视频或直播录像中自动提取高光片段并切分为独立短视频。支持基于音频能量峰值或转录内容两种找点方式,可自动转竖版9:16并添加字幕,适用于抖音、小红书等平台的短视频创作。
Trigger Scenarios
Install
npx skills add ZJU-REAL/Easel --skill video-highlights -g -y
SKILL.md
Frontmatter
{
"name": "video-highlights",
"layer": "produce",
"description": "长视频 \/ 直播录像高光切片:从一条长视频里找出高光片段,切成多条独立短视频,可选转竖版 9:16 + 加字幕。找点两种方式——音频能量峰值(情绪高涨\/欢呼\/大声处)或转录后由内容判断挑金句段。当用户说 直播切片、高光切片、长视频切短、录像剪精华、切片、高光时刻、把直播剪成短视频、提取精彩片段、长视频找亮点 时使用。基于 shared\/scripts\/highlight_cut.py(librosa 能量分析)。与 clipify 区别:clipify 专做英文口播找笑点+动态人脸pan,本 SKILL 更通用(中文\/直播皆可)、静态转竖版更稳。"
}
长视频 / 直播录像高光切片
从长视频里找高光段 → 切成多条短视频(可转竖版 + 加字幕)。切片执行走
skills/shared/scripts/highlight_cut.py,不要手拼裁切命令——脚本已处理精确裁切、 前后留白、批量输出、转竖版、清单生成。
英文口播找笑点 + 逐段动态人脸 pan 见 clipify;只转画幅见 video-reframe; 字幕翻译见 subtitle-translate。
输入
| 字段 | 必填 | 说明 |
|---|---|---|
| 长视频 | 是 | 直播录像 / 长视频(没给就问) |
| 找点方式 | 否 | 能量(默认,情绪高涨处)/ 内容(转录后按金句/爆点挑) |
| 片段数 | 否 | 切几条(默认 5) |
| 每段时长 | 否 | 每条大约多长(默认 20s) |
| 转竖版 | 否 | 是否转 9:16 发抖音/小红书 |
输出(outputs/主题名/)
- 多条切片(
highlight_01.mp4…)+ 清单highlights.json
执行步骤
脚本路径(相对项目根):skills/shared/scripts/highlight_cut.py(energy -h / cut -h)。
方式 A:音频能量找点(快,适合有欢呼/情绪起伏的直播)
# 1) 找候选段
python skills/shared/scripts/highlight_cut.py energy -i <长视频> \
--top 5 --clip-len 20 -o /tmp/hl_cand.json
# 2) 切片(可同时转竖版)
python skills/shared/scripts/highlight_cut.py cut -i <长视频> \
--segments /tmp/hl_cand.json -o outputs/video-highlights \
--reframe 9:16 --reframe-mode blur
方式 B:内容找点(准,适合口播/知识/带货,挑金句爆点)
- 先转录(复用 auto-subtitle 的
asr.py,带时间轴):python skills/shared/scripts/asr.py transcribe -i <长视频> --format json -o /tmp/hl.json - 你读转录,挑出 3-5 个最有价值/最抓人的片段(完整语义段,别切半句),
写成切片清单
/tmp/hl_segs.json:{"segments": [{"start": 73.2, "end": 95.0, "label": "金句:xxx"}, ...]} - 切片:
python skills/shared/scripts/highlight_cut.py cut -i <长视频> \ --segments /tmp/hl_segs.json -o outputs/video-highlights --reframe 9:16
--pad 0.3 每段前后留白避免切太紧;不转竖版就去掉 --reframe。
Profile 感知
- 有 Profile:转竖版比例按
platforms.md主平台;找点侧重贴合账号定位(带货看爆点、 知识看金句、娱乐看情绪高潮);切片时长贴合平台(抖音 15-30s,视频号 30-60s)。 - 无 Profile:默认能量找点 top5、每段 20s,询问是否转竖版。
规则
- 内容找点务必切完整语义段,不要从半句话切进/切出。
- 能量找点适合有明显情绪起伏的素材;平淡口播优先用内容找点(方式 B)。
- 切片默认前后各留 0.3s 白,避免开头/结尾被切掉。
- 转竖版口播类建议
--reframe-mode smart(人脸居中),其它用blur(不丢画面)。 - 产物统一进
outputs/主题名/,附highlights.json清单。
参考来源
音频能量选段用 librosa RMS 峰值(贪心去重保证峰间隔);内容选段沿用 opus-clip 式"转录→挑金句" 思路但交给 LLM 判断。切片/转竖版复用确定性脚本,保证时间轴与画幅不出错。
Version History
- 69c5928 Current 2026-09-08 17:40


