video-highlights · git:20260828.21694dd · 2026-08-28 · sha256 89f3837adb405c12
video-highlights git:20260828.21694ddA
Immutable. This exact content is served forever at /api/v1/blob/89f3837adb405c12.
---
name: video-highlights
description: "长视频 / 直播录像高光切片:从一条长视频里找出高光片段,切成多条独立短视频,可选转竖版 9:16 + 加字幕。找点两种方式——音频能量峰值(情绪高涨/欢呼/大声处)或转录后由内容判断挑金句段。当用户说 直播切片、高光切片、长视频切短、录像剪精华、切片、高光时刻、把直播剪成短视频、提取精彩片段、长视频找亮点 时使用。基于 shared/scripts/highlight_cut.py(librosa 能量分析)。与 clipify 区别:clipify 专做英文口播找笑点+动态人脸pan,本 SKILL 更通用(中文/直播皆可)、静态转竖版更稳。"
layer: produce
---
# 长视频 / 直播录像高光切片
> 从长视频里找高光段 → 切成多条短视频(可转竖版 + 加字幕)。切片执行走
> `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:音频能量找点(快,适合有欢呼/情绪起伏的直播)
```bash
# 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:内容找点(准,适合口播/知识/带货,挑金句爆点)
1. 先转录(复用 auto-subtitle 的 `asr.py`,带时间轴):
```bash
python skills/shared/scripts/asr.py transcribe -i <长视频> --format json -o /tmp/hl.json
```
2. **你**读转录,挑出 3-5 个最有价值/最抓人的片段(完整语义段,别切半句),
写成切片清单 `/tmp/hl_segs.json`:
```json
{"segments": [{"start": 73.2, "end": 95.0, "label": "金句:xxx"}, ...]}
```
3. 切片:
```bash
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,询问是否转竖版。
## 规则
1. 内容找点务必切**完整语义段**,不要从半句话切进/切出。
2. 能量找点适合有明显情绪起伏的素材;平淡口播优先用内容找点(方式 B)。
3. 切片默认前后各留 0.3s 白,避免开头/结尾被切掉。
4. 转竖版口播类建议 `--reframe-mode smart`(人脸居中),其它用 `blur`(不丢画面)。
5. 产物统一进 `outputs/主题名/`,附 `highlights.json` 清单。
## 参考来源
音频能量选段用 librosa RMS 峰值(贪心去重保证峰间隔);内容选段沿用 opus-clip 式"转录→挑金句"
思路但交给 LLM 判断。切片/转竖版复用确定性脚本,保证时间轴与画幅不出错。