ai-ugc-video-pipeline 是做什么的?
AI 主持人营销短视频(主持人口播 + 真实产品素材 + 字幕)存在一系列特定的故障模式,这些故障直到你在真实设备上播放最终文件时才会显现——而在 ffprobe 或脚本中跳转时间线时则不会被发现。这是一个带门控机制的管线,能在交付前捕获这些问题,还包括两个即便你已知晓也容易再次引入的音频 Bug。
何时使用
- 制作一个短视频(竖屏,9:16)AI 主持人产品/营销视频。
- 重新剪辑或迭代现有的视频。
- 任何通过 ffmpeg 组装 AI 生成的主持人口播素材 + 真实屏幕录制 + 生成字幕的管线。
不可妥协的阶段顺序——每个阶段都是下一阶段的必要条件
- 准备(在条件满足前不花一分钱)。 研究你主持人/语音生成模型的当前市场情况(这些 API 的定价和端点每月都在变动——在投入开销前,请对照实时提供商文档进行验证)。编写几个脚本变体,让文本评审挑选一个,准备好你的面部/语音参考素材(需获得该身份对应的真实、文档化的同意),录制你将合成的真实产品素材,并编写评审标准以及一个硬性预算上限,之后才能开始花钱。
- 校准。 首先生成一个简短的、低成本的片段,以验证构图和身份接受度,然后再投入全长的录制。如果构图错误,请修正你提供给模型的参考图像,而不是更换模型。
- 生成。 最小化、有目的的录制。只有在有证据表明某个提供商/模型表现不佳时才进行 A/B 测试——不要批量发送请求。一旦评分趋于稳定则停止生成;限制付费迭代次数(例如,除非评分仍在上升,否则在 2 次后停止)。
- 组装。 对于最终组装,使用 ffmpeg 的 concat 滤镜,而不是分离器(原因见下文音频 Bug)。每次重建都使用新的文件名——切勿原地覆写,这样你总能与上一个好版本进行对比。
- 验证。 运行你的媒体验证门控(下文详述)以及每个脚本/字幕/文案资产的文本/诚实性预检。任何门控失败则不允许交付。
- 交付。 将文件交给人工进行最终审批,并附带一份简短的评分/备注文档。发布到任何平台始终是人工门控的决定——绝不要自动发布。如果主持人是一个逼真的合成形象,即使你已单独决定在视频中包含 AI 内容披露,也请使用平台的 AI 内容披露开关。
若不防范,会无声无息地导致成品出现问题的两个音频 Bug
- 某个片段的音轨比视频轨短(配音在视频片段结束前就结束了)。在使用 stream-copy 进行 concat 时,音频时间线会偏移,最终导致在文件播放中途音频提前失效。修复方法: 将每个片段的音频填充到与其视频长度匹配,并在拼接前将所有片段的采样率和声道数统一。
- 即使有填充,concat 分离器 也可能因为音频时长舍入而留下微小的(约 0.1 秒)数据包时序间隙。 直接解码的工具(如 ffmpeg、转录工具)可以顺利通过这些间隙且不会报告任何问题——但某些真实播放器会在遇到第一个间隙时停止音频输出,因此一个通过了自动检查的文件在实际观看者手中可能依然是坏的。修复方法: 最终组装使用单次传递的 concat 滤镜(而不是分离器),并强制对音频进行连续、无间隙的重采样。
可以捕获这两种 Bug 的探测方法: 扫描最终文件的音频数据包时间戳,查找任何大于约 50 毫秒的间隙。如同真实播放器一样验证媒体——即进行连续解码加上全文件转录——而不是通过跳转到时间戳进行采样,因为后者可能会在你试图捕获的那个间隙处静默地自动重新同步。
评审协议——LLM 评审会对媒体产生幻觉,需交叉验证它们
- 使用固定的、适度压缩的代理文件进行评分(过于激进的压缩会夸大伪影,使分数偏向于格式问题而非内容本身)。
- 在根据评审的关于音频的声明采取行动之前,请将其与确定性探测(转录 + 上述数据包间隙扫描)进行交叉验证。 评审称“有故障”可能是对的,也可能是错的,但理由可能都不对——不要凭感觉信任或忽略它;先运行确定性检查,然后再做决定。
- 对于 A/B 比较:使用相同的音轨、固定的标准、一致顺序,并强制使用严格的结构化输出——自由文本的评审意见更难采取行动,也更容易被理性化忽略。
- 预期待评审会比较严格。基于证据(所有确定性门控通过 + 真实人类的批准)交付,永远不要仅凭评审的裁决。
诚实性与安全性门控——将其编码为代码,而非凭感觉检查
在交付之前,对每个脚本/字幕/文案资产运行自动化预检:
- 不得对产品的功能或结果进行虚构声明。
- 不得在未获同意的情况下使用任何人的面部或语音——在使用任何真人的肖像生成前,需获取并记录真实的同意,并检查生成提供商自身关于基于身份生成的使用政策。
- 不得将实际生成/模拟的内容呈现为真实的用户成果。
- 任何不应公开的品牌或产品名称都应从脚本、字幕和发布备注中删除。
- 发布本身始终是一个独立的人工门控步骤——管线的职责止于“准备就绪,等待审核”,而不是“已发布”。
预算纪律
在准备阶段设定硬性上限,并保持运行账本(每次生成的估算与实际开销对比)。一旦评分趋于稳定就停止生成,而不是在收益递减后继续花费。提前做好预算,并根据证据(而不是“再来一次”的感觉)停止,是保持这条管线成本可控的关键。
如何使用
安装: 将此文件夹复制到 ~/.claude/skills/ai-ugc-video-pipeline/ 供个人使用,或复制到 项目仓库/.claude/skills/ai-ugc-video-pipeline/ 中。你需要自行接入你所选的主持人/语音生成提供商和屏幕录制工具——本技能提供的是门控方法论和来之不易的故障模式修复方案,而非特定供应商的集成。
调用方式:
带我走一遍 ai-ugc-video-pipeline 的“准备”阶段,用于一个 30 秒的产品演示视频——在生成任何内容之前,帮我编写脚本变体和预算账本。
我组装好的视频在某些播放器中播放到一半时音频会中断,但在 ffplay 中播放正常。使用 ai-ugc-video-pipeline 的音频 Bug 部分进行诊断和修复。