怎么接进去
三块,中间那块不用你操心。
进
你的音频
经 SRT 的连续流;如果说话的是一部已经登录的手机,就走 WebRTC。
引擎
听一遍,出全部语言
音频只听一遍,所有目标语言都从这一遍里出来。没有哪一种要排在另一种后面。
出
声音和文本
翻译后的声音经 WHIP 进你自己的 WebRTC;文本是每翻译一句一个 HTTP POST。
在单个节点上并行十四种语言,端到端 812 毫秒。
音频从哪里 进去。
一个正在说话的场地不发文件:它发的是连续的流,而且必须在一个会丢包的网络上一直发下去。SRT 就是为此而在。
- 拨号的是你的设备。创建房间时会把整条 URL 拼好还给你——主机、端口、设备标识和口令。
- MPEG-TS 容器里的 Opus,单声道,16 kHz,24 kbps 上下。这是说话不是音乐,多出来的带宽买不到任何你听得出来的东西。
- 口令按设备发放,且不是可选的:没有加密的连接会被拒绝,别的做得再对也没用。十个字符是 SRT 自己的下限,不是我们的。
- 连续地发,把不连续传输关掉。一条在静音时停下的流,会吃掉重新让它开口的那句话的开头。
连接 URL,房间就是这样还给你的
srt://HOST:8890?streamid=DEVICE_ID&mode=caller&latency=120&passphrase=SECRET我们自己的设备跑的那条流水线
测你自己那台最短的路,就是把这一段照原样跑一遍。线路输入常常比麦克风来得轻:如果你那边偏小,加一级音量,而不是把编码器往死里压。
gst-launch-1.0 -e \
alsasrc device=plughw:CODEC,0 ! audioconvert ! audioresample ! \
audio/x-raw,rate=16000,channels=1 ! \
opusenc bitrate=24000 ! mpegtsmux ! \
srtsink uri="srt://HOST:8890?streamid=DEVICE_ID&mode=caller&latency=120&passphrase=SECRET"另一个入口是 WebRTC。当说话的是一部已经登录的手机时用它:没有什么要安装,也没有什么用来认证,所以房间不会返回凭据。
又从哪里 出来。
如果你已经有 WebRTC 的基础设施——视频平台、活动应用、导播间——不必进我们的房间才能拿到翻译。给我们一个 WHIP 端点,我们往那里推。
- 每一种目标语言都是自己的一个 WHIP 会话。WHIP 端点是允许只接一路音频的,而且很多确实如此,所以五种语言塞进一个会话会当成一种到达,另外四种悄无声息地没了。
- 在 URL 里放上语言占位符,每种语言就有自己的路径;不放,语言就作为查询参数传过去。两种方式你这边都分得开,而你必须分得开。
- 如果你设了令牌,会作为 Authorization Bearer 头发出;一段发言结束时我们会删掉会话资源,不留下任何还占着连接的东西。
- 默认这是在房间之外另加的:你的听众照常工作,你自己的设备也拿得到音频。设成唯一目的地,房间就不再被使用。
端点的两种写法
delivery.whip.url = https://you.example.com/ingest/{lang}/whip → …/ingest/en/whip
delivery.whip.url = https://you.example.com/whip → …/whip?lang=en文本是分开走的,这不是小事
WHIP 只搬媒体,别的都不搬——协议里没有数据通道——所以字幕不可能夹在音频里过来。给我们一个 URL,我们每翻译一句就 POST 一次,带上房间、片段、从哪种语言来、到哪种语言去。谁按照“文本会跟音频一起到”来搭,谁就会在活动当天知道。
开箱就能对接的
这些是规范里点了名的,不是一堵标志墙。对于下游只会说 RTMP 或 SRT 的东西,前面摆一台 MediaMTX 就能从 WHIP 搭桥,我们两边都不用写代码。
这不是 API 参考文档,而这个区别很要紧
这是通往同一个引擎的两扇门,走错一扇要赔上一天。这一扇是把媒体流送过去用的。另一扇是照着它写代码用的。
这一页
你已经有音频在流动,你要的是让翻译在这股流动里面。你需要的是一个端口、一个编解码器和一个可以推流过去的地方。
两者在一个地方交汇:WHIP 端点和文本 URL 是房间的设置,而房间是通过 API 建的。
端到端时延是 812 毫秒——完整的一趟,从有人开口到别人听见翻译。
十四种语言出自对音频的一次收听,所以第十四种就是第十四种的价钱,不是第一种的十四倍。
集成与处理任务: 散装分钟
用于房间直播或处理文件。无月费:你购买分钟,随翻译逐步消耗。自购买之日起十二个月内有效,而且每个套餐都是同一个引擎、同样的十四种语言。
带颜色的是说话的时间
静音 · 计数停住
不计入
一小时的会议,说话 20 分钟,计入的也是 20 分钟。
€20+ 增值税
几场活动,或者拿真实素材试一次。
- 100 分钟
- 翻译成一种语言的语音
- 每分钟 €0.20
- 没有月费,十二个月内有效
- —
- 参照价格
- ≈ 1 场礼拜
- 每场一小时、40 分钟讲话、四种语言
- 十四种语言
- 来自同一段音频,同时进行
€85+ 增值税
每周一次的礼拜,以及整个季节。
- 500 分钟
- 翻译成一种语言的语音
- 每分钟 €0.17
- 没有月费,十二个月内有效
- −15%
- 相对零买价的折扣
- ≈ 6 场礼拜
- 每场一小时、40 分钟讲话、四种语言
- 十四种语言
- 来自同一段音频,同时进行
€300+ 增值税
每周都在用的多个房间。
- 2,000 分钟
- 翻译成一种语言的语音
- 每分钟 €0.15
- 没有月费,十二个月内有效
- −25%
- 相对零买价的折扣
- ≈ 24 场礼拜
- 每场一小时、40 分钟讲话、四种语言
- 十四种语言
- 来自同一段音频,同时进行
€675+ 增值税
几乎每天都在直播的场所。
- 5,000 分钟
- 翻译成一种语言的语音
- 每分钟 €0.135
- 没有月费,十二个月内有效
- −32.5%
- 相对零买价的折扣
- ≈ 60 场礼拜
- 每场一小时、40 分钟讲话、四种语言
- 十四种语言
- 来自同一段音频,同时进行
所有套餐都包含,无一例外
- 全部十四种语言,来自同一段音频
- 想建多少房间就建多少
- 录音、文档和字幕
- 完整 API 和你自己的密钥
- 每次购买一张发票,含你的税务信息
- 直播房间不留任何录音
落地陪跑另行报价
按分钟付的是引擎,不是人工工时。凡是需要我们的人跟进的,都另行报价:
- 上线:接好你的 SRT 或 WebRTC,检查你的方案
- 活动当天在线支持
- 按你的流程做定制开发
- 部署到你自己的网络里
或者你想要的任何金额
每分钟 0,20 €,没有批量折扣——那是套餐的用处。10 € 到 5.000 € 之间,付款一通过就进账户。
前 30 分钟我们请客
保存一张卡,分钟数就在你的账户里。不会扣任何钱,卡片页面上写的也是 0 €——卡放在那里,是为了你哪天想一键充值,不是为了悄悄扣你的钱。 有效期三个月:是拿来试的,不是拿来存的。
和工程团队聊
四个字段,不问月用量——到这一步谁也不知道。告诉我们你面前有什么,回信的是接过这套东西的人。
只有你们那里才用的词
一个机构自己的名字——人名、街名、编号、职务——正是通用模型从没听过的东西,也正是它出错的地方:它会换成一个听起来差不多的普通词。写一次,就不再出错。 写在会议室里,对它的所有会议都生效。
- 这是一份清单,不是训练:写下来,从第一句话就生效。
- 它什么都不收集。不收你的音频,不收你的文本,一秒都不收。
- 而且是包含在内的。不是额外的套餐,也不是账单上的一行。