
快速部署 LiveKit 實時音視頻5 分鐘拉起服務端的 4 個關鍵動作【免費下載鏈接】livekitEnd-to-end realtime stack for connecting humans and AI項目地址: https://gitcode.com/GitHub_Trending/li/livekitLiveKit 是基于 WebRTC 與 SFU 架構的開源實時音視頻服務器用 Go 編寫支持從幾人到上千人的可擴展會議。如果業(yè)務要加會議、屏幕共享和 AI 語音交互它是一個能跑起來的穩(wěn)妥選型。為什么是它多人音視頻會議最大的難點不在連 P2P而在規(guī)模。N 個人 P2P 全互聯(lián)連接數(shù)是 O(N2)每個客戶端要發(fā)出 N-1 份流超過 10 人就撐不住。SFU選擇性轉發(fā)單元解決這個問題每個發(fā)布者只把流發(fā)一份到服務器服務器按每個訂閱者的訂閱關系轉發(fā)客戶端上行恒定不變。LiveKit 的核心就是一個用 Go 寫的 SFU基于 Pion WebRTC 實現(xiàn)轉發(fā)媒體包不做轉碼單機吞吐高。和其他自建 SFU 相比三點是選型時的關鍵差異第一服務端是單個二進制一條命令裝完沒有額外媒體依賴第二分布式是內建能力配置好 Redis 后自動變成多節(jié)點集群房間可以路由到負載最低或同區(qū)域的節(jié)點第三服務端功能集完整JWT 認證、管理 API、webhooks、說話人檢測、動態(tài)降分辨率都有現(xiàn)成實現(xiàn)。還有一點常被忽略它的定位是連接人與 AI。Agents 框架讓 AI 以普通參會者的身份進房間接入語音助手是寫一個參與者的事不是再搭一套系統(tǒng)。 從 0 到跑起來裝上服務端二進制Linux 上用一條腳本裝腳本源碼就在倉庫里install-livekit.sh作用是拉取最新 release 并解壓到 /usr/local/bincurl -sSL https://get.livekit.io | bashmacOS 用 Homebrew 裝 livekit 也可以最終都是同一個二進制。把開發(fā)模式服務端拉起來開發(fā)模式啟動不需要配置文件服務綁定在 localhost:7880livekit-server --dev啟動日志會直接打印開發(fā)密鑰API Key 是 devkeysecret 是 secret。這對密鑰只用于本地開發(fā)別帶到生產。簽一張令牌把會議叫起來用 livekit-cli 簽一張 JWT 入會令牌令牌綁定房間、身份和有效期livekit-cli create-token \ --api-key devkey --api-secret secret \ --join --room my-first-room --identity user1 \ --valid-for 24h把這串 token 交給客戶端即可入會。想驗證服務端到端交互再用livekit-cli join-room往房間里注入一個發(fā)布示例流的測試用戶兩個客戶端互連就算通了。它到底怎么工作的客戶端先經(jīng) WebSocket 連上來做信令再通過 ICE 與節(jié)點建立 WebRTC 連接。上行媒體包進 SFU 后按訂閱關系和訂閱方帶寬選出合適的分辨率層重排序號再轉發(fā)回每個訂閱者。 跑起來之后該調什么對著 config-sample.yaml 看三個配置項最影響體驗keys開發(fā)模式只有一對固定密鑰。換成自己簽發(fā)的 key-secret 對后JWT 認證和 API 調用都走新憑證舊令牌自然失效。上線前必須改。port主端口 7880 承載信令和 RoomService API。生產環(huán)境把它放到負載均衡器后面并啟用 TLS客戶端入口統(tǒng)一成 wss 地址。公網(wǎng)接入前改。rtc.port_range_start/endUDP 媒體端口范圍默認 50000-60000。改成更小的范圍或啟用 udp_port 多路復用后防火墻規(guī)則變少復用端口數(shù)建議不少于 vCPU 數(shù)。防火墻受限或并發(fā)房間多時改。 往生產搬之前只暴露 7880 和 UDP 段且走 TLS刪掉 devkey用自簽 key-secret 對配好 Redis多節(jié)點房間才能互通打開 prometheus_port 接 Grafana 監(jiān)控開啟內嵌 TURN 兜底 NAT 困難的客戶端下一步客戶端接入看官方的 JavaScript、Swift、Kotlin、Flutter SDK錄制和 RTMP 推流場景看 Egress、Ingress 生態(tài)服務多節(jié)點部署、節(jié)點選擇器配置看官方文檔的分布式章節(jié)倉庫里的 deploy/README.md 覆蓋了 Docker 與 Helm 的具體部署方式。【免費下載鏈接】livekitEnd-to-end realtime stack for connecting humans and AI項目地址: https://gitcode.com/GitHub_Trending/li/livekit創(chuàng)作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考