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