mcpField
B
broll-match-engine

broll-match-engine

github.com/postplusai创意与媒体27283 次安装1 天前更新
代码仓库

关于 broll-match-engine

用于为口播视频的语句节拍匹配 B-roll 候选素材,并生成逐拍匹配计划。它会评估素材的证明价值,也可建议保留 A-roll,而非勉强切镜。

主要功能

  1. 01生成逐拍匹配计划
  2. 02按契合度和证明力排序
  3. 03判断何时保留 A-roll
  4. 04建议备用素材和关键词叠加

适用场景

  1. 01规划口播节拍的切镜
  2. 02为具体论点寻找证明素材
  3. 03找出缺少合适 B-roll 的节拍

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/postplusai/postplus-skills --skill broll-match-engine

安装后在 Claude Code 中输入/broll-match-engine确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

_postplus_shared/00-core/shared-runtime/scripts/
download_videos_from_manifest_with_ytdlp.mjs
postplus_workspace.mjs
_postplus_shared/00-core/shared-runtime/scripts/lib/
hosted_execution_protocol.mjs
local_skill_cli.mjs
creative_format.mjs
postplus_cli_config.mjs
network_runtime.mjs
hosted_media_generation_bridge.mjs
postplus_workspace_runtime.mjs
hosted_billing_summary.mjs
execution_approval.mjs
postplus_cloud_client.mjs
skill_runtime.mjs
_postplus_shared/40-creative/b-roll-family/references/
edit-enhancement-contract.md
skill-architecture.md
contracts.md
scripts/
run_match_broll_plan.mjs

详细介绍

B-roll 匹配引擎

遵循以下共享的公开技能规则:

  • postplus-shared 公开技能规则

当用户想要将一段出镜讲解剪辑匹配到候选 B-roll 素材时,使用此技能。

此技能应生成结构化匹配方案,而非含糊的创意概述。

默认输出:

  • broll-plan.json

可选的辅助输出:

  • Markdown 匹配摘要
  • 节拍审核表
  • 候选素材排名表

适用场景

  • 判断哪些口播节拍需要 B-roll
  • 将某个节拍匹配到最合适的现有证明片段
  • 判断何时应保留 A-roll,而非切出画面
  • 识别缺失的证明画面
  • 为匹配结果添加关键词强调或运动提示元数据

触发信号

当用户提出以下需求时,使用此技能:

  • 哪些 B-roll 应与这些口播台词匹配
  • 帮我匹配素材
  • 应该在哪里切到屏幕录像或证明画面
  • 怎样更合理地为这段出镜讲解视频添加 B-roll
  • 给我一份 B-roll 方案

如果用户还没有可用的 B-roll 素材清单,请勿使用此技能。

应先转到:

  • skills/40-creative/b-roll-family/broll-catalog-builder

阅读以下参考资料

  • 技能系列架构:../references/skill-architecture.md
  • 共享约定:../references/contracts.md

必要时可使用以下现有本地技能:

  • 专用视觉分析工作流
  • skills/40-creative/editing-decision-engine

核心原则

不要只根据关键词重合度进行匹配。

好的匹配取决于:

  • 节拍含义
  • 证明需求
  • 视觉支持类型
  • 节奏需求
  • B-roll 的质量

最合适的素材不一定是字面上最相似的素材。

有时,合适的选择是:

  • UI 证明片段
  • 工作流衔接片段
  • 节奏重置片段
  • 或完全不使用 B-roll

首选输入

必需:

  • normalized-transcript.json
  • broll-catalog.json

强烈建议:

  • chunked-<mode>.json

可选但价值很高:

  • A-roll 语义分析
  • 参考剪辑模式
  • 目标平台
  • 预期输出时长

工作流

1. 构建节拍单元

优先使用字幕分块或剪辑节拍,而非原始转录片段。

对每个节拍,记录:

  • 口播文本
  • 时间信息
  • 节拍作用
  • 视觉需求
2. 评估 B-roll 需求

并非每个节拍都需要切出画面。

对每个节拍,判断:

  • 保留人脸画面
  • 使用辅助 B-roll
  • 使用主要证明类 B-roll
  • 仅使用轻量的视觉重置
3. 为候选素材排序

对于需要 B-roll 的每个节拍,根据以下因素为候选素材排序:

  • 语义匹配度
  • 支持作用匹配度
  • 证明力度
  • 节奏匹配度
  • 视觉清晰度
  • 可用片段范围质量

每个候选素材都应附上通俗易懂的理由。

4. 整理匹配结果

构建 broll-plan.json,包含:

  • 节拍元数据
  • B-roll 需求判断
  • 候选素材列表
  • 备选方案
  • 关键词叠加建议
  • 运动提示

最简脚本

首个实现脚本:

  • scripts/run_match_broll_plan.mjs

当前首版行为:

  • 读取 chunked-<mode>.json
  • 读取 broll-catalog.json
  • 将字幕分块视为节拍单元
  • 根据口播文本推断 beatRole 和 visualNeed
  • 使用基于以下内容的保守启发式规则为 B-roll 候选素材排序:
    • 口播关键词
    • 素材目录中的 semanticTags
    • 素材目录中的 supportRoles
  • 写入 broll-plan.json

示例:

node ${CLAUDE_SKILL_DIR}/scripts/run_match_broll_plan.mjs \
  --chunks /abs/path/chunked-basic.json \
  --catalog /abs/path/broll-catalog.json \
  --output <work-folder>/broll-plan.json

公开技能执行约定

  • 将节拍分块、候选素材排名和中间匹配方案保存在 <work-folder>/.postplus/broll-match-engine/ 下
  • 仅将最终面向用户的 broll-plan.json 或审核导出文件保存在 .postplus/ 之外
  • 先使用一份转录文件和一个素材目录进行范围明确的首轮处理,再开展更广泛的剪辑规划
  • 如果必需的上游输入缺失或无效,立即停止,不要改用临时拼凑的 shell 命令
  • 匹配前,确认转录节拍包含时间戳,且素材目录候选项包含 semanticTags;如果任一项缺失,应直接报告缺失字段,不要猜测匹配结果

输出标准

高质量的输出应能让人工编辑回答:

  • 从哪里剪切
  • 剪到哪里
  • 在该画面停留多久
  • 如果首选片段效果不佳,有什么备选方案

如果输出无法指导实际剪辑,就不够具体。

首个版本的范围

优先考虑:

  • 可解释的候选项排序
  • 节拍级 JSON
  • 可选的 Markdown 审阅内容

不要要求:

  • 完全自动化的时间线组装
  • 导出到 NLE
  • 保证语义匹配完美无误
  • 渲染动态图形

审阅规则

始终区分:

  • 关键证据
  • 有用的辅助素材
  • 可选的填充素材

如果素材清单中没有有力的证明性画面,计划应直接说明。

评论

支持 Markdown