WebRTC入门
主要参考资料:
WebRTC 在 ESP32 系列硬件平台上的实现: https://www.bilibili.com/video/BV1AEHseWEda/?spm_id_from=333.337.search-card.all.click&vd_source=dd284033cd0c4d1f3f59a2cd40ae4ef9
火山 RTC+豆包大模型,给用户体验装上银色子弹: https://mp.weixin.qq.com/s/tHeL6adH44U5b8i0V-YcQw
目录
- 简介
- WebRTC介绍
- WebRTC与esp_rtc的区别
简介
早期的音频采集、处理和传输技术,主要依赖于 Websocket 这种通信方式。但这在实际使用中,有时会遇到一些问题,比如在网络环境复杂的情况下,可能会导致对话出现卡顿,或者在传输过程中丢失一些关键信息,这可能会造成对话内容的误解。另外,探索基于多模态大模型的智能场景感知和识别类应用场景,Websocket 也无法承接视频传输的扩展能力。
而豆包大模型,如今已经向 ChatGPT 对齐,传输已经采用了 RTC 技术。结合 RTC 实时音视频服务,可为应用提供更加自然和高效的交互体验。
WebRTC介绍
- RTC Realtime Communication 实时传输
- SDP Session Description Protocol 会话描述协议
- DTLS Datagram Transport Layer Security® 数据包传输层安全
- RTP Real-time Transport Protocol 实时传输协议
- RTCP Real-time Transport Control Protocol 实时传输控制协议
- SRTP Secure Real-time Transport Protocol 安全实时传输协议
- SCTP Stream Control Transmission Protocol 流控制传输协议
- ICE Interactive Connectivity Establishment 交互式连接建立
- TURN Traversal Using Relays around
- NATSTUN Session Traversal Utilities for NATNAT 会话遍历实用程序
WebRTC与esp_rtc的区别
ESP-RTC 方案基于乐鑫自研的 SIP(Session Initialization Protocol,会话初始协议)协议栈,实现了实时的音视频通信。协议栈包含传输层、事务层和会话层,其信令交互模块支持 UDP、TCP 和 TLS 三种方式,媒体传输模块支持 RTP (UDP)、RTCP、SRTP、TURN 等 NAT 透传协议。值得一提的是,ESP-RTC 方案还在传输模块中增加了弱网对抗算法,如 Jitter Buffer 和 PLC,有效解决了丢包、抖动、拥塞、延时等问题,能够充分保证音视频通信的流畅性与实时性。