news 2026/9/6 15:19:36

10分钟上手LiveKit:零基础也能跑起来的实时音视频会议后端

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
10分钟上手LiveKit:零基础也能跑起来的实时音视频会议后端

10分钟上手LiveKit:零基础也能跑起来的实时音视频会议后端

【免费下载链接】livekitEnd-to-end realtime stack for connecting humans and AI项目地址: https://gitcode.com/GitHub_Trending/li/livekit

给产品加视频通话,媒体链路谁来扛

你想给产品加视频会议功能,最头疼的往往不是界面,而是媒体链路。谁收音视频流、谁转发、谁管房间里几十号人?LiveKit 把这套问题压进一个服务器进程:一套开源的实时音视频会议系统,客户端直接连上它,转发和管理都交给它。看完这一篇,你手上会多一个能进人的会议环境。

LiveKit 替你扛下了什么

LiveKit 是一个可以自托管的 WebRTC(浏览器实时音视频传输的标准协议)服务,核心是 SFU(Selective Forwarding Unit,只转发、不混流的服务器)。客户端不互相直传流,全都连到服务器,由它把流分发给需要的人,这样加人不增加每人的带宽负担。

你的情况是否合适
给自家产品内嵌音视频通话合适,一台服务器加官方 SDK 就够
不想自己写协商、重传、转发合适,SFU 全包了
大型会议、多节点扩容合适,配 Redis 即可组集群
只要录制回放、不要实时会不合适,找专用录制服务

服务入口在cmd/server/,进房间、离会、发流这类房间管理逻辑集中在pkg/service/roommanager.go,想查行为先看这两处。

四步走到第一次连通

准备:装服务器二进制。Linux 用官方脚本,macOS 走 Homebrew:

curl -sSL https://get.livekit.io | bash # Linux brew install livekit # macOS

做完后,livekit-server命令出现在你的 PATH 里。

启动:进开发模式,用内置占位凭据监听 7880 端口:

livekit-server --dev

终端会打印API Key: devkeyAPI Secret: secret,这对就是当前凭据。

连接:给某个用户签发访问令牌。令牌是 JWT(带签名的声明文档,相当于一张身份证),里面写死了这个人的身份和可加入的房间:

lk token create \ --api-key devkey --api-secret secret \ --join --room my-first-room --identity user1 \ --valid-for 24h

lk是随 LiveKit CLI 一起安装的命令行工具,生成的令牌粘给任意客户端即可入会。

验证:手上没客户端?用 CLI 模拟一个测试发布者,往房间里灌一段演示视频:

lk room join --url ws://localhost:7880 \ --api-key devkey --api-secret secret \ --identity bot-user1 --publish-demo \ my-first-room

房间里有另一个参会者时,他能看到这段演示流——整条链路就通了。

背后替你做的三件事

自适应码率:服务器不会把同一质量的分发给所有人。某端网络差,就自动给他降分辨率、降码率的流,保证房间里人人看得动,不用你写调度逻辑。

令牌鉴权:每次入会都要过pkg/service/auth.go的校验。身份、房间、权限全写在 JWT 里,没过鉴权的请求进不了房间,等于你不用自己造权限系统。

可观测性内置:服务自带 Prometheus 指标,仓库里附了现成的 Grafana 仪表盘deploy/grafana/livekit-server-overview.json,导入即可看到房间、参会人数、流量的实时状态。

生产怎么配,还能接什么

上生产先做一件事:退出开发模式。改用正式配置文件,换上自己的密钥对(secret 至少 32 字符),放行 7880/7881 端口和 UDP 50000-60000 区段。配置项全貌看示例文件config-sample.yaml,虚拟机、Kubernetes 等部署方式见deploy/README.md

要扩多节点,只需在配置里填上 Redis 地址,集群会自动同步房间,客户端连哪个节点都能落到同一个房间。

再往后是扩展题:接 Egress 服务做录制,走 RTMP/HLS 推给直播平台,或者把 AI 助手拉进会议当 agent。第一篇跑通之后,这些都是一份配置的功夫。

【免费下载链接】livekitEnd-to-end realtime stack for connecting humans and AI项目地址: https://gitcode.com/GitHub_Trending/li/livekit

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/6 15:18:04

Cap录屏教程:免费录制屏幕,停下就有可分享的链接

Cap录屏教程:免费录制屏幕,停下就有可分享的链接 【免费下载链接】Cap Open source Loom alternative. Beautiful, shareable screen recordings. 项目地址: https://gitcode.com/GitHub_Trending/cap1/Cap Cap是一款开源的Loom替代品&#xff0c…

作者头像 李华
网站建设 2026/9/6 15:16:53

app信息流中的混排与流控

to be completed. tips: 重排是相近的任务, 详见另一篇 blog, 见参考[1]. “混排” 和 “重排” 在实际系统中并非完全割裂,而是存在功能重叠与协同。比如当混排需要考虑 item 之间的影响和约束时, 本质上就进入了重排的范畴. 1. 混排场景 两种不同类型的 doc 队列…

作者头像 李华
网站建设 2026/9/6 15:04:45

AM解调仿真:二极管包络检波与同步检波对比实验全解析

简介:这是一份高频电子线路课程中调幅波解调方向的仿真实验报告,适用于学习二极管包络检波器与同步检波器原理、需要完成 EWB 仿真实验或撰写课程实验报告的学生。报告围绕二极管包络检波的主要指标、检波效率及波形失真展开,利用示波器对比了…

作者头像 李华
网站建设 2026/9/6 15:01:13

规则引擎Drools实战

概述 规则引擎起源于基于规则的专家系统,而基于规则的专家系统又是专家系统的其中一个分支。专家系统属于人工智能的范畴,它模仿人类的推理方式,使用试探性的方法进行推理,并使用人类能理解的术语解释和证明它的推理结论。 利用它…

作者头像 李华
网站建设 2026/9/6 15:00:40

MySQL安装步骤

1.、下载地址 https://dev.mysql.com/downloads/mysql/ ,点击 Windows (x86, 64-bit), ZIP Archive 后的 Download(下载)按钮。 在打开的页面点击“ No thanks, just start my download. ”(不用了,谢谢,开始下载吧。…

作者头像 李华
网站建设 2026/9/6 14:58:46

基于STM32的自制OBD数据采集系统:从CAN总线到ECU解析的完整实现

简介:基于STM32单片机的汽车OBD数据采集系统设计方案文档,面向嵌入式开发、汽车电子及车联网相关技术人员。文档详细阐述了系统组成结构与技术实现,针对传统OBD智能盒子数据处理弱、抗干扰差、缺乏互联等痛点,给出完整解决思路。资…

作者头像 李华