LiveKit:开源的实时音视频通信基础设施
LiveKit:开源的实时音视频通信基础设施
LiveKit 是一个开源项目,提供基于 WebRTC 的可扩展多人实时音视频通信能力。项目目前获得了 19,205 个 Star。

LiveKit 的服务端用 Go 语言编写,底层依赖 Pion WebRTC 实现。它提供视频、音频和数据三种通道的实时通信能力,让开发者在自己的应用中集成多人通话、直播和协作功能,不需要从零搭建 WebRTC 信令和媒体服务器。

核心架构
LiveKit 采用 SFU(Selective Forwarding Unit)架构,服务端负责转发媒体流,不做编解码。这种架构在多方通话场景下延迟低、扩展性好。
具体能力包括:
- 分布式部署,支持多区域和集群扩展
- 网络层兼容 UDP、TCP、TURN,适应复杂网络环境
- 支持 Simulcast 和 SVC 编解码(VP9、AV1),按带宽自适应调整画质
- 发言者检测,可自动切换主讲人画面
- 端到端加密,保障通话安全
- JWT 鉴权机制,适合生产环境接入
- Webhook 回调,方便与外部系统联动
- 审核 API,支持主持人踢人、静音等操作
客户端 SDK
LiveKit 提供了覆盖主流平台的客户端 SDK:
- JavaScript/TypeScript(含 React 声明式 UI)
- Swift(iOS/macOS,支持 SwiftUI)
- Kotlin(Android,支持 Compose)
- Flutter(跨平台)
- React Native(beta)
- Unity WebGL
- Rust
每个 SDK 都有对应的示例工程和文档,覆盖了 Web、移动端、桌面端和游戏引擎场景。
服务端 SDK
后端方面,LiveKit 提供了多种语言的服务端 SDK,用于生成 access token、调用服务端 API 和接收 webhook:
- Go(官方维护)
- JavaScript/TypeScript
- Ruby
- Java/Kotlin
- Python(社区维护)
- PHP(社区维护)
Go 版 SDK 还支持客户端能力,可以用来构建自动化机器人,模拟真实用户行为。
周边生态
LiveKit 围绕核心服务搭建了几个配套组件:
- Agents:构建实时多模态 AI 应用,把 AI 作为参与者加入房间
- Egress:负责录制和转推,支持录制整个房间或单独的音视频轨道
- Ingress:支持从外部源(RTMP、WHIP、HLS、OBS)推流到 LiveKit 房间
这三个组件让 LiveKit 从一个音视频服务器扩展成了一个可以接入 AI、支持直播推流、支持录制归档的平台。
快速上手
安装方式比较直接。Mac 上用 brew:
brew install livekit
Linux 上用脚本:
curl -sSL https://get.livekit.io | bash
Windows 直接从发布页下载二进制文件。
启动开发模式只需一行命令:
livekit-server --dev
默认会生成一组测试用的 API Key 和 Secret,用 CLI 工具生成 access token 后,连上官方的 Example App 就能看到自己的音视频画面被推送到本地服务器。
部署方式
项目提供两种部署选择。LiveKit Cloud 是官方托管的云服务,每月有免费额度,适合快速验证和中小规模使用。自托管则按照官方部署文档,用 Docker 或 Kubernetes 搭建,适合对数据合规和网络有要求的团队。
LiveKit 是目前开源实时音视频方案中功能覆盖较全的一个项目。从 SFU 核心到多平台 SDK,从 AI Agents 到录制推流,覆盖了实时通信的主要环节。对于需要在产品中集成音视频通话、直播或实时协作功能的团队,LiveKit 是一个值得评估的选项。
核心到多平台 SDK,从 AI Agents 到录制推流,覆盖了实时通信的主要环节。对于需要在产品中集成音视频通话、直播或实时协作功能的团队,LiveKit 是一个值得评估的选项。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)