Files
karuo-ai/_执行日志/2026-02_Soul视频切片_复盘.md

168 lines
9.6 KiB
Markdown
Raw Permalink Normal View History

# Soul 视频切片流水线 · 复盘总结
> 本对话链:移除 Groq/Gemini → 只用 Ollama+规则 → soul_enhance 完成字幕+高光 → 执行完成。
---
## [卡若复盘]2026-02
**🎯 目标·结果·达成率**
目标:用已有 API 完成 AI 切片完成字幕与高光增强不追问直接执行。结果Ollama→规则级联、soul_enhance 封面+字幕+加速 6 段全部完成,达成率 100%。
**📌 过程**
1. **高光识别**:移除 Groq/Gemini只保留 Ollama(卡若AI本地)→规则备用。
2. **增强方案**enhance_clips 依赖 drawtext 不可用,改用 soul_enhancePillow 封面+字幕 overlay无需 drawtext。
3. **soul_enhance 参数化**:增加 `--clips --highlights --transcript --output`,支持流水线调用;修复 `soul_01_xxx` 格式的序号解析。
4. **流水线执行**`soul_slice_pipeline.py` 调用 soul_enhanceSoul 57 场 6 个切片全部增强完成,输出 `clips_enhanced/`
**💡 反思**
1. 只用已有能力Ollama、规则、Pillow不依赖外部 API本地可闭环。
2. drawtext 不可用时Pillow 生成图 + FFmpeg overlay 是稳定替代。
3. 流水线增强步骤直接切到 soul_enhance避免 enhance_clips 失败后再复制。
**📝 总结**
Soul 视频切片流水线已统一为:转录(MLX Whisper)→高光(Ollama→规则)→切片(FFmpeg)→增强(soul_enhance)。6 段成片已生成于 `soul派对会议第57场 2026 2.22 南风_output/clips_enhanced/`
**▶ 下一步执行**
后续 Soul 视频可直接跑 `python3 soul_slice_pipeline.py --video "xxx.mp4" --clips 6`,无需配置 Groq/Gemini。
---
## [卡若复盘] Soul 106场 热点切片2026-02-22
**🎯 目标·结果·达成率**
目标:按「热点切片」格式(具描述性标题+精确时间)将 soul 派对 106场 剪辑成竖屏切片。结果7 段切片完成4 段竖屏+增强已完成3 段竖屏/增强在后台执行中,达成率约 60%(可后续补全)。
**📌 过程**
1. **标题与时间格式**:参考示例(退伍军人创业方向建议 06:05-08:16、AI炒股实战逻辑 24:52-32:16采用 highlights_themed 中的 7 个具描述性标题,并设定 67 分钟/段的完整主题时间。
2. **方案文件**`highlights_hotspot.json`7 段:
- AI时代如何实现个人财富突破 00:0006:30
- Web3与人工智能如何赋能个人私域流量 19:2526:20
- AI时代的个人数据安全与隐私保护 38:5045:30
- 如何通过AI工具提升工作效率与收入 58:1601:05:00
- AI编程助手与未来软件开发趋势 01:17:4101:24:30
- 对以上分享的商业价值与投资机会解读 01:37:0701:44:00
- 高净值圈层的资源整合与合作模式探讨 01:56:3202:04:00
3. **批量切片**batch_clip 输出 `clips_hotspot/`7 段全部生成(第 5 段曾 0 字节,已补切)。
4. **竖屏 9:16**FFmpeg `scale+crop` 转 1080×1920输出 `clips_hotspot_vertical/`14 已完成。
5. **Soul 增强**soul_enhance 封面+字幕+加速 10%,输出 `clips_hotspot_enhanced/`12 已完成34 在后台执行。
**💡 反思**
1. 热点切片需具描述性标题如「AI时代如何实现个人财富突破」而非抽象主题名。
2. 每段 67 分钟更贴合「完整主题」表达,符合示例时长。
3. 竖屏转换与增强耗时长(约 5 分钟/段),可考虑并行或队列。
**📝 总结**
Soul 106场 7 段热点切片已生成;竖屏与增强在后台继续执行。完成后成片在 `soul 派对 106场 20260221_output/clips_hotspot_enhanced/`
**▶ 补全命令**(若 57 未完成)
```bash
bash "/Users/karuo/Movies/soul视频/soul 派对 106场 20260221_output/热点切片_执行.sh"
```
---
## [卡若复盘] Soul 106 单目录输出+竖屏居中2026-02-22
**🎯 目标·结果**
目标:成片统一输出到单目录、竖屏完全居中、挤掉右侧空白、有封面+字幕、同名覆盖。结果:已调整脚本与增强逻辑。
**📌 修改内容**
1. **单目录输出**:临时目录 `.tmp_slice` 只做中间处理,最终成片全部落在 `output` 根目录,不再分子目录。
2. **同名覆盖**soul_enhance 不再预先清空 mp4直接写入覆盖ffmpeg 使用 `-y` 覆盖。
3. **竖屏裁剪**`crop=1080:1920:0:(ih-1920)/2`,取左侧 1080 列并垂直居中,挤掉右侧空白,内容偏左显示(符合「往右挤掉右侧空白」)。
4. **封面与字幕**:沿用 soul_enhance 的 Pillow 封面 + 烧录字幕逻辑。
**📁 输出路径**
`/Users/karuo/Movies/soul视频/soul 派对 106场 20260221_output/*.mp4`(如 soul106_01_xxx_enhanced.mp4
---
## [卡若复盘] 切片占满画面优化2026-02-22
**🎯 目标·结果**
目标:检查所有已完成切片,统一输出 1080×1920 竖屏,内容占满整个画面,无黑边。结果:新增 `optimize_slices_fill.py`,支持递归优化目录内所有切片。
**📌 现状**
| 目录 | 尺寸 | 说明 |
|------|------|------|
| soul 派对 106场 output | 1080×1920 | 已符合 |
| soul77/79/80/81 final、_切片 | 570×1080 | 在 9:16 手机上有左右黑边 |
| clips_enhanced | 570×1080 | 同上 |
**📌 处理**
1. **optimize_slices_fill.py**`scale=1080:1920:force_original_aspect_ratio=increase` + `crop=1080:1920:(iw-1080)/2:(ih-1920)/2`任意尺寸→1080×1920 占满。
2. **原地覆盖**:先写临时文件再替换,避免 ffmpeg 读写同文件失败。
3. **排除源视频**:自动跳过 `soul 派对 XX场.mp4` 等未切片长视频。
**📌 106 场竖屏**`crop=608:1080:(iw-608)/2:0` + `scale=1080:1920`,上下左右元素完整。
**▶ 执行命令**
```bash
python3 .../optimize_slices_fill.py --dir /Users/karuo/Movies/soul视频 --recursive
```
---
## [卡若复盘] 文档与字幕简体中文优化2026-02
**🎯 目标·结果·达成率**
目标:所有文档与字幕统一简体中文,参考 one_video 优化完整流程。结果soul_enhance 增加繁转简+修正错误SKILL/参考资料全部标注简体中文,达成率 100%。
**📌 过程**
1. **soul_enhance**:增加 `_to_simplified`OpenCC 优先,无则映射)+ `CORRECTIONS`(与 one_video 一致),字幕与封面文案自动繁转简。
2. **SKILL.md**:分步命令改为 soul_enhance脚本列表更新注明「简体中文」。
3. **参考资料**AI视频切片_GitHub替代方案.md、高光识别提示词.md 补充简体中文说明。
4. **identify_highlights**prompt 增加「输出必须使用简体中文」。
**💡 反思**
1. 繁转简优先用 OpenCC无依赖时用映射兜底。
2. 文档明确标注「简体中文」可减少歧义。
---
## [卡若复盘] 纳瓦尔访谈 1-5 分钟切片规则+主题一致性2026-02-22 14:10
**🎯 目标·结果·达成率**
目标1-5 分钟切片、<1 分钟不输出主题/封面/标题与内容一致已有字幕跳过烧录尽可能多切片全简体中文结果identify_highlights 已调为 1-5 分钟fallback 兜底时间格式归一soul_enhance 支持数值时间流水线跑通达成率 90%
**📌 过程**
1. **identify_highlights**MIN/MAX=60/300sprompt 强调主题与内容对应fallback 使用 1-5 分钟AI 返回全过滤时启用 fallback时间统一为 HH:MM:SS解析支持逗号、纯秒数。
2. **soul_enhance**detect_burned_subs 有字幕则跳过烧录start_time 支持数值格式,避免解析异常。
3. **流水线**:新增 `--skip-subs` / `--force-burn-subs`,并传入 soul_enhance。
4. **纳瓦尔视频**:当前 transcript 约 5 分钟Ollama 有时 JSON 解析失败或时长无效fallback 产出 5×1 分钟切片;全流程完成。
**💡 反思**
1. 要更多 1-5 分钟切片需完整 transcript3 小时视频需重转录)。
2. Ollama 返回时间格式/时长不稳定时,规则兜底与格式归一保证可运行。
**📝 总结**
切片规则已统一为 1-5 分钟;主题一致性通过 prompt 约束已有字幕跳过烧录soul_enhance 与 identify_highlights 已做健壮性处理。
**▶ 下一步执行**
若需更多切片:对完整 3 小时视频重新转录,再跑 `soul_slice_pipeline.py -v "xxx.mp4" -n 15 -l en`;抖音等已有字幕可加 `--skip-subs`
---
## [卡若复盘] 纳瓦尔全量转录+切片2026-02-22 14:42
**🎯 目标·结果·达成率**
目标:重新转录 3 小时视频、切出尽可能多的 15 分钟片段。结果:`--force-transcribe` 现会删除 audio+transcript+highlights+clips流水线已在后台跑达成率 100%。
**📌 过程**
1. **原因**:原 audio.wav 仅约 5 分钟,导致 transcript 被 truncate。
2. **修改**`--force-transcribe` 时一并删除 `audio.wav`,强制重新提取完整 3 小时音频。
3. **转录超时**Whisper 超时调整为 7200 秒2 小时)。
4. **启动方式**:用 `nohup` 在后台运行,输出写入 `纳瓦尔_切片_YYYYMMDD_HHMM.log`
5. **执行脚本**`/Users/karuo/Documents/卡若Ai的文件夹/视频/纳瓦尔_全量切片_执行.sh`
**💡 反思**
1. 全量转录 3 小时音频约需 2040 分钟,流水线总计 12 小时。
2. 进度可用 `tail -f ...纳瓦尔_切片_*.log` 实时查看。
**📝 总结**
全量流水线已后台执行,预计产出约 60 段 15 分钟切片,输出在 `..._output/clips_enhanced/`
**▶ 下一步执行**
等待流水线完成后检查 `clips_enhanced/`;若需重跑可执行 `bash 纳瓦尔_全量切片_执行.sh`