cv.cm

AI · AI视频

怎样让AI视频在多个镜头之间保持一致?

阅读约 7 分钟

简短回答

在生成之前,先把不该变的东西固定下来:一张角色参考图,一套服装和场景描述,一种光线布置,一种色彩风格。然后用这些参考逐个生成镜头,把上一段的最后一帧当作下一段的第一帧来衔接,再用动作剪辑等手法掩盖剩下的细小差异。

镜头为什么会越拍越不一样

视频模型生成每个片段时,都是从随机噪声出发,把它变成符合提示词的画面。同一条提示词的两次生成,起点的噪声不同,所以脸会有细微差别,外套的纽扣不一样,演员身后的窗户也不同。在一个片段内部,模型能同时看到所有帧,所以保持稳定;而在两个独立的片段之间,它完全没有记忆。

研究人员也描述过同样的断层。论文 Long Context Tuning for Video Generation(2025)指出,能生成长单镜头的模型,仍然很难生成连贯的多镜头场景,并提出把模型的注意力扩展到一个场景的所有镜头,让它学会场景级的一致性。一些商用模型现在宣传原生的多镜头生成,比如 Seedance 1.0 技术报告就把主体一致的多镜头叙事连贯性列为一项功能。

原生多镜头功能有帮助,但就目前而言,只限于一次生成内部的短序列。一部短片或一集内容,仍然要由许多次生成拼成,所以下面的方法依然是工作的核心。

什么必须保持不变:连贯性清单

剧组会记录连贯性笔记(continuity notes),好让分几天拍摄的一场戏看起来像是同一时刻。在写任何提示词之前,也这样做。下面每一行,都是一段固定的简短文字,或者一张可以原样重复使用的参考图。

要素如何锁定典型的失误
脸和身形一张参考图,加一段固定文字(年龄、发型、体型)镜头之间脸型或年龄变了
服装写明具体的衣物和颜色,逐字复用外套颜色或领子变了
道具每件道具只命名并描述一次,始终在同一只手里手机换了手,或者消失了
场景一张场景参考图,加一段固定描述家具或窗户的位置变了
光线一句话:主光源、方向、时间一个镜头是白天,下一个就成了傍晚
色彩风格一段调色描述,最后在剪辑软件里统一调色一个镜头偏暖,下一个偏冷
画面方向记下每个角色朝向和移动的方向剪辑之后角色左右互换
声音每个角色一种声音,每个场景一层环境声音色或房间底噪变了

方法1:用参考图,不要只用描述

光靠文字,锚点很弱。“短黑发的女人”能对应上百万张脸。参考图是强得多的锚点,因为它固定了一张具体的脸。就目前而言,许多工具接受主体或角色参考图:比如 Google 的 Veo 文档就介绍了一种参考模式,使用一到三张人物、角色或产品的图片,让主体的外观在输出里得到保留。

先把参考图做好,用静态图,因为重试很快:

  1. 一张角色设定图:同一个人的正面、四分之三侧面和侧面,加上一张穿着最终服装的全身图,背景朴素。
  2. 为场景里的每个地点各做一张场景静帧,用最终的画幅比例。
  3. 如果某件物品对故事重要,再做一张关键道具图。

角色设定图要用平淡均匀的光线。参考图里带有强烈的彩色光,往往会被复制进每一个镜头,然后和每个场景自己的光线打架。

方法2:用帧来衔接镜头

两个镜头需要流畅衔接时,比如一个连续动作被拆成了两段,就用帧而不是文字来连接它们。

  • 尾帧衔接:导出镜头A的最后一帧,在图生视频中把它用作镜头B的第一帧。这样B的开头和A的结尾完全吻合。
  • 首尾帧:如果工具两者都支持,就给它镜头必须开始的那一帧和必须结束的那一帧,让模型补全中间的运动。当镜头C必须落在一个已经规划好的关键帧上时,这很有用。
  • 关键帧分镜:先用同一批参考图做出所有关键帧,放在一起检查,再逐个让它们动起来。

衔接是有代价的。小误差会累积:镜头A结尾稍微软一点的脸,会成为镜头B起始的脸,连续几环之后,角色就可能走样。每隔几个镜头重新锚定一次,用原始参考图做出的新关键帧开始,而不是用上一段的最后一帧。

方法3:让提示词共用固定的段落

把提示词看作若干固定段落,加一个会变的段落。镜头之间只有镜头段落在变。

[CHARACTER] Leo, a man in his 20s, curly brown hair, round glasses,
mustard-yellow knit sweater, dark blue jeans.
[LOCATION] Small bookshop interior, tall wooden shelves, one large front window.
[LIGHT] Late afternoon sun through the front window from screen right, warm tones.
[SHOT] Medium shot, eye level. Leo pulls a red book from the shelf and opens it,
facing screen left. Slow push-in.

下一个镜头,原样复制前三段,只替换 [SHOT] 段。如果故事转到新的地点或新的时间,就写一次新的 [LOCATION] 或 [LIGHT] 段,之后一直复用它。

方法4:在剪辑里藏起无法修复的部分

即使用了参考图,仍会剩下一些差异。剪辑师长期以来有一些技巧,能让细小的不匹配看不出来:

  • 动作剪辑(cut on action)。在动作进行到一半时切,眼睛会跟着运动,从而忽略细节。
  • 每次切镜都改变景别。全景接特写,能掩盖不同的背景;两个连续的中景则会暴露它。
  • 使用插入镜头和切出镜头(cutaway)。手部、物件或环境的镜头,让观众在两个人脸镜头之间喘口气。
  • 整段序列一起调色。在所有片段上统一做一次色彩校正,让光线感觉一致。
  • 在剪辑点之下铺一条连续的声音。贯穿多个镜头的房间底噪或音乐,会让它们感觉像是同一时刻。

发布前的质量检查

把序列看三遍,每遍只找一类问题:

  1. 身份:在每张脸上定格,与参考图对比。检查年龄、眼睛颜色、发际线、眼镜和疤痕。
  2. 物体:逐个镜头追踪每件道具和服装。检查哪只手拿着什么。
  3. 空间与时间:检查画面方向、光线方向和窗外的天气。

只重新生成不合格的镜头。为每个通过的镜头记录参考图、提示词和设置,这样以后才能做出风格匹配的替换镜头。

常见问题

可以用种子数字来保持镜头一致吗?

固定的种子加固定的提示词,在同一款工具里可以复现相近的结果,但新镜头的提示词一变,输出也会跟着变。种子有助于重试,而不能保证不同镜头之间的一致。

是生成一个长片段好,还是生成许多短片段好?

单个长片段内部能保持一致,但你的控制力较弱。许多短片段更容易导演,也便于逐个修改。大多数叙事类作品都是用短片段在剪辑软件里拼接的。

如何让同一个镜头里的两个角色都保持一致?

为每个角色单独做一张参考图,并让他们的轮廓和颜色明显不同。尽量让他们在画面中分开,特写时则分别用每个人的单人镜头。

为什么我的角色的声音在不同片段之间会变?

能生成音频的模型,除非你提供声音参考,否则每个片段都会生成一个新的声音。要想可靠,就单独录制或生成对白,用一个固定的声音,再到剪辑里加进去。

要保持一致性,需要 LoRA 或自定义模型吗?

大多数短项目不需要。参考图加固定的提示词段落就够了。对于用开源模型做的长篇系列,训练一个角色模型会有帮助,但这需要时间,而且必须遵守模型的许可证。

全部AI教程