AB
AiBoss站
教程

EbSynth

教程

用 EbSynth 把关键帧画风迁移到整段视频

EbSynth 是一款免费的风格迁移工具:只要手绘或处理出一张关键帧,它就能把这张关键帧的画风按帧传播到整段视频序列。本文从素材准备、关键帧制作、序列导入、参数设置到结果导出,给出可复现的操作流程,并说明关键帧与实拍画面差异过大时的常见问题。

EbSynth 解决的是一个很具体的问题:你已经有了一段视频或渲染序列,也已经有了一张画风满意的图,但不想逐帧手绘。它的做法是拿这张图当关键帧(keyframe)作为引导,把关键帧的风格按时间顺序传播到整段序列的每一帧上,输出一组新的图像序列。适合的人群包括:做动画或三维渲染、想把 CG 画面转成手绘或油画质感的人;拍实拍素材、想给整段镜头套上统一画风的人;以及想先用少量手绘帧试水风格化效果、再决定是否投入更多工时的创作者。工具本身免费,具体版本、系统要求与授权条款请以官网当前信息为准。站内工具页见 EbSynth。

理解 EbSynth 的关键在于它不是逐帧独立做风格转换的滤镜。逐帧滤镜的问题是会闪烁:每一帧单独处理,帧与帧之间的笔触、色块位置对不上,播放起来画面会抖。EbSynth 的思路是让一张关键帧成为整段序列的"锚",其余帧通过匹配关键帧与当前帧之间的对应关系来继承关键帧的笔触,因此相邻帧的风格是连贯的。这也决定了它的工作方式:先有画好的关键帧,再有传播。关键帧画得越贴合原片的结构,传播结果越稳。

准备工作

软件与素材

  • EbSynth 本体。它是独立桌面程序,不需要装在三维软件里,也不需要插件。下载渠道与支持的操作系统以官网当前信息为准。
  • 一段源素材。可以是实拍视频,也可以是三维软件渲染出来的图像序列。素材需要先转成图像序列(逐帧的图片文件),因为 EbSynth 处理的是帧序列而不是视频容器文件。常见的做法是用视频编辑软件、合成软件或 ffmpeg 之类的工具把视频拆成 PNG 或 JPG 序列。
  • 一张关键帧。这是整条流程里唯一需要"创作"的部分,也是决定成败的部分。
  • 可选的辅助工具:图像编辑软件(用于在渲染图上手绘或叠加风格)、风格化生成工具(用于先给渲染图套一层画风,再在此基础上修整)。素材中演示的做法是先用三维软件渲染出一只鸭子的画面,再借助风格化生成工具得到类似梵高漩涡笔触的效果,最后在图像编辑软件里修整成关键帧。

素材的组织方式

动手前先把目录结构理清楚,后面会省很多事。建议按下面的方式摆放:

project/
  source/          # 源序列,按帧号命名
    0001.png
    0002.png
    0003.png
    ...
  keyframe/
    keyframe.png   # 关键帧,尺寸与 source 中的帧一致
  output/          # EbSynth 输出目录,留空

两条硬性要求:源序列的每一帧尺寸必须完全一致;关键帧的尺寸必须与源帧一致。尺寸不一致时,对应关系无法建立,结果会错位或直接失败。帧文件名建议用固定位数的连续编号(0001、0002……),避免排序错乱。

选哪一帧做关键帧

关键帧不必是序列的第一帧。挑选原则是:选一帧结构清晰、主体完整、遮挡少、运动模糊轻的画面。如果整段镜头里主体姿态变化很大,一张关键帧可能覆盖不了全程,这时可以把它切成几段,每段各配一张关键帧分别处理,最后把输出序列按顺序拼回去。这是控制质量最有效的手段,代价是多画几张图。

操作步骤

第一步:从源素材得到一张可画的底图

把选定的那一帧导出为图片,作为绘制关键帧的底图。如果源素材是三维渲染,直接渲染这一帧即可;如果是实拍视频,从序列里取出对应帧号的文件。底图的作用是提供构图和轮廓参考,最终关键帧要在这张底图上完成风格化。

第二步:制作关键帧

关键帧是 EbSynth 唯一的"风格来源",它上面的每一笔都会被传播出去。制作方式有两条常见路线:

  • 纯手绘:在图像编辑软件里以底图为参考层,新建图层手绘。优点是控制力最强,缺点是耗时。
  • 先生成再修整:把底图送进风格化生成工具,得到一张带目标画风的图,再回到图像编辑软件里修正结构错误——比如主体边缘被风格化工具糊掉、五官位置偏移、背景纹理侵入主体。素材中的鸭子案例走的就是这条路:三维渲染 → 风格化生成 → 修整成关键帧。

无论走哪条路,关键帧都要满足几点:主体轮廓与源帧对得上;明暗关系大致保留,否则传播后画面会失去体积感;笔触尺度与画面内容匹配,过细的笔触在运动镜头里容易碎,过粗的笔触会吃掉细节。关键帧保存为 PNG,尺寸与源帧一致。

第三步:在 EbSynth 中载入关键帧与源序列

打开 EbSynth 后,界面围绕三个输入组织:关键帧、源序列、输出目录。按顺序填入:

  1. 指定关键帧图片文件。
  2. 指定源序列所在目录,并确认序列的起始帧与结束帧范围。
  3. 指定输出目录。

载入后先检查帧数是否与预期一致。如果程序识别到的帧数明显偏少,通常是文件名编号不连续或位数不统一导致的排序问题,回到目录里改名即可。

第四步:设置关键帧在序列中的位置

EbSynth 需要知道这张关键帧对应序列里的哪一帧。这个位置决定了传播的方向和距离:关键帧之前的帧向前回溯,之后的帧向后推进。把关键帧放在序列中间,两侧的传播距离都会缩短,通常比放在首帧更稳。如果序列较长,建议分段处理,每段的关键帧放在该段中部附近。

第五步:调整参数并运行

参数的作用是控制"多大程度上相信关键帧"与"多大程度上保留源帧结构"之间的平衡。调整时按下面的顺序试:

  • 先跑默认参数,看整体结果。多数情况下默认值已经能给出可用的传播效果。
  • 结果出现明显错位或拖影时,说明关键帧与源帧的对应关系不够可靠,优先回去修关键帧,而不是一味调参数。
  • 结果过于"糊"、丢失源帧细节时,调整偏向保留源帧结构的设置。
  • 结果风格不够强、笔触被冲淡时,调整偏向关键帧风格的设置。

参数的具体名称、取值范围与默认值以软件当前版本为准,不同版本之间可能有差异。运行前确认输出目录为空或允许覆盖,避免旧结果混进新结果里。

第六步:检查输出序列

EbSynth 输出的是图像序列,不是视频文件。检查时不要只看单帧,要连续播放:

  • 逐帧看有没有突然跳变的帧,这类帧通常是传播失败的信号。
  • 连续播放看有没有闪烁,闪烁说明相邻帧的对应关系不稳定。
  • 重点看主体边缘、快速运动处、遮挡切换处,这三处最容易出问题。

发现个别坏帧时,可以只重跑出问题的那一段,或者把坏帧单独修掉再拼回序列,不必整段重来。

第七步:合成回视频

把输出序列按原帧率合成为视频,或直接导入合成软件继续做后期。合成时注意帧率与源素材一致,否则会出现速度变化。如果之前把长镜头切成了多段分别处理,这一步按帧号顺序把各段输出拼接起来。

一个完整示例

下面用一个最小可跑通的例子串起全流程。假设已有一段三维渲染的鸭子动画,共 120 帧,帧率 24fps,画面是带纹理的棋盘格地面加一只鸭子。

1. 拆帧与整理目录。把渲染结果按帧号导出到 project/source/,确认文件从 0001.png 连续编号到 0120.png,且每张图尺寸一致。

2. 选关键帧位置。取第 60 帧作为关键帧的底图,导出为 project/keyframe/base.png。选中间帧是因为它到序列两端的距离最短,传播误差累积最少。

3. 制作关键帧。把 base.png 送进风格化生成工具,得到一张带漩涡状笔触的图。回到图像编辑软件,以 base.png 为参考层,修正鸭子轮廓、眼睛位置和地面棋盘格的透视走向,把被风格化工具糊掉的边缘重新勾出来。另存为 project/keyframe/keyframe.png,尺寸与源帧一致。

4. 载入 EbSynth。关键帧指向 project/keyframe/keyframe.png,源序列指向 project/source/,输出目录指向 project/output/。确认识别到 120 帧。

5. 指定关键帧位置。把关键帧对应到序列第 60 帧。

6. 先用默认参数运行一次。跑完后在输出目录里得到 120 张图。

7. 连续播放检查。重点看第 60 帧附近与序列两端。如果两端出现明显拖影,说明单张关键帧覆盖不了全程,把序列拆成 1–60 与 61–120 两段,各用一张关键帧分别处理。

8. 合成。把输出序列按 24fps 合成为视频:

ffmpeg -framerate 24 -i project/output/%04d.png -c:v libx264 -pix_fmt yuv420p duck_stylized.mp4

如果输出文件名不是四位补零的编号,把 %04d 改成与实际命名匹配的模式。合成后与原片并排播放,确认时长、帧率、动作节奏一致。

注意事项

关键帧质量决定上限

EbSynth 做的是传播,不是修复。关键帧上画错的结构会被忠实地传播到整段序列,而且越往后越难纠正。所以时间应该主要花在关键帧上:轮廓对齐、明暗关系、笔触尺度,这三项没做好,调参数救不回来。

关键帧与源帧差异过大时会失败

如果关键帧的风格化程度过高,导致主体结构已经和源帧对不上——比如把鸭子的头画成了完全不同的形状——传播就会在结构匹配上失败,表现为画面撕裂、色块乱飞或整帧崩坏。风格化要在"看得出是同一个主体"的前提下做。

长镜头要分段

单张关键帧能稳定覆盖的帧数有限。镜头越长、主体姿态变化越大、镜头运动越剧烈,误差累积越明显。分段处理是常规做法,不是补救手段。分段时注意相邻两段的衔接处,必要时在衔接帧上多检查几遍。

输出是图像序列

不要期待直接得到视频文件。输出目录里是一堆图片,需要自己合成。这也意味着磁盘占用会明显增加,长序列要预留空间。

尺寸与命名必须严格一致

源序列各帧尺寸不一致、关键帧与源帧尺寸不一致、帧号不连续、文件名位数不统一,都会导致载入失败或结果错位。这些是最高频的低级错误,动手前花两分钟检查目录能省下大量返工。

免费不等于无限制

EbSynth 可以免费使用,但授权范围、是否允许商业用途、不同版本之间的功能差异,请以官网当前信息为准,不要依据旧教程里的说法做判断。软件版本更新后界面与参数也可能变化,操作时以实际界面为准。

风格化生成工具只是中间环节

用生成工具快速得到一张风格图是提高效率的手段,但生成结果通常需要人工修整才能当关键帧用。直接把生成结果丢进 EbSynth,往往会在结构匹配上出问题。生成工具的输出质量、可用额度与收费方式同样以各自官网当前信息为准。