
Twilio Video 本身不提供视频通话录音的自动语音转文字(ASR)功能,需通过下载 .mka 格式音频文件,再交由 Google Cloud Speech-to-Text、Azure Cognitive Services 等第三方 ASR 服务完成转录。
twilio video 本身不提供视频通话录音的自动语音转文字(asr)功能,需通过下载 `.mka` 格式音频文件,再交由 google cloud speech-to-text、azure cognitive services 等第三方 asr 服务完成转录。
Twilio 的 Programmable Video 支持录制音视频分离存储(音频为 .mka,视频为 .mkv),但其 Recording API 不包含内置语音识别能力。这意味着即使你已成功获取 RecordingInstance,也无法直接调用 .transcribe() 或类似方法获得文本——必须自行处理音频提取与转录流程。
✅ 正确操作步骤
-
获取录制资源并下载音频
使用 RecordingInstance 的 media 子资源下载原始音频(.mka 格式):$recording = $twilio->video->recordings($recordingSid)->fetch(); $mediaUrl = $recording->media->uri; // 返回类似 https://.../Media.mka 的 URL // 下载音频(示例:使用 cURL) $ch = curl_init($mediaUrl); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, false); $audioData = curl_exec($ch); file_put_contents('recording.mka', $audioData); curl_close($ch); -
格式兼容性处理(关键!)
.mka 是 Matroska 容器格式,多数 ASR 服务(如 Google Speech-to-Text)不原生支持。需转换为标准格式(如 wav 或 mp3):- 方案 A:本地转换(推荐使用 ffmpeg):
ffmpeg -i recording.mka -ar 16000 -ac 1 -f wav recording.wav
- 方案 B:使用 Twilio Compositions API 合成并导出为兼容格式(如 MP4 音频轨):
$composition = $twilio->video->compositions->create([ 'roomSid' => $roomSid, 'audioSources' => [$recordingSid], 'format' => 'mp4', 'statusCallback' => 'https://your-app.com/composition-status' ]);等待合成完成后,从回调 URL 下载 MP4 文件,再用 ffmpeg 提取音频。
- 方案 A:本地转换(推荐使用 ffmpeg):
-
调用第三方 ASR 服务
以 Google Cloud Speech-to-Text 为例(需启用 API 并配置认证):from google.cloud import speech client = speech.SpeechClient() with open("recording.wav", "rb") as audio_file: content = audio_file.read() audio = speech.RecognitionAudio(content=content) config = speech.RecognitionConfig( encoding=speech.RecognitionConfig.AudioEncoding.LINEAR16, sample_rate_hertz=16000, language_code="en-US", enable_automatic_punctuation=True ) response = client.recognize(config=config, audio=audio) for result in response.results: print("Transcript:", result.alternatives[0].transcript)
⚠️ 注意事项
- Twilio 不对 .mka 文件做音频预处理(如降噪、静音切除),建议在转录前用工具(如 pydub)清理音频;
- 长时录音请使用 long_running_recognize()(Google)或分段上传(Azure)避免超时;
- 遵守 GDPR / CCPA:转录前需获得用户明确授权,且敏感内容需加密传输与存储;
- 成本考量:Twilio 存储 + 第三方 ASR 调用均产生费用,建议按需触发转录而非全量自动执行。
综上,Twilio Video 录音转文字是一个“分步协同”任务:Twilio 负责可靠录制与存储,而专业 ASR 服务负责高精度语音理解。合理设计下载→转换→提交→回调的流水线,即可构建稳定、合规的会议纪要生成系统。

















