video-assemble

Featured

合成视频解说最终成片:把旁白音频铺到源视频上,按旁白窗口压低原声,生成 SRT / ASS 字幕并可烧录, 最后做响度标准化。作为最终合成阶段使用。输入源视频、tts_meta.json 与旁白位置; 输出 recap 成片和字幕。触发词:视频合成、混音、字幕、压字幕、assemble video、mux、ducking、subtitles、成片。

AI & Automation 527 stars 97 forks Updated 5 days ago MIT

Install

View on GitHub

Quality Score: 94/100

Stars 20%
91
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

## 1. 定位 本技能负责最终合成: 1. 把各段旁白音频放到视频时间线上。 2. 在旁白窗口内压低原声,支持 fixed / sidechain / zone 模式。 3. 根据旁白位置生成 `subtitles.srt`;默认同时生成并烧录 `subtitles.ass`,`--no-burn-subtitles` 可关闭。 4. 可选把最终响度标准化到目标 LUFS。 ## 2. 声音收尾契约 合成阶段只实现创作决定,不凭空制造决定。Agent 在写旁白位置前,已在 `visual_audio_board.json` 为每个 beat 指定 `audio_owner`: - `original_dialogue` - `action_sound` - `ambience` / `music` - `silence` - `narration` 因此,旁白间隙是主动选择,不是必须填满的空白。不要为了“更满”而加入通用 BGM、压住必须听见的台词或消除有意义的沉默。 当前渲染器不解析 `visual_audio_board.json`;Agent 通过旁白时间、`overlaps_speech`、原声留白与现有混音参数落实这些决定。 ## 3. 输入契约 - `<video>`:源视频;cut 模式下为 `edited_source.mp4`。 - `work_dir/tts_meta.json`:默认 `narration` 模式必需;配音阶段写出的 `{segments: [...]}`。每段包含 `audio_path`、时间、`pause_after_ms`、`overlaps_speech` 和用于混音/字幕的位置。显式 `source-mix` / `adopted-packet-copy` 模式不读取它。 - 已采用的配音使用显式 `--tts-meta` 和 `--narration-adoption`:后者由调用方独立确认文字、请求的引擎/声线和速度策略,不能从待消费元数据自动“批准”出来。完整格式与记录边界见 `references/narration-adoption.md`。 - 已采用的完整声音底轨与逐段配音可再传 `--audio-mix-adoption`;严格格式、48 kHz 声道矩阵和双 binding 事务见 `references/explicit-audio-mix.md`。 下面的 `scripts/...` 均相对于本技能目录。若执行器从仓库根目录启动,请给脚本路径加上本技能的绝对目录。 ## 4. 运行命令 ```bash python3 scripts/assemble.py <video> --work-dir <work_dir> \ [--audio-mode narration|source-mix|adopted-packet-copy] [--audio-stream-index <N>] \ [--tts-meta <tts_meta.json> --narration-adoption <narration_adoption.json>] \ [--audio-mix-adoption <audio_mix_adoption.json>] \ [--recap-stem <name>] [--output-dir <dir>] [--no-burn-subtitles] \ [--subtitle-y-top <inclusive-y...

Details

Author
zenstory-ai
Repository
zenstory-ai/video-recap-skills
Created
4 months ago
Last Updated
5 days ago
Language
Python
License
MIT

Bundled in these plugins

Similar Skills

Semantically similar based on skill content — not just same category