Skip to main content

video-review

审查多 clip 视频的连贯性问题(含妆造与音色穿帮),通过修改 prompt + 多模态参考素材并用 Seedance 重新生成来修复,而非 FFmpeg 后处理。

インストールへ移動

ソース情報

リポジトリ
bolecodex/changdu-skills
ソースの最終更新活動
2026年4月23日 02:03
検出された SKILL.md の言語
中国語
スター
6
フォーク
0

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
video-review
description
审查多 clip 视频的连贯性问题(含妆造与音色穿帮),通过修改 prompt + 多模态参考素材并用 Seedance 重新生成来修复,而非 FFmpeg 后处理。
# 视频连贯性审查与修复 ## 核心原则 **穿帮修复 = 修改 prompt + 加上正确的 reference_image / reference_video / reference_audio + Seedance 重新生成**,而不是 FFmpeg 滤镜/转场/调色。 FFmpeg 只用于三件事: 1. 提取关键帧(人工/AI 比对用) 2. 抽前段尾段(做下一段的 `reference_video`,由 `changdu clip-extract-tail` 包装) 3. 拼接最终成片(`changdu clip-concat`,保留音视频) ## 前置条件 - 已安装 changdu CLI 和 ffmpeg - 视频目录中包含 `视频_ClipXXX.mp4` 和 `视频_ClipXXX.prompt.txt` - 主角已有"角色三视图"图片素材(建议先用 `asset-create --type Image` 入库) - 第 1 个 clip 完成后已用 `changdu voice-asset-from-clip` 提取并入库主角音色样本(可选但强烈推荐) ## 工作流 ### Step 1:提取关键帧(视觉比对) 对每个 clip 提取首帧、中帧、尾帧用于人工/AI 比对: ```bash mkdir -p analysis for clip in 视频_Clip*.mp4; do stem="${clip%.mp4}" ffmpeg -y -i "$clip" -vf "select=eq(n\,0)" -vframes 1 -q:v 1 "analysis/${stem}_first.jpg" ffmpeg -y -sseof -1 -i "$clip" -update 1 -q:v 1 "analysis/${stem}_last.jpg" total=$(ffprobe -v error -select_streams v:0 -count_frames -show_entries stream=nb_read_frames -of csv=p=0 "$clip") mid=$((total / 2)) ffmpeg -y -i "$clip" -vf "select=eq(n\,$mid)" -vframes 1 -q:v 1 "analysis/${stem}_mid.jpg" done ``` ### Step 2:逐对比较,识别穿帮 对相邻 clip 的衔接帧(Clip N 尾帧 vs Clip N+1 首帧)以及音轨进行检查,常见 9 类问题: | 类别 | 检查内容 | 严重程度 | |------|---------|---------| | **TRANSITION** | 前一 clip 尾部提前展示下一 clip 内容(叙事泄漏) | 高 | | **CHARACTER** | 角色外观不一致(发型、伤疤、面部特征变化) | 高 | | **MAKEUP** | 妆容/眉形/口红色/盘发等细节漂移(即便整张脸"像"也算穿帮) | 高 | | **TWIN** | 同一画面出现两个几乎一模一样的角色(双胞胎问题) | 高 | | **PROP** | 道具变化(武器形状、数量、位置不一致)或道具与参考图不符 | 中 | | **SCENE** | 场景布局不一致(柱子数量、墙壁颜色变化)或人物站位与场景空间不符 | 中 | | **VOICE** | 角色音色变化(同一人物不同 clip 听感不同、性别错乱、口音切换) | 高 | | **BINDING** | prompt 中角色/道具出现时缺少 `@图片N` 绑定,导致模型无法锚定参考图 | 高 | | **DETAIL** | 其他细节(月亮形状、光照方向不一致) | 低 | **音色检查方式**: ```bash # 抽取每个 clip 的音轨片段做比对 mkdir -p analysis_audio for clip in 视频_Clip*.mp4; do stem="${clip%.mp4}" ffmpeg -y -ss 6 -i "$clip" -t 6 -vn -acodec libmp3lame -q:a 2 "analysis_audio/${stem}_voice.mp3" done # 人耳过一遍,或者上传到 ASR/声纹比对工具 ``` ### Step 3:生成修复计划 每个穿帮点的修复方式: | 修复方式 | 适用穿帮类别 | 操作 | |----------|---------|------| | **REGEN** | CHARACTER / MAKEUP / PROP / SCENE / DETAIL | 修改 prompt 强化对应锚定块 + `clip-regen` 重新生成 | | **REGEN-CHAIN** | 同一处穿帮波及连续多个 clip | 修改 prompt 后用 `clip-chain-regen` 链式重生(默认 ref_video 衔接) | | **VOICE-FIX** | VOICE 类穿帮 | 用第 1 个 clip 提取音色样本 + `clip-regen --voice-asset <id>` 重生该 clip;同时在 prompt 中补充音色特征描述词 | | **BINDING-FIX** | BINDING 类穿帮 | 检查 prompt 中所有角色/道具是否都用了 `@图片N` 格式,补全遗漏的绑定 | | **TWIN-FIX** | TWIN 类穿帮 | 在 prompt 末尾追加"视频全程不要在同一画面中复制相同人物,不要多人同脸";检查是否使用了三视图(禁止);确保每个角色有独立的面部特写参考图 | | **TRIM** | 叙事泄漏(clip 尾部多余内容) | `changdu clip-trim --trim-tail Xs` 裁剪 | **不使用** FFmpeg 调色、xfade 转场等后处理。这些操作会破坏音频、引入新的不一致。 输出修复计划: ``` 修复计划: - Clip003: TRIM(尾部 2s 叙事泄漏) - Clip004: REGEN-MAKEUP(眼影色变化 → 强化【妆造锁定】+ 加 ref_video 抽 Clip003 尾段 + 重生) - Clip005: VOICE-FIX(女主音色变粗 → 加 --voice-asset asset-qingluo-voice 重生) - Clip006: REGEN(主角缺失 → 修改 prompt 确保主角全程在场) - Clip007-009: REGEN-CHAIN(连续 3 段服装色差 → clip-chain-regen --continuity-mode ref_video) ``` ### Step 4:提示词预检 修复前先检查所有 prompt 质量(含妆造/音色/视频参考三条新规则): ```bash changdu prompt-optimize --dir ./ --check ``` ### Step 5:执行修复 #### 5.1 重新生成(REGEN)— 穿帮修复的核心方式 先修改 `视频_ClipXXX.prompt.txt`,根据穿帮类型强化对应约束块: - **角色穿帮(CHARACTER)** → 在【角色锚定】中更精确描述当前状态 - **妆造穿帮(MAKEUP)** → 把妆容/发型/五官精修拆出独立【妆造锁定】块,写明眉形/眼影/口红/盘发 - **道具穿帮(PROP)** → 在【道具锁定】中明确形状/数量/位置 - **场景穿帮(SCENE)** → 在【场景锁定】中增加更多固定细节 - **主角缺失** → 在分镜描述中每个时段都明确提及主角 然后用 Seedance 重新生成。**CHARACTER / MAKEUP 类穿帮强烈推荐使用 `--prev-clip` 自动抽尾段做 reference_video,再叠加 ref_image 做"双锚定"**,效果远胜单首帧: ```bash changdu clip-regen \ --clip 4 --prompt-dir ./ \ --asset <角色三视图ID> --asset <场景ID> \ --prev-clip ./视频_Clip003.mp4 \ --prev-tail-seconds 5 \ --voice-asset <音色样本ID> \ --prompt-header '图片1是男主三视图,图片2是场景。视频1 是 Clip003 尾段,请保持人物外观、妆造与位置连续。' \ --ratio 16:9 --duration 15 ``` 重新生成后,再次提取关键帧确认问题已修复。 #### 5.2 链式重生(REGEN-CHAIN) 当连续多个 clip 都被同一处穿帮污染时,用 `clip-chain-regen` 一次性重生: ```bash changdu clip-chain-regen \ --clips 7,8,9 --prompt-dir ./ \ --asset <角色三视图ID> --asset <场景ID> \ --regen-prev \ --continuity-mode ref_video \ --voice-asset <音色样本ID> \ --prompt-header '图片1是男主三视图,图片2是场景。' \ --ratio 16:9 --duration 15 ``` #### 5.3 音色修复(VOICE-FIX) 第 1 步——若还没有音色样本,从最早一段音色正确的 clip 提取并入库: ```bash changdu voice-asset-from-clip \ --input ./视频_Clip001.mp4 \ --group-id <主角素材组ID> \ --start 6 --duration 8 # 输出:音色 Asset ID: asset-xxxxx ``` 第 2 步——给穿帮的 clip 重生时加 `--voice-asset` 或 `--ref-audio`: ```bash changdu clip-regen \ --clip 5 --prompt-dir ./ \ --asset <角色三视图ID> --asset <场景ID> \ --voice-asset asset-xxxxx \ --prev-clip ./视频_Clip004.mp4 \ --prompt-header '图片1是女主三视图。视频1 是 Clip004 尾段,仅作妆造与位置参考。音轨1 锁定女主音色。' \ --ratio 16:9 --duration 15 ``` 同一集后续如果仍出现 VOICE 漂移,建议直接走链式: ```bash changdu clip-chain-regen --clips 5,6,7 --prompt-dir ./ \ --asset <角色ID> --voice-asset asset-xxxxx \ --continuity-mode ref_video --ratio 16:9 --duration 15 ``` #### 5.4 裁剪叙事泄漏(TRIM) ```bash changdu clip-trim \ --input 视频_Clip003.mp4 \ --output 视频_Clip003.mp4 \ --trim-tail 2.0 ``` ### Step 6:重新拼接 用 `clip-concat` 拼接所有 clip(保留完整音视频): ```bash changdu clip-concat \ --input-dir ./ \ --output 最终版.mp4 ``` ### Step 7:二次审查 对修复后的视频重复 Step 1-2(含音轨抽取),确认问题已解决。最多迭代 2 轮。 ## 修改 prompt 的要诀 1. **角色锚定**:在 prompt 开头明确当前外观状态(如"束冠短发,左颊有血痕,右手持单刀") 2. **@图片N 绑定**:确保 prompt 中每次提及角色都用 `角色名@图片N` 格式,每次提及道具都用 `道具名@图片N` 格式,绝不能省略 3. **妆造锁定**:把眉形 / 眼影 / 口红 / 盘发 / 鬓角等细节单独成块,避免被其他描述淹没。角色有妆造变化时,确保使用对应妆造的参考图 4. **道具锁定**:明确列出每个角色手持/佩戴的道具及尺寸形状;有道具参考图时在 prompt 开头绑定(如「图片4为U盘道具参考」) 5. **场景锁定**:用固定短语描述场景,同一场景的 clip 使用完全相同的描述;有场景360度视频时通过 `--ref-video` 传入 6. **范围限制**:只描述当前 15 秒内的事,加"本段仅展示上述动作" 7. **否定约束**:对容易出错的细节加否定描述 8. **反双胞胎**:多角色同画面时加"视频全程不要在同一画面中复制相同人物,不要多人同脸" 9. **主角在场**:每个时段的分镜描述中都要提到主角的动作/位置 10. **音色锚定**:凡有台词必须显式声明 `reference_audio: <voice_asset_id>`,并在生成命令侧 `--voice-asset` 传入。prompt 中必须加音色特征描述(如"低厚温润中年男声的音色"),不只写"音频N的音色" 11. **视频参考说明**:传 `--ref-video` 时必须用一句自然语言说明每个参考视频的语义角色("视频1 是上一段尾部,仅作外观与位置参考,不要复刻其运镜") 12. **参考图分工**:每张图只承担一种职责(面部/全身/场景/道具),禁止混用 ## 关联技能 - `storyboard-to-seedance-prompt`(提示词规范,含妆造/音色/视频参考三块) - `novel-to-video`(整体工作流) - `asset-management`(音色样本与视频参考素材入库) - `changdu` CLI 命令: - `clip-extract-tail`:抽前段尾段做 reference_video - `voice-extract` / `voice-asset-from-clip`:抽音色 / 一键入库 - `clip-regen`:用 Seedance 重新生成穿帮 clip(支持 `--prev-clip`、`--voice-asset`、`--ref-video`、`--ref-audio`) - `clip-chain-regen`:链式重生(默认 `--continuity-mode ref_video`) - `clip-trim`:裁剪叙事泄漏 - `clip-concat`:拼接成片(保留音视频) - `prompt-optimize`:提示词质量检查(含妆造/音色/视频参考三条新规则)
GitHubで見る