一条视频的 B-roll 怎么决定

方案 1 / 方案 2 / 方案 3 的生成、作用与安全降级 · 生产版本 2026-08-26
最终原则:画面必须能给文稿提供证据。宁可不用 B-roll,也不拿“差不多”的镜头硬配。系统严格按 方案1 → 方案2 → 方案3 → 主播讲述镜头递进;任何一级失败都不能拖垮整条视频。

一眼看懂:四级递进关系

方案 1
现有审核素材命中
把每句文稿翻成“画面需求”,先在当前已审核、已标注、可直接取用的 B-roll 库里找。
命中就使用
方案 2
授权来源持续补库
收割机持续采集授权来源,切镜、清洗、标注、审核后补进同一素材库,让以后更多画面需求能命中。
补充方案1的库存
方案 3
原素材参考生成
前两层仍没有合适镜头时,只补一个最关键缺口;参考图和动作都来自当前任务的原素材视频。
单格 H3 ref2v
最终兜底
主播讲述镜头
方案3没生成成、参考不干净或预算不足,直接回主播镜头,整条视频继续完成。
稳定优先
重要口径:方案2不是让每条视频停在现场等待下载十条素材。它是后台供应链:持续把授权来源变成合格库存;生产任务读取最新库存匹配。方案1与方案2在生产端共同形成“先用真实素材”的前两层,仍未命中才调用方案3。

进入三个方案前,系统先做什么

  1. 文稿切句:配音被拆成有明确起止时间的字幕格。
  2. 句子对回正文:每条字幕必须确定来自哪一段正文,不能用上一句话的画面需求。
  3. 生成画面需求:正文为每句提供可见的画面意图,例如“工人给柜门安装铰链”,而不是只拿整句文案模糊搜索。
  4. 固定主播区:开头前两格和结尾一格强制主播讲述,不进入缺口,也不调用生成。
  5. 逐句留证:最终写出“文稿、画面意图、实际画面、匹配分、命中理由”的逐句对照表,审片时可定位。

方案1:现有审核素材匹配

输入

当前句子的画面需求、该字幕格需要的时长,以及当前任务已经用过的素材段和源片。

输出

一段已审核 B-roll、对应 R2 文件、匹配分和“为什么对得上”的证据。

作用

优先复用真实画面,不增加生成费用;同时尽量减少主播口型生成秒数。

先过安全闸,再谈匹配

硬条件当前生产要求挡住什么风险
已审核approved = 1未审、模糊、隐私或判断不明的片段
没有人脸has_face = 0别人的脸进入客户成片
字幕干净无字,或已有通过验证的干净版本原字幕和新字幕叠在一起
没有品牌/水印标记has_brand = 0has_watermark = 0账号、门店或平台身份混入
文件真实可取必须存在 R2 文件;下载后再验视频轨数据库说“有”,实际文件坏了或打不开

怎么判断“画面与文稿对得上”

命中
下载该素材段 → 验证视频轨 → 按字幕格时长裁切/轻微变速 → 精确对齐帧数 → 进入成片。
没命中
登记为 broll_gap,不拿低分第一名硬凑,继续看方案2已有补库成果;仍无合适库存才进入方案3。

方案2:授权来源采集、清洗和补库

输入

明确授权的来源队列,以及方案1长期记录的素材缺口类型。

产物

切分后的候选镜头、视觉语义标注、审核状态、可检索片段和 R2 文件。

作用

用真实行业画面扩大方案1的命中面,减少未来任务进入付费生成或退回主播的次数。

后台补库流水线

授权来源入队 → 下载原视频 → 镜头切分 → 字幕 / 人脸 / 品牌 / 水印检测 → 视觉内容精细标注(主体、动作、物件、场景、事实、工序) → 安全与质量审核 → 合格段上传 R2 → 更新 broll.db 快照 → 新视频生产时由方案1检索使用
授权是前置条件:采集上限不是成功数量承诺。没有明确授权的来源不会为了凑数强行进入队列;采下来但没过安全或语义闸的镜头也不会进入可用池。

2026-08-26 首轮实际结果

5 / 5
授权队列实际可用 5 个来源,全部处理状态为 ok
28
切出的候选镜头
3
通过 B-roll 可用闸并进入可检索池

本轮任务参数上限为 10,但授权队列当时只有 5 个;另有 4 个镜头被识别为主播讲述类,保留为 A-roll,不冒充 B-roll。这里展示真实产物,不把“上限 10”写成“成功 10”。

夜间自动采集:已配置为每天北京时间 02:00启动一轮,固定 feed_limit=10source_limit=10。它只唤醒已经部署好的 Fly 收割机,不会每晚重新部署;上一轮仍在运行就安全跳过,授权队列为空则快速收工,完成后机器自动停机。GitHub 定时任务在高峰期可能延迟,所以“02:00”是计划触发时间,不承诺秒级准点。
补库后命中
后续视频按方案1同样的安全闸和语义闸使用该真实素材。
当前仍没货
当前视频不等待后台无限采集,进入方案3;缺口继续保留,供后续定向补库。

方案3:用当前原素材做 H3 参考生成

触发条件

当前视频存在真实 B-roll 缺口,并且方案1/2库存都没有合格匹配。

生成形式

MiniMax H3 ref2v,5 秒、768P;不是纯文生视频。

数量限制

整条视频最多生成 1 格,只补最前面的关键缺口。

参考素材怎么来

  1. 从任务书锁定的 当前视频原素材链接下载原视频;不使用主播底片,也不随机找网上素材。
  2. 从原素材中间位置截取一段 5 秒动作参考。
  3. 检测字幕带;若有字幕则裁掉底部字幕区域并补齐画布。
  4. 清洗后再次实测。仍检测到文字就停止方案3,不能仅凭“已经处理过”宣称干净。
  5. 从同一段干净动作视频的 20%、40%、60%、80% 位置抽取 4 张参考帧。
  6. 参考帧和动作视频临时放入私有对象存储,连同当前缺口的画面需求提交 H3 ref2v
  7. 生成 5 秒结果后,只裁取当前字幕格所需时长,并按帧数严丝合缝地放回时间轴。

预算和防重复调用

项目生产限制作用
单次 H35 秒 × $0.225/秒 ≈ $1.125调用前确认至少有这笔剩余预算
整单 H3 上限$5与口型费用合并核算,不能逐格合法、整单失控
生成格数最多 1 格避免多格独立生成造成空间、人设和光线不连续
幂等绑定提示词 + 参考帧 + 动作视频生成唯一摘要同样输入重跑时复用已付费结果,避免重复扣费
生成成功
该字幕格记为 B-roll,并明确证据来源是“原素材参考生成”,不是素材库命中。
任一步失败
包括下载失败、时长测量失败、字幕清洗未通过、抽帧失败、上传失败、生成失败或预算不足:全部关闭方案3,回主播讲述镜头。

三个方案怎么产生费用

成本不是三个方案各收一遍:每个字幕格只走到第一个成功出口。方案1/2命中就不调用方案3;方案3也失败才回主播。整条视频的画面账由“主播口型秒数 + 方案3生成格数”共同决定,方案2则是独立的后台补库成本。
方案什么时候产生费用当前可证明的单价/上限成本控制
方案1
库存匹配
读取本地 SQLite、做确定性检索、从 R2 下载已有片段。没有付费模型调用。单次匹配边际 API 成本 $0。R2 下载出流量免费;存储属于素材库公共底座。命中 B-roll 的秒数无需做主播口型,按当前口型价还会少花约 $0.0833/秒
方案2
夜间补库
收割机运行时产生 Fly CPU/RAM 机时;视觉标注调用 OpenRouter;新镜头占用 R2/Fly 卷存储。视觉模型代码估算约 $0.0005/张,但一条源片会拆成多少镜头、是否重试不固定。20GB Fly 卷约 $3/月;机器停机后 CPU/RAM 归零。每天最多喂10条、收10条;只收明确授权来源;已有 md5 与收件箱对象去重;跑完自停;上一轮未结束不并发。
方案3
H3 ref2v
只有前两层未命中且所有参考、预算闸通过时,才调用一次付费视频生成。5秒 × $0.225/秒 = $1.125;整条最多1格,H3整单硬上限 $5提示词+参考绑定幂等,同输入重跑复用已付结果;与主播口型费用合并预算,预算不足不调用。
主播兜底该字幕格回主播后,需要为这段主播画面做口型同步。当前口型价格 $5/分钟,即约 $0.0833/秒仍受整单剩余预算限制;B-roll 分支失败不会重复收取方案3费用。

一格画面的成本例子

方案2目前不能给出“每晚固定多少钱”:源片时长、切出的镜头数、视觉调用次数和重试次数都会变化。代码中的单图估算、机器规格和存储价可以证明,但首轮没有留下独立的 OpenRouter 余额差值账,因此本页不把估算冒充实付。夜间轮次会继续产出 fed / harvested / clips / 状态证据;要得到可靠的单条实付,还需接入按轮 OpenRouter 差值和 Fly 账单归因。

最终兜底:不用 B-roll,回主播讲述

以下情况都不会让整条视频失败,而是只让对应字幕格使用主播讲述镜头:

这不是“少做了一步”,而是产品策略:主播镜头至少保证“人说什么,画面就是这个人在说”;错误 B-roll 会直接给观众提供相反证据,所以宁可退主播,也不允许硬配。

一格画面的完整决策伪代码

如果是开头前两格或结尾一格: 使用主播讲述镜头 否则: 从已审核素材库检索(方案1;库存由方案2持续补充) 如果通过安全闸 + 工序闸 + 动作闸 + 语义覆盖: 使用真实 B-roll,并记录匹配证据 否则: 登记素材缺口 如果本条还没用过方案3,且预算足够,且当前原素材能产出干净参考: 用原素材的 4 张参考帧 + 5 秒动作段执行 H3 ref2v 成功则只补这一格 失败则使用主播讲述镜头 否则: 使用主播讲述镜头

怎么验证这次修复真的有效

要看什么通过标准不能误判成通过
文稿与画面逐句看,画面主体、动作、位置和文稿一致只因“都是装修画面”就算匹配
递进关系有真实素材优先;没有才生成;生成失败回主播方案3无缺口也启动,或绕过方案2
方案3参考参考图和动作都能追溯到当前任务原素材拿主播底片或不明来源素材充当参考
稳定性任何 B-roll 分支失败,整条视频仍能完成配置写对但真实任务中断
时间轴所有窗口帧数加总等于配音应有帧数容器总时长看似正确,但中途音画漂移
成本H3 最多 1 格,且和口型费用一起受整单预算限制每格分别未超预算,但全片累计失控

系统会为每条视频产出 visual-alignment.json:逐句列出文稿、预期画面、实际使用主播或 B-roll、匹配分和证据。新视频验收时,应把这张表与最终成片一起看,才能判断问题是文稿、素材、匹配还是生成。

为什么采用这个设计

当前上线状态

d660840
生产版本短 SHA
4317
回归测试通过数量
正常
生产探针、任务队列与三级降级链

上线证明表示代码、测试、部署和探针均成立;“销售反馈的画面与文稿不对应是否在真实成片中解决”,仍以新视频逐句验收为最终判据。

Akke 视频生产说明 · 生成于 2026-08-26 · 本页为公开链接,不包含密钥、客户隐私或内部操作凭据。