在智能语音领域,WebSocket 、 RTC 和 HTTP 是广泛应用于实现实时通信的技术。它们各自具有独特的特性和适用场景,开发者可以根据具体需求选择合适的技术方案。
WebSocket 是一种全双工通信协议,基于 TCP 建立持久化连接,允许服务器与客户端实时双向通信。客户端通过 WebSocket 协议与服务器握手建立连接。
集成了火山引擎实时音视频 RTC 的音视频通信能力,基于优质的全球传输网络实现超低延时,支持自动噪声抑制,以更低的功耗实现更好的音视频通话效果。
基于成熟的 HTTP 协议,开发相对简单,不需要处理复杂的实时传输和音视频编码问题。通过 HTTP 协议将语音消息上传至扣子服务端。智能体接收音频文件后,由大模型生成语音形式的回复。
适用于仅需语音通话和语音消息交互,无需视频通话的场景,例如:
适用于需要视频通话,且对音视频质量和实时性要求较高的 AI 交互场景,凭借其低延迟和良好的网络适应性,提供优质的音视频体验,例如:
适用于对实时性要求不高,主要以语音消息传递为主的场景,例如:
为了帮助开发者更好地选择合适的技术方案,以下是对 WebSocket、RTC 和 HTTP 三种接入方案的详细对比。
|
接入方案 |
WebSocket |
RTC |
HTTP |
|---|---|---|---|
|
接入方式 |
通过 WebSocket 协议自行实现接入 |
通过火山引擎 RTC SDK 实现接入 |
通过标准 HTTP 接口实现接入 |
|
是否支持视频通话 |
不支持 |
支持 |
不支持 |
|
是否支持语音消息 |
支持 |
不支持 |
支持 |
|
是否支持打断 |
|
|
不涉及 |
|
语音传输方式 |
双向流式 |
双向流式 |
单向传输,异步消息 |
|
是否支持图片输入 |
支持通过手动提交对话内容发送图片消息 |
支持通过手动提交对话内容发送图片消息 |
支持 |
|
语音通话过程中识别图片 |
不支持 |
不支持 |
不涉及 |
|
是否支持实时字幕 |
支持 |
支持 |
不支持 |
|
是否支持声音复刻 |
支持 |
支持 |
不支持 |
|
音视频费用 |
语音合成和语音识别费用,不涉及音视频通话费用,具体计费请参见音视频费用。 |
相比 WebSocket 方式费用会更高,除了语音合成和语音识别费用,还包括音视频通话费用,具体计费请参见音视频费用。 |
不涉及 |
|
对芯片平台的要求 |
无 |
有 |
无 |