WebRTC / LiveKit
公式サイトWebRTC / LiveKitとは
WebRTCは、ブラウザやアプリの間で音声・映像・データを、専用ソフトを入れずにリアルタイムでやり取りするための標準技術です。ビデオ通話や画面共有、ライブ配信の土台として使われています。ただしWebRTCそのものは通信の仕組みであり、多人数の通話、参加者の管理、通信品質の調整、録画といった実用に必要な部分は別途構築が必要です。LiveKitは、これらをまとめて提供するオープンソースの基盤で、サーバー側の仕組みと、Webやスマートフォンアプリ向けの開発キットが用意されています。
弊社が採用する理由
弊社では、ビデオ通話やオンライン相談、ライブ配信といったリアルタイムの音声・映像機能を持つシステムの開発で、WebRTCとLiveKitを採用しています。WebRTCを直接扱うと、通信経路の確立や多人数への配信、通信品質の調整など、実装と運用の難易度が高い部分を自前で作ることになりますが、LiveKitの開発キットを使うことで、これらを標準的な方法で組み込めます。Next.jsで作る画面からLiveKitに接続し、参加者の管理や権限の制御はLaravelやNode.jsで作る業務側のシステムが担う構成にしています。録画した映像はAWSで変換・保存し、後から視聴できる形で配信する構成も組んでいます。Pusherのようなリアルタイム通知の仕組みと組み合わせ、通話の開始や参加者の入退室を画面に即時反映することもあります。
向いている案件
- オンライン相談やビデオ通話の機能を持つ業務システム
- 多人数が参加するオンラインイベントやライブ配信
- 通話の録画と後からの視聴を組み合わせたサービス
保守・移行の観点
音声・映像のリアルタイム通信は、ブラウザやスマートフォンのOSの更新の影響を受けやすいため、主要な環境での動作確認を定期的に行う必要があります。LiveKitの開発キットとサーバー側の版は合わせて更新し、ステージング環境で通話の開始から終了までを実際に検証してから本番に反映します。通信量に応じた費用と、サーバーの負荷の監視が運用の要で、同時接続数の上限を設計時に見積もっておきます。通信品質の問題は利用者側のネットワークに起因することも多いため、切り分けの手順を運用資料に含めています。
組み合わせて使う技術
よくあるご質問
既存の業務システムにビデオ通話機能を追加できますか?
可能です。通話部分をLiveKitで構築し、既存システムの会員情報や予約情報と連携させる構成をご提案します。既存システムの技術構成を確認したうえで進め方を検討します。
同時に何人まで参加できますか?
構成と費用によって大きく異なります。想定する利用場面と参加人数を伺い、必要なサーバー構成と費用の見積もりをお出しします。
関連するサービス
関連する開発ガイド
- 要件定義とは何をすることか — 発注前に整理したい5つのこと要件定義はシステムで何を実現するかを合意する工程です。発注前に整理したい目的と成功条件、現状業務の流れ、利用者と権限、扱うデータ、やらないことの5つを、想定例を交えて解説します。
- レンタルサーバー・VPS・クラウドの違いと選び方レンタルサーバー・VPS・クラウドの3種を、管理範囲・自由度・運用負荷の観点で比較し、中小企業のWebサイトや業務システムにどれが合うかを判断する考え方と、保守との関係を解説します。
- 納品後の保守・運用で何が必要かシステムは納品後も動かし続ける必要があります。監視、バックアップと復元テスト、OS・ミドルウェア・CMSのアップデート、ステージングでの検証、保守契約の範囲という基本を整理します。
監修: Unlogical Systems合同会社(杉並区・西荻窪)公開