剪辑软件早就会剪了。给它一个起点和一个终点,它能又快又准地切出一段视频。真正卡住自动剪辑的是更前面的一步:一场九十分钟的比赛,哪些十几秒值得留下来,这个判断没有现成的公式。半岛体育智能剪辑把主要精力放在这一步上,而不是放在“剪”本身。

精彩度没有一个标准答案

同一段视频,不同的人会给出不同的答案。球迷想留下逆转的进球,教练想留下一次防守失位的回放,青训营里的家长只想看自己孩子的那一次触球。所谓“精彩”,其实是三层意思叠在一起:比赛本身的重要程度(比分、时间、形势),观感上的冲击力(速度、难度、意外性),以及看的人自己关心什么。

事件重要性本身也取决于上下文。同样是一次射门,第 2 分钟和第 88 分钟、比分平局和已经领先三球,观众的反应完全不同。这就是为什么比赛时钟和比分牌的 OCR 结果要进入打分:它们不直接决定精彩与否,却决定同一个动作值多少分。

所以系统的做法是先不追求一个绝对的分数,而是给每个候选片段打一组分:事件重要性、视觉冲击、现场情绪、可独立观看程度。最后再按用途合成排序,做十秒短视频、做三分钟集锦、做赛后复盘,权重各不相同。这样即使用户的口味不同,也不必重新训练一个模型,只需要调整权重。

只看比分变化,会漏掉什么

最直观的办法是盯着比分牌:分数变了,就往前后各切一段。它简单,而且确实能抓到大多数进球。但拿一场完整的比赛去检验,问题很快就出来了。

模拟场景 以下为模拟场景,用来说明比分法的盲区,并非某场真实比赛。一场足球比赛全场比分只变化两次,按比分剪只能得到两个片段。但人工回看时,标出了这些让人愿意重看的时刻:门将一次贴地扑救,后卫在门线前的解围,一次连续十几脚传递后被断下的反击,一记击中横梁的远射,一次差点吃到红牌的凶狠铲球。比分法一个都没有留下。

篮球里也是同样的情形:一次追身封盖、一次抢断后的快攻、一次关键的进攻篮板,都不直接改变比分牌上的数字。而反方向的问题同样存在:比分变了并不都值得留下,一场比赛已经拉开很大差距后的常规得分,观众并不会反复回看。比分只能当作一个信号,不能当成裁判。

四路信号各看什么

先说明一个前提:这里的“信号”不是四个互相独立的投票者。它们各自的可信度会随场景变化,比如转播画面清晰时视觉权重高,手机拍摄的远景里则要更依赖声音。

系统同时从四个来源取证。下表列出每一路信号的典型特征,以及它最容易被骗的地方。

信号来源 具体看什么擅长发现 容易被骗的地方
画面球与球员的运动、镜头切换、慢动作回放、特写 射门、扑救、突破、碰撞 远景里动作太小,被人群或队友遮挡
解说声音 语速、音调、关键词(ASR转写) 解说认为重要的时刻 解说往往滞后,也可能在铺垫别的话题
观众声音音量骤升的幅度、持续时长、频谱形态 现场情绪高点音乐、鼓点、对方球迷的嘘声
裁判与比赛数据 哨声、比分牌与比赛时钟(OCR)、事件流 犯规、得分、暂停、换人 OCR读错或时钟卡住,数据源本身有延迟

这四路信号里,没有一路可靠到可以单独使用。近期公开的研究重新重视音频:只看声音的基线表现比很多人预期的要强,而简单的音视频融合通常比任何单一模态更稳。原因并不神秘,声音记录的是现场情绪,画面记录的是事件,两者可以互相补位。

有一点值得单独说:解说人声往往比纯背景声更有信息量,因为解说员知道很多画面里看不到的背景,语气里带着判断。但这也意味着解说带有滞后性,它总是在事件发生之后半拍到一两秒才抬升,所以时间对齐必须单独处理,我们在音频精彩检测一文里专门讲过这一点。

一个候选片段是怎样被打分的(模拟示例)

以下为模拟示例,只用来说明处理顺序,时间和现象都不代表任何真实比赛或测试结果。假设一场足球比赛的下半场,粗筛阶段留下了一个候选窗口。

  • 第 71:02 画面:一次中场断球,控球方发生转换,标记为“转换起点”,暂不打分。
  • 第 71:06 画面:连续三次快速传递推进到前场,球员密度向一侧集中。观众声音开始缓慢抬升。
  • 第 71:11 画面:一次射门被门将扑出,球落在禁区内。现场音量出现第一个尖峰,解说语速明显加快,哨声没有响。
  • 第 71:13 画面:补射击中门柱,随后出现回放镜头。观众声音出现第二个更高的峰值,随后回落。
  • 第 71:17 画面:比分牌没有变化,球被解围。解说语气回到平稳。

这段里没有得分,比分法会直接放过它。但视觉事件(射门、扑救、门柱)、观众声音(两次尖峰)、解说(语速抬升)在同一个十几秒里同时指向同一件事,联合分数自然很高。反过来,如果只有声音尖峰,而画面里只是一次普通的界外球,联合分数会被压下去,这个候选不会排到前面。

联合打分时还有一个容易被忽略的细节:几路信号不在同一时刻到达。画面里的射门发生在第 71:11,观众声音的尖峰可能落在 71:12,解说语速的抬升要到 71:13 才明显。系统因此不是逐帧比较,而是在一个几秒长的滑动窗口里看这几路信号是否“聚拢”。聚拢得越紧、方向越一致,分数越可信;如果声音尖峰比画面早了十几秒,多半说明声音属于别的事情。

要强调的是,分数是用来排序的,不是判决。系统交给用户的是候选清单和理由,例如“门将扑救加两次音量尖峰”,用户看到的是一条可以调整的时间线,而不是一个不透明的结果。

分数高的一刻,不等于能用的片段

找到峰值只完成了一半。第 71:11 到 71:13 是最高潮,但一个从 71:10 才开始的片段,观众看不懂:球是怎么到禁区的,从哪里来的,谁出的脚?所以打分之后要处理边界,往前找到这次进攻真正的起点,往后留出情绪回落与回放。这部分细节很多,我们在片段起点与终点一文里单独拆开了。

时长也是约束。同样这十几秒,做成一条十秒短视频,要砍掉大部分铺垫;做成三分钟集锦,则可以保留完整的推进过程。所以打分和裁剪是分开的两个步骤:先判断值不值得,再决定在某个用途下留多少。两种用途的排序逻辑并不相同,短视频与集锦的对比会展开说明。

它出错的样子

下面三个例子都是常见的失败形态,也是我们做排查和降权规则时最常回头看的地方。

错误案例一:声音把画面骗了。中场休息前后,场馆播放了一段带鼓点的音乐,音量很高、节奏很强。只看音频,这会被当成一个高峰;但画面里只是球员走向边线。联合判断时,视觉事件缺席,这个候选就会被降权。真正会漏过的,是视觉模型恰好也误判的情形,比如把队员的庆祝动作当成进球后的场面。

错误案例二:远景里的关键动作。转播镜头拉得很远,一次极限救球在画面里只是几个像素的位移,视觉模型没有识别到。这时观众声音的抬升和解说语气就成了唯一线索,系统只能给出中等分数,再由用户在时间线上确认。

错误案例三:全场都很吵的比赛。当观众一直保持高音量,“突然升高”这个特征就失去了区分度。系统需要使用这场比赛自己的声音基线,而不是一个全局阈值,但基线在开场后的前二十分钟本身还不稳定,所以前段的判断更不可靠。

目前还不确定的部分

有几件事还在验证中。第一,“精彩”里有相当一部分是主观的,不同用户的偏好不可能被一个模型完全覆盖。目前更稳妥的处理是提供可调的权重,而不是自作主张地猜用户喜欢什么。第二,不同项目、不同转播风格的声音特征差别很大,一个在足球上合理的音频阈值,放到网球或乒乓球上并不成立,每个项目都需要单独调整。第三,业余比赛和手机拍摄的视频,音频质量、观众密度都远不如转播,许多信号会缺席,系统必须降级为以画面和事件为主。

我们在这里不给任何准确率数字,因为脱离具体数据集与标注标准的数字,并不能说明系统在你的比赛上表现如何。

对使用者意味着什么

精彩检测的结果最终是给人用的,所以它的输出形式和它的判断同样重要。

只想快速出一条集锦的人,直接用默认排序就够了,之后在时间线上删掉不想要的片段。教练或分析人员更值得做的是把扑救、防守、长回合这类没有得分的事件权重调高,没有得分的精彩往往正是复盘最需要的内容。对手机拍摄的用户,让声音清晰一些(不要离场地太远、避开风噪),通常比多几个像素更有帮助。

说到底,好的自动剪辑不是替人做决定,而是把九十分钟压缩成一份值得逐条判断的候选清单,让人的注意力花在真正需要判断的地方。