如何为Twilio视频通话生成实时统一的转录文件?
合并Twilio视频通话的AWS Transcribe统一转录方案
核心逻辑
Twilio生成参与者独立音频,AWS Transcribe返回对应独立转录结果,要得到统一转录文件,核心是按时间戳对齐并合并双方的转录条目。
具体实现步骤
1. 解析AWS Transcribe输出
AWS Transcribe的转录结果为JSON格式,每个文件包含results.items数组,每个条目带start_time、end_time和alternatives[0].content字段。先分别解析两个文件的该数组。
2. 合并并排序转录条目
- 将两个文件的
items数组合并为一个数组 - 按
start_time的数值从小到大排序,确保对话严格按时间顺序排列
3. 生成统一转录文本
遍历排序后的数组,拼接每个条目的文本。若需区分说话人,可在条目前添加*参与者A*:这类标识(可通过原音频文件对应参与者,或启用Transcribe的说话人识别功能自动标记)。
4. 实时转录优化(针对实时需求)
如果需要实时生成统一转录,无需等待录制完成:
- 使用Twilio Media Streams功能,将每个参与者的音频实时推送到你的服务器
- 在服务器端同步多路音频流,再转发至AWS Transcribe实时转录服务
- 直接获取Transcribe的实时合并转录结果,或在服务器端实时合并多路转录流
关键注意点
- 处理时间戳时注意格式转换(将字符串转为浮点数,避免排序错误)
- 若存在重叠发言,可保留双方文本并标注为「[同时发言]」
- 启用Transcribe的
ShowSpeakerLabels=true参数,可自动识别说话人,简化后续合并时的身份区分
内容的提问来源于stack exchange,提问作者user21233524
相关产品推荐
相关产品推荐

