NikoWang读者登录IDEAS
PRODUCTS
WORK
全部文章
设计笔记

做一条视频,有必要每一步都用 AI 吗?

只改一句旁白,声音、字幕和后面的画面却都可能要跟着调整。哪些地方需要模型重新判断,哪些可以让程序接着做?把这次修改的其他开销也算上,才知道少用 Token 是否划算。

0%

假设有一条介绍书店的视频,用几张门头、入口和阅读区的照片,配上旁白与字幕。现在只想改介绍入口的那句话。照片不用换,看起来应该是个小修改。

可声音重新生成以后,还会和原来一样长吗?字幕能不能继续用?入口照片多停一会儿,后面的画面又该从哪里开始?一句话改下去,很快就会碰到不止一句话的事情。

这份方案尚未实现,没有样片,也没有基准测试,书店视频是用来推演设计的假设。我的设想是让模型先看懂素材和要表达的内容,把决定写进配置,再由程序接着合成。“低 Token”是想验证的目标。这里编排的是已有素材,与灵刻相关的生成式视频探索不同。

先把这张照片怎么用说清楚

假设门头照的店名在左上方,画面要缓慢拉近入口,同时保留店名。模型需要看懂位置关系,也需要知道为什么那几个字不能被裁掉。程序要拿到素材引用、聚焦区域、保留范围和移动方式这些参数,才能按这份安排处理图片;写清楚了,人也可以检查。

“镜头要有电影感”还不够。程序没有从这句话里得到该从哪里移到哪里的安排。如果后面每个步骤都重新拿着原始需求问一次模型,又可能各自得到不同的决定。我想把旁白、字幕和 visual_intent——这一段画面要表达什么——一起留在场景配置里,后面就按这份安排接着做。

FFmpeg 的 zoompan、xfade、subtitles 等滤镜,可以处理静图平移缩放、转场和字幕合成,使用时仍需满足各自的输入要求。[2] 配置明确后,程序就能调用相应滤镜处理画面。至于该保留店名,还是突出门口的其他内容,需要前面先决定。

这也限定了适合它的内容:已有照片足以支撑的讲解。平移和缩放改变的是照片怎样呈现,不能生成照片里的人物动作或真实的三维变化。若要人物转身、物体变形或一个新的视角,就得考虑其他制作方式。把照片拉近,照片里的人并不会因此开始表演。

旁白改完,先生成声音,再排时间

现在回到开头的小修改。假设初版已经按这套安排做出,我们只改介绍入口那一段的措辞,照片和表达目标都保持不变。

新的旁白需要通过 TTS(文字转语音)生成音频。字数差不多,声音也未必一样长:语速、停顿和发音方式都会影响实际时长。因此,这份设计应当先生成音频,再测量它。ffprobe 可以读取媒体信息,帮助确认实际文件及其时长。[1] 字数可以用来估计,最终时间轴仍要依据生成出来的声音。

知道整段多长,还不知道每句话在哪一刻说出。字幕要重新对齐真实音频,检查断句、漏字和阅读时间。直接沿用旧时间标记,可能字幕已经翻到下一句,声音还停在上一句。音频没有生成或对齐失败,也该在这一环停下来报出问题,不能等到最后靠播放成片才发现。

然后才轮到入口照片。如果这段旁白变长了,照片是不是多停留一会儿?拉近的动作应当放慢,还是先完成移动,再停住等声音说完?已有规则能处理的,可以交给配置和程序;没有合适安排的,再请模型或创作者判断。

照片没换,时间却可能已经不对了。

这一段长度改变,后面场景的起始位置、相邻转场和最终合成都可能要更新。变化从一句话出发,经过音频、字幕和画面时序,一路传到了成片。先按字数固定镜头,再盼着旁白刚好说完,就可能一段话还没说完,画面已经切走,另一段却留了过长的空白。

上次做好的东西,哪些还能留下

当然,不应该因为改了一句旁白,就把所有东西重新做一遍。原始照片没有变,可以留下;新旁白需要新音频;依赖声音的字幕时间要更新;依赖时长的画面安排也要重算。一个结果要不要重做,得看生成它的材料和参数变了没有。

缓存要解决的正是这件事。如果系统只记得“门头照片没换”,就直接复用旧视频片段,连不合适的时长也会一起留下。原始图片可用,不等于用它渲染的旧片段也可以原样接回来。

还要多看一层:我们为什么用这张照片。如果修改从“介绍入口”变成了“展示室内氛围”,即使两段旁白碰巧一样长,门头照也可能需要换。只比较文件和时长的缓存看不见这个变化,所以表达目的也应保留在配置中。

这份设计还需要记下每次改动:哪些旧结果已经不能用,哪些还能留下。只重做受影响的部分,最后仍要看一遍视频,检查重点有没有被裁掉、字幕是否遮挡、音画是否配合。旧结果留下得再多,拼出一条对不上的视频,也算不上节约。

最后省下的,究竟是哪一笔

按这套设想完成一次修改,模型也许只需要作很少的判断,Token 消耗不高。可 TTS 仍然需要生成新声音,字幕仍要对齐,视频也可能再次渲染。若主要开销在这些步骤,或在人工检查上,模型少调用几次,总成本未必有明显变化。

我会把模型 Token、TTS 费用、渲染耗时,以及准备素材、检查和返工的人工时间分开记录。首次制作与单处修改也分开看。把第一份配置写清楚,可能要多花点工夫;后面真能沿用,才有机会省下工作。失败的尝试和重复渲染也会记进去,不能只挑最便宜的一次调用。

有时,前面多请模型判断一次,发现店名会被裁掉,可能比渲染结束后重做更划算。这次多花的 Token,也得和它可能省下的返工一起比较。比较不同方案时,清晰度、可读性和音画一致性的要求也应相同;内容少做一点、质量降一点,不能算这种分工更高效。

我想省下的是每次改一句话,都把同一份需求从头想一遍的工作。至于书店的名字有没有留在画面里,旁白和字幕有没有对上,这些事一件也不能靠少用 Token 省掉。

阅读补充

参考与延伸

  1. FFmpeg:ffprobe Documentation

    媒体信息与时长的读取。字幕对齐还需要依据实际音频另行处理。

  2. FFmpeg:FFmpeg Filters Documentation

    zoompan、xfade 和 subtitles 等滤镜的能力与输入要求。