livekit

livekit

基于WebRTC的开源实时通信框架

LiveKit是基于WebRTC的开源项目,提供可扩展的多用户实时通信功能。它包含丰富的客户端SDK、服务器API和工具,支持语音检测、模拟广播和端到端加密等特性。LiveKit易于部署,适用于视频会议、直播等场景。该项目为开发者提供构建实时音视频和数据通信应用所需的全套解决方案。

LiveKitWebRTC实时通信多人会议开源项目Github
<!--BEGIN_BANNER_IMAGE--> <picture> <source media="(prefers-color-scheme: dark)" srcset="/.github/banner_dark.png"> <source media="(prefers-color-scheme: light)" srcset="/.github/banner_light.png"> <img style="width:100%;" alt="LiveKit图标、仓库名称以及背景中的示例代码。" src="https://raw.githubusercontent.com/livekit/livekit/main/.github/banner_light.png"> </picture> <!--END_BANNER_IMAGE-->

LiveKit:为开发者提供实时视频、音频和数据

LiveKit是一个基于WebRTC的开源项目,提供可扩展的多用户会议功能。它旨在为您的应用程序提供构建实时视频音频数据功能所需的一切。

LiveKit的服务器使用Go语言编写,采用了出色的Pion WebRTC实现。

GitHub stars Slack社区 Twitter关注 GitHub发布(最新语义化版本) GitHub工作流状态 许可证

特性

文档和指南

https://docs.livekit.io

在线演示

生态系统

  • Agents:使用可编程后端参与者构建实时多模态AI应用
  • Egress:录制或多流房间并导出单独的轨道
  • Ingress:从外部源(如RTMP、WHIP、HLS或OBS Studio)接收流

SDK和工具

客户端SDK

客户端SDK使您的前端能够包含交互式、多用户体验。

<table> <tr> <th>语言</th> <th>仓库</th> <th> <a href="https://docs.livekit.io/guides/room/events/#declarative-ui" target="_blank" rel="noopener noreferrer">声明式UI</a> </th> <th>链接</th> </tr> <tr> <td>JavaScript(TypeScript)</td> <td> <a href="https://github.com/livekit/client-sdk-js" target="_blank" rel="noopener noreferrer">client-sdk-js</a> </td> <td> <a href="https://github.com/livekit/livekit-react" target="_blank" rel="noopener noreferrer">React</a> </td> <td> <a href="https://docs.livekit.io/client-sdk-js/" target="_blank" rel="noopener noreferrer">文档</a> | <a href="https://github.com/livekit/client-sdk-js/tree/main/example" target="_blank" rel="noopener noreferrer">JS示例</a> | <a href="https://github.com/livekit/client-sdk-js/tree/main/example" target="_blank" rel="noopener noreferrer">React示例</a> </td> </tr> <tr> <td>Swift(iOS / MacOS)</td> <td> <a href="https://github.com/livekit/client-sdk-swift" target="_blank" rel="noopener noreferrer">client-sdk-swift</a> </td> <td>Swift UI</td> <td> <a href="https://docs.livekit.io/client-sdk-swift/" target="_blank" rel="noopener noreferrer">文档</a> | <a href="https://github.com/livekit/client-example-swift" target="_blank" rel="noopener noreferrer">示例</a> </td> </tr> <tr> <td>Kotlin(Android)</td> <td> <a href="https://github.com/livekit/client-sdk-android" target="_blank" rel="noopener noreferrer">client-sdk-android</a> </td> <td>Compose</td> <td> <a href="https://docs.livekit.io/client-sdk-android/index.html" target="_blank" rel="noopener noreferrer">文档</a> | <a href="https://github.com/livekit/client-sdk-android/tree/main/sample-app/src/main/java/io/livekit/android/sample" target="_blank" rel="noopener noreferrer">示例</a> | <a href="https://github.com/livekit/client-sdk-android/tree/main/sample-app-compose/src/main/java/io/livekit/android/composesample" target="_blank" rel="noopener noreferrer">Compose示例</a> </td> </tr> <tr> <td>Flutter(所有平台)</td> <td> <a href="https://github.com/livekit/client-sdk-flutter" target="_blank" rel="noopener noreferrer">client-sdk-flutter</a> </td> <td>原生</td> <td> <a href="https://docs.livekit.io/client-sdk-flutter/" target="_blank" rel="noopener noreferrer">文档</a> | <a href="https://github.com/livekit/client-sdk-flutter/tree/main/example" target="_blank" rel="noopener noreferrer">示例</a> </td> </tr> <tr> <td>Unity WebGL</td> <td> <a href="https://github.com/livekit/client-sdk-unity-web" target="_blank" rel="noopener noreferrer">client-sdk-unity-web</a> </td> <td></td> <td> <a href="https://livekit.github.io/client-sdk-unity-web/" target="_blank" rel="noopener noreferrer">文档</a> </td> </tr> <tr> <td>React Native(测试版)</td> <td> <a href="https://github.com/livekit/client-sdk-react-native" target="_blank" rel="noopener noreferrer">client-sdk-react-native</a> </td> <td>原生</td> <td></td> </tr> <tr> <td>Rust</td> <td> <a href="https://github.com/livekit/client-sdk-rust" target="_blank" rel="noopener noreferrer">client-sdk-rust</a> </td> <td></td> <td></td> </tr> </table>

服务器SDK

服务器SDK使您的后端能够生成访问令牌,调用服务器API,以及接收webhooks。此外,Go SDK包含客户端功能,使您能够构建像最终用户一样行为的自动化程序。

语言仓库文档
Goserver-sdk-go文档
JavaScript(TypeScript)server-sdk-js文档
Rubyserver-sdk-ruby
Java(Kotlin)server-sdk-kotlin
Python(社区)python-sdks
PHP(社区)agence104/livekit-server-sdk-php

工具

安装

[!提示] 我们建议与服务器一起安装LiveKit CLI。它允许您访问服务器API、创建令牌和生成测试流量。

以下将安装LiveKit的媒体服务器:

MacOS

brew install livekit

Linux

curl -sSL https://get.livekit.io | bash

Windows

此处下载最新版本

入门

启动LiveKit

通过运行livekit-server --dev以开发模式启动LiveKit。它将使用一个占位符API密钥/密钥对。

API密钥:devkey
API密钥:secret

要为生产环境自定义设置,请参阅我们的部署文档

创建访问令牌

连接到LiveKit房间的用户需要一个访问令牌。访问令牌(JWT)编码了用户的身份和授予他们的房间权限。您可以使用我们的CLI生成令牌:

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

使用示例应用进行测试

前往我们的示例应用,输入生成的令牌以连接到您的LiveKit服务器。此应用使用我们的React SDK构建。

连接后,您的视频和音频现在正在发布到您的新LiveKit实例!

模拟测试发布者

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

此命令将循环演示视频发布到房间。由于视频剪辑的编码方式(每3秒一个关键帧),浏览器在获得足够数据开始渲染帧之前会有轻微延迟。这是模拟的一个特征。

部署

使用LiveKit Cloud

LiveKit Cloud是运行LiveKit最快速和最可靠的方式。每个项目都可以获得免费的月度带宽和转码额度。

注册LiveKit Cloud

自托管

阅读我们的部署文档以获取更多信息。

从源代码构建

前提条件:

  • 安装Go 1.22+
  • GOPATH/bin在你的PATH中

然后运行

git clone https://github.com/livekit/livekit cd livekit ./bootstrap.sh mage

贡献

我们欢迎您为改进LiveKit做出贡献!请加入我们的Slack群组讨论您的想法和/或PR。

许可证

LiveKit服务器采用Apache License v2.0许可。

<!--BEGIN_REPO_NAV-->

<br/><table>

<thead><tr><th colspan="2">LiveKit生态系统</th></tr></thead> <tbody> <tr><td>实时SDK</td><td><a href="https://github.com/livekit/components-js">React组件</a> · <a href="https://github.com/livekit/client-sdk-js">浏览器</a> · <a href="https://github.com/livekit/components-swift">Swift组件</a> · <a href="https://github.com/livekit/client-sdk-swift">iOS/macOS/visionOS</a> · <a href="https://github.com/livekit/client-sdk-android">Android</a> · <a href="https://github.com/livekit/client-sdk-flutter">Flutter</a> · <a href="https://github.com/livekit/client-sdk-react-native">React Native</a> · <a href="https://github.com/livekit/rust-sdks">Rust</a> · <a href="https://github.com/livekit/node-sdks">Node.js</a> · <a href="https://github.com/livekit/python-sdks">Python</a> · <a href="https://github.com/livekit/client-sdk-unity-web">Unity(网页)</a> · <a href="https://github.com/livekit/client-sdk-unity">Unity(测试版)</a></td></tr><tr></tr> <tr><td>服务器API</td><td><a href="https://github.com/livekit/node-sdks">Node.js</a> · <a href="https://github.com/livekit/server-sdk-go">Golang</a> · <a href="https://github.com/livekit/server-sdk-ruby">Ruby</a> · <a href="https://github.com/livekit/server-sdk-kotlin">Java/Kotlin</a> · <a href="https://github.com/livekit/python-sdks">Python</a> · <a href="https://github.com/livekit/rust-sdks">Rust</a> · <a href="https://github.com/agence104/livekit-server-sdk-php">PHP(社区)</a></td></tr><tr></tr> <tr><td>代理框架</td><td><a href="https://github.com/livekit/agents">Python</a> · <a href="https://github.com/livekit/agent-playground">演练场</a></td></tr><tr></tr> <tr><td>服务</td><td><b>LiveKit服务器</b> · <a href="https://github.com/livekit/egress">出口</a> · <a href="https://github.com/livekit/ingress">入口</a> · <a href="https://github.com/livekit/sip">SIP</a></td></tr><tr></tr> <tr><td>资源</td><td><a href="https://docs.livekit.io">文档</a> · <a href="https://github.com/livekit-examples">示例应用</a> · <a href="https://livekit.io/cloud">云</a> · <a href="https://docs.livekit.io/home/self-hosting/deployment">自托管</a> · <a href="https://github.com/livekit/livekit-cli">CLI</a></td></tr> </tbody> </table> <!--END_REPO_NAV-->

编辑推荐精选

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成热门AI工具AI图像AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具使用教程AI营销产品酷表ChatExcelAI智能客服
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

热门AI工具生产力协作转型TraeAI IDE
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

数据安全AI助手热门AI工具AI辅助写作AI论文工具论文写作智能生成大纲
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

热门AI工具AI办公办公工具智能排版AI生成PPT博思AIPPT海量精品模板AI创作
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

下拉加载更多