WRITING / 2022.01.18

工程日志:直播录制接入语音识别的解耦设计

从录制切片、异步识别、乱序结果和最终封口出发,整理长时媒体接入 ASR 的任务模型。

直播录制接入语音识别时,录制持续时间不确定,直接等待完整文件会让字幕产出过晚;边录边识别又带来切片、乱序和重复问题。

用会话与切片建模

录制会话拥有稳定标识,每个切片携带序号、时间范围和校验值。ASR 任务按切片幂等处理,结果也保留对应时间范围。

解耦录制与识别

录制服务只负责可靠地产生切片事件,不同步等待识别。识别服务可以按资源弹性消费,失败切片独立重试。

处理乱序

聚合器根据序号和时间戳排序结果,允许在窗口内等待缺失片段。会话结束事件触发最终封口,超时缺片明确标注,而不是无限等待。

版本与修订

实时字幕可以先输出临时版本,完整录制结束后使用更大上下文生成修订版。消费者需要知道当前结果是临时还是最终。

长时任务的关键不是保持一条超长调用,而是把过程拆成可重试、可排序和可封口的事件。