livekit

End-to-end realtime stack for connecting humans and AI

動画・配信Agoraの代替Twilioの代替Apache-2.0
17,871 スター1,836 フォーク
AIによる要約
ひとことで言うと

自社のアプリやサービスにビデオ通話・音声通話・リアルタイムデータ通信の機能を組み込むための、無料で使えるオープンソースの基盤ソフトウェアです。

こんな方におすすめ

・企業:社内システムやサービスにビデオ会議機能を独自に搭載したい場合、自社サーバーで運用することでデータを外部に渡さず、セキュリティポリシーを守りながら導入できます。 ・スタートアップ:ビデオ通話やAI音声アシスタントを搭載したアプリを開発する際、ゼロから作る必要がなく開発期間を大幅に短縮でき、利用者が増えても対応できる拡張性を最初から備えられます。 ・個人事業主・フリーランス:クライアント向けにオンライン相談やライブ配信の仕組みを自分のサービスに取り入れたいとき、月額費用を抑えながら本格的な通話機能を実装することができます。

有料サービスとの違い

TwilioやAgoraといった有料のビデオ通話APIは使った分だけ費用が発生しますが、LiveKitは自社サーバーで運用すれば通信量に関わらず追加料金がかかりません。またソースコードが公開されているため、機能のカスタマイズや社内データの管理方針に合わせた柔軟な運用が可能です。

<!-begin_banner_image-->。

<画像 </picture

LiveKit:開発者のためのリアルタイムのビデオ、オーディオ、データ

LiveKitは、WebRTCに基づいたスケーラブルなマルチユーザー会議を提供するオープンソースプロジェクトです。 アプリケーションにリアルタイムのビデオ・オーディオ・データ機能を構築するために必要なすべてを提供するように設計されています。

LiveKitのサーバーはGoで書かれており、素晴らしいPion WebRTCの実装を使用しています。

GitHubスター](https://github.com/livekit/livekit/stargazers/) Slackコミュニティ](https://livekit.io/join-slack) Twitterフォロー](https://twitter.com/livekit) Ask DeepWiki GitHubリリース(最新SemVer) GitHubワークフロー状況 ライセンス](https://github.com/livekit/livekit/blob/master/LICENSE)

機能

ドキュメント&ガイド

https://docs.livekit.io

ライブデモ

エコシステム

SDKとツール

クライアント SDK

クライアントSDKは、フロントエンドにインタラクティブなマルチユーザーエクスペリエンスを提供します。

サーバーSDK

サーバーSDKは、バックエンドがアクセストークンを生成することを可能にします、 サーバーAPI](https://docs.livekit.io/reference/server/server-apis/)を呼び出し webhooks](https://docs.livekit.io/home/server/webhooks/)を受け取ることができます。さらに、Go SDKにはクライアント機能も含まれています、 エンドユーザーのように動作する自動化を構築できます。

| 言語|レポ|ドキュメント | :---------------------- | :-------------------------------------------------------------------------------------- | :---------------------------------------------------------- | | Go|server-sdk-godocs||です。 | JavaScript(TypeScript)|server-sdk-js|docs | Ruby | server-sdk-ruby | | Java (Kotlin) | server-sdk-kotlin | | Python (community) | server-sdk-js | docs | Python (コミュニティ) | python-sdk | | | PHP (コミュニティ) | agence104/livekit-server-sdk-php | |

ツール

インストール

サーバーと一緒にLiveKit CLIをインストールすることをお勧めします。 サーバと一緒に LiveKit CLI をインストールすることをお勧めします。これによって サーバーのAPIにアクセスしたり、トークンを作成したり、テストトラフィックを生成したりすることができます。

以下はLiveKitのメディアサーバーをインストールする方法です:

MacOS

シェル brew install livekit


### Linux

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

Windows

最新リリースはこちら](https://github.com/livekit/livekit/releases/latest)をダウンロードしてください。

スタート

LiveKitの起動

livekit-server--dev`を実行して、LiveKitを開発モードで起動します。プレースホルダの API キーと秘密のペアが使用されます。

APIキー: devkey
API シークレット: secret

本番用に設定をカスタマイズするには、deployment docs を参照してください。

アクセストークンの作成

LiveKitルームに接続するユーザーには、アクセストークンが必要です。アクセストークン トークン(JWT)は、ユーザーのIDと、ユーザーに付与されたルームのアクセス許可を暗号化したものです。トークンは CLIで生成できます:

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


### サンプルアプリでテスト

サンプルアプリ](https://example.livekit.io)にアクセスし、生成されたトークンを入力してLiveKitサーバーに接続します。
サーバーに接続します。このアプリは[React SDK](https://github.com/livekit/livekit-react)でビルドされています。

接続が完了すると、ビデオとオーディオが新しいLiveKitインスタンスにパブリッシュされます!

### テストパブリッシャーのシミュレーション

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

このコマンドはループしたデモビデオをルームに公開します。ビデオクリップのエンコード方法(3秒ごとのキーフレーム)により、ブラウザがフレームのレンダリングを開始するまでに若干の遅延があります、 ブラウザがフレームのレンダリングを開始するのに十分なデータを取得するまでに若干の遅延があります。これは シミュレーションによるものです。

配置

LiveKitクラウドを使う

LiveKit クラウドは、LiveKit を実行するための最も高速で信頼性の高い方法です。すべてのプロジェクトは、毎月無料の帯域幅と トランスコーディングクレジットをご利用いただけます。

LiveKit Cloud](https://cloud.livekit.io/)にサインアップしてください。

セルフホスト

詳しくはdeployment docsをお読みください。

ソースからのビルド

前提条件

  • Go 1.23+ がインストールされている
  • GOPATH/bin が PATH にあること

次に

シェル git clone https://github.com/livekit/livekit cd livekit ./bootstrap.sh メイジ


## 貢献する

LiveKit をより良くするためのあなたの貢献を歓迎します!ぜひご参加ください
(http://livekit.io/join-slack) に参加してください。

## ライセンス

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/agents">Python</a> - <a href="https://github.com/livekit/agents-js">Node.js</a></td></tr><tr></tr>
<tr><td>LiveKit SDKs</td><td><a href="https://github.com/livekit/client-sdk-js">ブラウザ</a> - <a href="https://github.com/livekit/client-sdk-swift">Swift</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">リアクト・ネイティブ</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">Unity</a> - <a href="https://github.com/livekit/client-sdk-unity-web">Unity (WebGL)</a> - <a href="https://github.com/livekit/client-sdk-esp32">ESP32</a> - <a href="https://github.com/livekit/client-sdk-cpp">C++</a></td></tr><tr></tr>
<tr><td>スターター アプリ</td><td><a href="https://github.com/livekit-examples/agent-starter-python">Python Agent</a> - <a href="https://github.com/livekit-examples/agent-starter-node">TypeScript Agent</a> - <a href="https://github.com/livekit-examples/agent-starter-react">React App</a> - <a href="https://github.com/livekit-examples/agent-starter-swift">SwiftUI App</a> - <a href="https://github.com/livekit-examples/agent-starter-android">Android アプリ</a> - <a href="https://github.com/livekit-examples/agent-starter-flutter">Flutter アプリ</a> - <a href="https://github.com/livekit-examples/agent-starter-react-native">React Native アプリ</a> - <a href="https://github.com/livekit-examples/agent-starter-embed">Web Embed</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 (community)</a> - <a href="https://github.com/pabloFuente/livekit-server-sdk-dotnet">.NET (community)</a></td></tr><tr></tr>

<tr><td>LiveKitサーバーOSS</td><td><b>LiveKitサーバー</b> - <a href="https://github.com/livekit/egress">Egress</a> - <a href="https://github.com/livekit/ingress">Ingress</a> - <a href="https://github.com/livekit/sip">SIP</a></td></tr><tr></tr>
<tr><td>コミュニティ</td><td><a href="https://community.livekit.io">開発者コミュニティ</a> - <a href="https://livekit.io/join-slack">Slack(スラック)</a> - <a href="https://x.com/livekit">X(エックス)</a> - <a href="https://www.youtube.com/@livekit_io">YouTube(ユーチューブ)</td></tr></td
</tbody>
</table> </table> </table
<!--end_repo_nav-->