第一步:先圈出候选,而不是直接打分
对整段录像逐秒打分,成本高,也没有必要。通常的做法是先做粗筛,把明显不可能入选的时间扔掉。
举一个假设的场景:某射击游戏的两小时录像,有游戏日志可用。粗筛可以依据三类线索:日志里的击杀、爆破、残局等事件;画面里的剧烈变化,比如镜头骤转、爆炸特效;音频里的能量突增,比如欢呼与惊叹。三类线索取并集,再各自向前后扩出一小段,得到一批候选片段,假设有一百二十来个。此时还没有任何价值判断,只是“值得看一眼”的名单。
第二步:多模态打分
候选进入打分环节,单靠一种信号很容易被骗。
| 信号来源 | 能说明什么 | 容易被骗的地方 |
|---|---|---|
| 游戏数据 | 击杀数、血量差、经济与比分变化 | 数据漂亮但局势早已决出 |
| 画面 | 镜头运动、特效、技能释放 | 华丽特效不等于关键 |
| 音频 | 欢呼、惊呼、解说语气 | 背景音乐与噪声干扰 |
一个合理的设计是把各路信号归一化后做加权,同时引入“局势权重”:同样的三杀,发生在比分胶着的关键回合,权重高于一边倒时的收割。这也是为什么五杀不一定值得剪所讨论的核心。权重不必手工写死,可以先用规则起步,再用编辑们的取舍结果逐步校准。
举个示意的打分:候选A是一次一穿三的团战收尾,数据分高、音频分高,但当时己方已领先很多,局势权重低;候选B是落后时用一次残局一换一拖住对方,数据分一般,音频有明显惊呼,局势权重很高。最终B的总分可能反超A。规则起步时这类反超会少,一旦有了编辑的取舍记录,就能发现哪类局势应当加权,权重调整才有依据。
第三步:去冗余,比选出更难
打分排名靠前的片段常常长得很像:连续五个爆头、三段相似的残局。如果只按分数取前十,成片会变成同一种镜头的复读。所以要引入多样性约束。
一种做法是把语义相近的镜头合并成同一个“簇”,每个簇里只保留分数最高的代表,再从各簇里挑选。SVHighlights 这项工作面对的是平均约两小时的超长体育视频,采用的免训练方法思路与此相通:先把语义相近的镜头合并成片段,再用多模态语言模型给片段评分。对我们的场景而言,它提示了一件事:长视频里的先合并、后评分,比逐镜头单独打分更稳。
去冗余还要考虑“同一个人、同一张地图、同一种武器”这类维度上的分散,否则整段成片看起来像某一位玩家的个人集锦,却并非本场最重要的故事。
第四步:拼装成能讲故事的片段
选出的片段还不能直接首尾相接。要做的事情有:给每段补足事件前后的上下文窗口,避免关键前奏被切掉;按叙事顺序排列,可以是时间顺序,也可以把最精彩的放在开头做钩子;转场处保持镜头连续,避免生硬跳切;最后按总时长预算收缩,若超了,先砍分数低的簇,而不是均匀压缩每一段。
怎样判断排序是否靠谱
评估不必追求一个漂亮的总分,可以让人把同一批候选做成“必留、可留、不留”三档,再看系统排序与之重合的程度,重点看“必留”有没有被排到后面。假设有二十个必留片段,系统前三十名里漏掉了三个,就该回头查这三个的共同特征,是没有日志事件,还是音频信号太弱。
常见的翻车点
- 候选阶段漏掉了没有日志事件的精彩片段,例如一次纯走位的躲避;
- 音频分过高,把背景里的笑声当成了精彩;
- 去重太狠,成片失去了对比与节奏;
- 长度预算太死,导致关键前奏被剪。
金沙娱乐AI的相关设计里,导入录像后先给出候选清单,再由用户在预览里增删调整,把最后一步的取舍权留给人,这在金沙娱乐App里的自动剪辑一文中有更具体的操作说明(具体功能以后续公布为准,此处仅为设计思路)。
排序做得再好,也只回答了“哪些片段值得留”。下一个问题是:击杀、翻盘和搞笑场面,是否应该共用同一套打分标准?