2026-03-01 06:14:21 +08:00
|
|
|
|
# Soul 竖屏切片 · 专用 Skill
|
|
|
|
|
|
|
|
|
|
|
|
> 专门切 Soul 派对视频为**竖屏成片**,用于抖音/首页。**只保留两个文件夹**:剪辑 → 成片。
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 一、两文件夹结构(无 clips_enhanced / clips_竖屏)
|
|
|
|
|
|
|
|
|
|
|
|
| 文件夹 | 含义 | 内容 |
|
|
|
|
|
|
|--------|------|------|
|
|
|
|
|
|
| **clips/** | 剪辑 | batch_clip 输出的横版切片(soul112_01_标题.mp4) |
|
|
|
|
|
|
| **成片/** | 成片 | 竖屏 498×1080 + 封面 + 字幕 + 去语助词,文件名为**纯标题**(无序号、无 _enhanced) |
|
|
|
|
|
|
|
|
|
|
|
|
不再单独生成 `clips_enhanced`、`clips_竖屏`;成片由 `soul_enhance` 一步直出到 `成片/`。
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 二、视频结构:提问→回答 + 前3秒高光 + 去语助词
|
|
|
|
|
|
|
2026-03-03 10:15:45 +08:00
|
|
|
|
- **每个话题前均优先提问→回答**:先看片段有没有人提问;**有提问**则把**提问的问题**放到前3秒(封面/前贴),先展示问题再播回答;无提问则用金句/悬念作 hook。
|
2026-03-01 06:14:21 +08:00
|
|
|
|
- **成片链路**:前3秒展示问题(或金句)→ 正片回答 → **整片去除语助词**(提问与回答部分均由 soul_enhance 清理)。
|
|
|
|
|
|
- **高光**:按「3秒高光亮点」剪,每段 30~300 秒完整语义单元;高光识别若有提问须填 `question`,且 `hook_3sec` 与之一致。
|
|
|
|
|
|
|
|
|
|
|
|
详见:`参考资料/视频结构_提问回答与高光.md`、`参考资料/高光识别提示词.md`。
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 三、流程总览
|
|
|
|
|
|
|
2026-03-03 12:01:34 +08:00
|
|
|
|
**标准五步**(每步完成再走下一步):① 分析视频→识别话题→导出话题时间 ② 按高光时刻结构整理(前 3 秒/提问) ③ 按时间节点切片→**切片/** ④ 去语助词(合并到⑤) ⑤ 封面+字幕→**成片/**。详见 `参考资料/热点切片_标准流程.md`。
|
|
|
|
|
|
|
2026-03-01 06:14:21 +08:00
|
|
|
|
```
|
|
|
|
|
|
原视频 → 转录(MLX) → 高光识别(含 question/hook_3sec,见高光识别提示词) → batch_clip → soul_enhance(成片竖屏直出到 成片/)
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
- **batch_clip**:输出到 `clips/`
|
2026-03-03 14:29:17 +08:00
|
|
|
|
- **soul_enhance -o 成片/ --vertical --title-only**:**文件名 = 封面标题 = highlights 的 title**(去杠:`:|、—、/` 等替换为空格),名字与标题一致、无序号无杠;字幕烧录(随语音走动);完整去语助词;竖屏裁剪直出到 `成片/`
|
2026-03-01 06:14:21 +08:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 四、高光与切片(30 秒~300 秒)
|
|
|
|
|
|
|
|
|
|
|
|
| 项 | 规则 |
|
|
|
|
|
|
|----|------|
|
|
|
|
|
|
| **单段时长** | **30~300 秒**,由完整片段起止决定 |
|
|
|
|
|
|
| **完整性** | 每段是一个完整话题/情节,有头有尾 |
|
|
|
|
|
|
| **标题** | **一句刺激性观点**(金句、反常识、结论句) |
|
|
|
|
|
|
| **数量** | 建议 ≤10 段/场 |
|
|
|
|
|
|
| **语助词** | 识别与剪辑须符合 `参考资料/高光识别提示词.md`,成片由 soul_enhance 统一去语助词 |
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 五、成片:封面 + 字幕 + 竖屏
|
|
|
|
|
|
|
2026-03-09 22:16:22 +08:00
|
|
|
|
- **封面**:竖屏 498×1080 内**不超出界面**;**半透明质感**(背景 alpha=165);深色渐变、左上角 Soul logo;**封面显示标题 = 成片文件名 = highlights.title**(去杠、去下划线后一致,无 `:|—/_`、无序号);标题文字严格居中、多行自动换行。透明度由 `VERTICAL_COVER_ALPHA` 调节。
|
|
|
|
|
|
- **字幕**:封面结束后才显示,**居中**在竖屏内;先尝试**单次 FFmpeg 通道**(一次 pass 完成所有字幕叠加,最快);若失败自动回退到分批模式(batch_size=40);语助词在解析阶段已由 `clean_filler_words` 去除。重新加字幕时加 `--force-burn-subs`。⚠️ 注意:当前 FFmpeg 不支持 drawtext/subtitles 滤镜,只能用 PIL 图像 overlay 方案。
|
2026-03-01 06:14:21 +08:00
|
|
|
|
- **竖屏**:498×1080,crop 参数与 `参考资料/竖屏中段裁剪参数说明.md` 一致
|
|
|
|
|
|
|
2026-03-09 22:16:22 +08:00
|
|
|
|
### ⚠️ 字幕烧录常见坑(已修复)
|
|
|
|
|
|
|
|
|
|
|
|
| 坑 | 原因 | 修复 |
|
|
|
|
|
|
|---|---|---|
|
|
|
|
|
|
| 字幕全跳过(转录稿异常误判) | `_parse_clip_index` 取到场次号(如 119)而非切片序号(01),导致 highlight_info 为空,start_sec=0 落入噪声区 | 改为取 `_数字_` 模式中**最小值**,119→01=1 ✓ |
|
|
|
|
|
|
| 标题/文件名有下划线 | `sanitize_filename` 保留了 `_` | 现在 `_` 也替换为空格 |
|
|
|
|
|
|
| 字幕烧录极慢(N/5 次 encode) | 原 batch_size=5,180 条字幕需 36 次 FFmpeg 重编码 | 改为单次通道(1 次 pass);失败时 batch_size=40 兜底 |
|
|
|
|
|
|
|
2026-03-01 06:14:21 +08:00
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 六、竖屏裁剪参数(成片内嵌)
|
|
|
|
|
|
|
|
|
|
|
|
| 步骤 | 滤镜 |
|
|
|
|
|
|
|------|------|
|
|
|
|
|
|
| 1 | crop=608:1080:483:0 |
|
|
|
|
|
|
| 2 | crop=498:1080:60:0 |
|
|
|
|
|
|
|
|
|
|
|
|
**输出**:498×1080 竖屏。
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 七、完整命令示例(112 场)
|
|
|
|
|
|
|
|
|
|
|
|
**1. 高光**(当前模型生成 highlights.json,标题用刺激性观点,30~300 秒完整段;语助词与节奏感见 `参考资料/高光识别提示词.md`)
|
|
|
|
|
|
|
|
|
|
|
|
**2. 剪辑(clips)**
|
|
|
|
|
|
```bash
|
|
|
|
|
|
python3 batch_clip.py -i "原视频.mp4" -l highlights.json -o clips/ -p soul112
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
**3. 成片(竖屏+封面+字幕+去语助词,直出到 成片/)**
|
|
|
|
|
|
```bash
|
2026-03-09 22:16:22 +08:00
|
|
|
|
python3 soul_enhance.py -c clips/ -l highlights.json -t transcript.srt -o 成片/ --vertical --title-only --force-burn-subs
|
2026-03-01 06:14:21 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-03-09 22:16:22 +08:00
|
|
|
|
**前缀命名注意**:`-p soul119` 这类带场次号的前缀会产生 `soul119_01_xxx.mp4`,`soul_enhance` 会正确识别 `01` 为切片序号(取所有 `_数字_` 中最小值)。
|
|
|
|
|
|
|
2026-03-01 06:14:21 +08:00
|
|
|
|
输出目录结构示例:
|
|
|
|
|
|
```
|
|
|
|
|
|
xxx_output/
|
|
|
|
|
|
clips/ # 横版切片
|
|
|
|
|
|
成片/ # 竖屏成片,文件名为标题.mp4
|
|
|
|
|
|
成片/目录索引.md
|
|
|
|
|
|
highlights.json
|
|
|
|
|
|
transcript.srt
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 八、参数速查
|
|
|
|
|
|
|
|
|
|
|
|
| 项 | 值 |
|
|
|
|
|
|
|----|-----|
|
|
|
|
|
|
| 文件夹 | 仅 **clips/**、**成片/** |
|
|
|
|
|
|
| 成片尺寸 | 498×1080 竖屏 |
|
|
|
|
|
|
| 成片文件名 | 纯标题(无 01、无 _enhanced) |
|
|
|
|
|
|
| 单段时长 | 30~300 秒 |
|
|
|
|
|
|
| 高光/语助词 | 见 `参考资料/高光识别提示词.md` |
|
|
|
|
|
|
|
|
|
|
|
|
详细 crop 说明见:`参考资料/竖屏中段裁剪参数说明.md`。
|
|
|
|
|
|
|
|
|
|
|
|
**发布到抖音**:成片生成后,可用「抖音发布」Skill(开放平台 OAuth 登录 + 上传/创建视频)或腕推等工具发布;见 `03_卡木(木)/木叶_视频内容/抖音发布/SKILL.md`。
|