10 KiB
name, description, triggers, owner, group, version, updated
| name | description | triggers | owner | group | version | updated |
|---|---|---|---|---|---|---|
| Soul竖屏切片 | Soul 派对视频→竖屏成片(498×1080),剪辑→成片两文件夹,MLX 转录→高光识别→batch_clip→soul_enhance(封面+动态字幕同步+去语助词+纠错+违禁词)→visual_enhance v8(苹果毛玻璃浮层+Logo+场次号+段落总结)。可选 LTX AI 生成内容/Retake 重剪。支持基因胶囊打包。 | Soul竖屏切片、视频切片、热点切片、竖屏成片、派对切片、LTX、AI生成视频、Retake重剪、字幕优化、字幕同步 | 木叶 | 木 | 1.3 | 2026-03-13 |
Soul 竖屏切片 · 专用 Skill
专门切 Soul 派对视频为竖屏成片,用于抖音/首页。只保留两个文件夹:剪辑 → 成片。
一、两文件夹结构(无 clips_enhanced / clips_竖屏)
| 文件夹 | 含义 | 内容 |
|---|---|---|
| clips/ | 剪辑 | batch_clip 输出的横版切片(soul112_01_标题.mp4) |
| 成片/ | 成片 | 竖屏 498×1080 + 封面 + 字幕 + 去语助词,文件名为纯标题(无序号、无 _enhanced) |
不再单独生成 clips_enhanced、clips_竖屏;成片由 soul_enhance 一步直出到 成片/。
二、视频结构:提问→回答 + 前3秒高光 + 去语助词
- 每个话题前均优先提问→回答:先看片段有没有人提问;有提问则把提问的问题放到前3秒(封面/前贴),先展示问题再播回答;无提问则用金句/悬念作 hook。
- 成片链路:前3秒展示问题(或金句)→ 正片回答 → 整片去除语助词(提问与回答部分均由 soul_enhance 清理)。
- 高光:按「3秒高光亮点」剪,每段 30~300 秒完整语义单元;高光识别若有提问须填
question,且hook_3sec与之一致。
详见:参考资料/视频结构_提问回答与高光.md、参考资料/高光识别提示词.md。
三、流程总览
标准五步(每步完成再走下一步):① 分析视频→识别话题→导出话题时间 ② 按高光时刻结构整理(前 3 秒/提问) ③ 按时间节点切片→切片/ ④ 去语助词(合并到⑤) ⑤ 封面+字幕→成片/。详见 参考资料/热点切片_标准流程.md。
原视频 → 转录(MLX) → 高光识别(含 question/hook_3sec,见高光识别提示词) → batch_clip → soul_enhance(成片竖屏直出到 成片/)
- batch_clip:输出到
clips/ - soul_enhance -o 成片/ --vertical --title-only:文件名 = 封面标题 = highlights 的 title(去杠:
:|、—、/等替换为空格),名字与标题一致、无序号无杠;字幕烧录(随语音走动);完整去语助词;竖屏裁剪直出到成片/
四、高光与切片(30 秒~300 秒)
| 项 | 规则 |
|---|---|
| 单段时长 | 30~300 秒,由完整片段起止决定 |
| 完整性 | 每段是一个完整话题/情节,有头有尾 |
| 标题 | 一句刺激性观点(金句、反常识、结论句) |
| 数量 | 建议 ≤10 段/场 |
| 语助词 | 识别与剪辑须符合 参考资料/高光识别提示词.md,成片由 soul_enhance 统一去语助词 |
五、成片:封面 + 字幕 + 竖屏
- 封面:竖屏 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 方案。 - 竖屏:498×1080,crop 参数与
参考资料/竖屏中段裁剪参数说明.md一致
⚠️ 字幕烧录常见坑(已修复)
| 坑 | 原因 | 修复 |
|---|---|---|
| 字幕全跳过(转录稿异常误判) | _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 兜底 |
| 字幕超前于说话(字幕比声音早) | batch_clip -ss 输入端 seeking 导致切片从关键帧开始(早于请求时间 1-4s),字幕按请求时间算相对位置,导致超前 |
动态 PTS 检测:enhance_clip 对每条切片用 FFprobe 检测首帧 PTS,动态计算精确 delay(不再用固定值);SUBTITLE_DELAY_SEC=2.0 作为兜底 |
| 封面期间出现字幕 | 字幕时间计算使字幕落在封面段(前 2.5s)内 | write_clip_srt 强制过滤 end <= cover_duration 的条目,并 start = max(start, cover_duration) |
| 字幕含 ASR 噪声行(单字母 L / Agent) | MLX Whisper 对静音/噪声段产生幻觉字符 | _is_noise_line() 提前过滤单字母、重复字符、噪声 token |
| 繁体字幕未转简体 | Soul 派对录音有港台口音,ASR 输出繁体 | _to_simplified() 兜底 + CORRECTIONS 扩充 50+ 繁体常用字映射 |
六、竖屏裁剪参数(成片内嵌)
| 步骤 | 滤镜 |
|---|---|
| 1 | crop=608:1080:483:0 |
| 2 | crop=498:1080:60:0 |
输出:498×1080 竖屏。
七、完整命令示例(112 场)
1. 高光(当前模型生成 highlights.json,标题用刺激性观点,30~300 秒完整段;语助词与节奏感见 参考资料/高光识别提示词.md)
2. 剪辑(clips)
python3 batch_clip.py -i "原视频.mp4" -l highlights.json -o clips/ -p soul112
3. 成片(竖屏+封面+字幕+去语助词,直出到 成片/)
python3 soul_enhance.py -c clips/ -l highlights.json -t transcript.srt -o 成片/ --vertical --title-only --force-burn-subs
前缀命名注意:-p soul119 这类带场次号的前缀会产生 soul119_01_xxx.mp4,soul_enhance 会正确识别 01 为切片序号(取所有 _数字_ 中最小值)。
输出目录结构示例:
xxx_output/
clips/ # 横版切片
成片/ # 竖屏成片,文件名为标题.mp4
成片/目录索引.md
highlights.json
transcript.srt
八、参数速查
| 项 | 值 |
|---|---|
| 文件夹 | 仅 clips/、成片/ |
| 成片尺寸 | 498×1080 竖屏 |
| 成片文件名 | 纯标题(无 01、无 _enhanced) |
| 单段时长 | 30~300 秒 |
| 高光/语助词 | 见 参考资料/高光识别提示词.md |
详细 crop 说明见:参考资料/竖屏中段裁剪参数说明.md。
发布到抖音:成片生成后,可用「抖音发布」Skill(开放平台 OAuth 登录 + 上传/创建视频)或腕推等工具发布;见 03_卡木(木)/木叶_视频内容/抖音发布/SKILL.md。
九、底部浮层:苹果毛玻璃样式(visual_enhance v8)
在 soul_enhance 的封面+字幕+竖屏成片上,叠加苹果毛玻璃底部浮层作为最终成片(不再多一个"增强版"目录)。
设计规范(来自卡若AI前端 神射手/毛狐狸标准 v8 终版)
| 元素 | 规格 |
|---|---|
| 背景 | rgba(12,15,26,0.88) 深黑半透 + 8px 柔和高光条 |
| 圆角 | 26px |
| 边框 | rgba(255,255,255,0.10) 白边 + 内缩 rgba(255,255,255,0.05) |
| 阴影 | GaussianBlur(22),悬浮感 |
| 字体 | 标题 Medium,正文 Regular(两档) |
| 主色 | Soul绿系:(0,200,140) → (52,211,238) 青绿渐变 |
| 无图标 | 去掉了所有 badge、问号圆圈、Unicode 图标前缀 |
| Logo 左上角 | 加载 karuo_logo.png 缩放到 24px 高 + "第 N 场" 文字 |
| 芯片 | 渐变描边胶囊,不满色填充 |
| 无视频小窗 | 已永久去掉 |
| 段落切换 | 前 18% title_card → 中 64% summary_card(要点) → 后 18% summary_card(CTA) |
使用命令
python3 visual_enhance.py -i "soul_enhanced.mp4" -o "成片/标题.mp4" --scenes scenes.json
--scenes JSON 格式:每段需 type、episode(场次号)、sub_label、params(含 question/subtitle/chips/headline/points/cta)。
切片时长规范
每段时长严格在 30 秒 ~ 5 分钟,必须是完整的一个话题,有头有尾,不在句子中间截断。
十、AI 生成与 LTX 可选集成
在「已有录播 → 转录→高光→切片→成片」之外,可选用 LTX 系能力,实现 AI 生成视频内容 与 在已有视频上轻松重剪,成片仍走本 Skill 的封面+字幕+竖屏规范。
| 场景 | 推荐能力 | 说明 |
|---|---|---|
| 已有视频某段要重剪/替换 | LTX-2 RetakePipeline、LTX Desktop「Video edit (Retake)」 | 只重生成指定时间段,替换原片段后再走 soul_enhance |
| 用文案/脚本生成新片段 | LTX Text-to-video、LTX-Studio / Fal / Replicate API | 生成 mp4 后放入 切片/ 或直接进成片流程 |
| 封面/金句图动起来 | LTX Image-to-video | 3~10 秒动效,再与切片合成 |
| 音视频同步生成 | LTX-2 A2V、音视频同步生成 | 配音/旁白 → 对应画面,补全缺失画面 |
能力与集成细节:见 参考资料/LTX_能力与集成说明.md(含 Retake、Video extension、多关键帧、Prompt 增强、API/本地/Desktop 接入方式)。
流程约定:凡 LTX 生成的片段,统一按成片规范(竖屏 498×1080、封面、字幕)经 soul_enhance 输出,与录播切片一致。
十、基因胶囊
本 Skill 可打包为基因胶囊,供其他 Agent/项目继承:
cd /Users/karuo/Documents/个人/卡若AI
python3 "05_卡土(土)/土砖_技能复制/基因胶囊/脚本/gene_capsule.py" pack "03_卡木(木)/木叶_视频内容/视频切片/Soul竖屏切片_SKILL.md"
解包:
python3 .../gene_capsule.py unpack Soul竖屏切片_*.json -o <目标目录>