2026/02/05 13:09:09
实时翻译
除了将频道中主播的音频实时转写为文本,声网还支持在转写时进行翻译。例如,在国际会议等场景下,你可以将频道中主播的发言转写为文本,然后对转写后的内容进行翻译,最后将原文和译文以字幕的形式推送回频道内。
本文介绍如何调用实时转录翻译的 RESTful API 将转写的内容翻译为指定的语言。
前提条件
开始前,清确保你的开发环境满足以下条件:
- 参考开通服务在声网控制台开通实时语音转写服务,并复制保存 App ID、临时 Token、客户 ID 和客户密钥,以供后续使用。
- 可以访问互联网的计算机。如果你的网络环境部署了防火墙,参考应对防火墙限制以正常使用声网服务。
- 集成并使用声网 实时互动 RTC SDK 搭建一个极简的实时音视频互动 App。
- 参考实现 HTTP 基本认证获取
Authorization值。
翻译转写内容
在调用 start 开始转写任务时,设置 translateConfig 来对转写的文本内容进行翻译。
请求示例
如下示例展示如何在转写时设置翻译。下面是一个完成的请求示例,包含 URL、header、body。如需在转写任务中同时进行录制、加密,请参考录制字幕、加密字幕。
Shell
curl --location --request POST 'https://api.sd-rtn.com/cn/v2/projects/{{appId}}/rtsc/speech-to-text/tasks?builderToken={{tokenName}}' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: <http_basic_auth>' \
--data '{
"languages": [
"zh-CN"
],
"maxIdleTime": 50,
"rtcConfig": {
"channelName": "<YourChannelName>",
"subBotUid": "<YourSubscribeUid>",
"pubBotUid": "<YourPublishUid>",
"subscribeAudioUids": [uint]
},
"translateConfig": {
"languages": [
{
"source": "zh-CN",
"target": [
"en-US",
"ar-SA",
"id-ID",
"fr-FR",
"ja-JP"
]
}
]
}
}'
以下介绍实时翻译的关键配置。
-
指定需要转写的主播的 ID 和其所在的频道名。 在
rtcConfig中通过subscribeAudioUids设置需要转写的用户 ID,一个转写任务中最多同时支持转写 5 个用户的音频,通过channelName设置频道名。其他参数的配置可参考开始实时转录翻译。 -
设置
languages数组。数组长度最大为 2,即最多支持同时翻译两个不同的源语种。参数名 类型 含义 sourceString Array翻译时的源语种。 targetarray翻译时的目标语种,最多支持配置 5 个目标语种。支持的语种类别详见语言列表。
注意
- 目前同一转写任务中,最多支持同时翻译 5 个主播的转写内容。
- 翻译时,源语种和目标语种不能设为一致,否则会报错。
响应示例
JSON
{
"taskId": "String",
"createTs": number,
"status": enum(STATUS)
}
| 参数名 | 类型 | 含义 |
|---|---|---|
taskId | string | 任务 ID。 |
createTs | number | 任务创建的时间戳。 |
status | enum | 任务状态:
|
调用 start 开启实时转写任务,且设置翻译配置后,你可以参考实现开始实时转录翻译进行查询、更新、停止任务等操作。
语言列表
参考语言列表了解实时转录翻译支持的语种。