Jitsi Meet徹底解説:自社サービスに組み込むビデオ会議の力


Jitsi Meet徹底解説:自社サービスに組み込むビデオ会議の力

jitsi/jitsi-meet

2025-08-18

「あ、どうもー。大阪府ですわー。お好み焼きとたこ焼きと、あと商売の腕前なら負けへんでー!」

「へいへい、大阪さん、今日はJitsi Meetってやつの説明をするんだってさ。気合い入れていこうぜ!」

「Jitsi Meetね!ほな、ワイも張り切って説明するでー!このJitsi Meetって、言わば『オンライン会議の万能選手』やねん。手軽にサクッと使えるし、自分でサーバー立ててカスタマイズもできるから、エンジニアさんにはたまらん魅力があるんやで!」

「そうそう!大阪さんの言う通り!Jitsi Meetは、簡単に言うとWebRTCを使ったビデオ会議システムなんだけど、普通のビデオ会議サービスと何が違うかっていうと、自分でサーバーを立てて運用できるってことなんだ。だから、外部のサービスに頼らずに、自分たちだけの安全なビデオ会議環境を作れちまうんだ!」

「せやろー!うちの会社でも、セキュリティが厳しくて、外部のサービスはちょっと……って時によく使うんやで。あと、自社サービスにビデオ会議機能を追加したい時にも、簡単に組み込めるからホンマに便利やねん。」

「ふむふむ、そうかぁ。大阪さん、その『どう役に立つのか』ってところ、もっと詳しく教えてくれるかい?」

「まかせとき!いくつかポイントがあるで!」

プライバシーとセキュリティの確保

「まずはこれやね!外部のサービスを使うと、会議の内容が第三者のサーバーを経由してしまう可能性があるんやけど、自分でサーバーを立てれば、社内のネットワーク内で会議が完結するから、情報漏洩のリスクをグッと減らせるんや。会社の秘密会議や顧客との重要なミーティングでも、安心して使えるで!」

柔軟なカスタマイズ

「次に、カスタマイズ性やね。Jitsi Meetはオープンソースやから、自分でコードをいじって、ロゴを変えたり、機能を足したり、見た目を変えたり、好きにできるんや。例えば、自社サービスの色に合わせて画面の色を変えたり、独自の認証システムと連携させたり、自由自在やで!」

自社サービスへの組み込み(Embedding)

「これが一番の魅力かもね!自社のWebサービスやアプリケーションの中に、Jitsi Meetのビデオ会議機能を埋め込めるんや。例えば、オンラインの学習サービスなら、先生と生徒が対面で話せるようにしたり、ECサイトなら、購入前に店員さんとビデオ通話で相談できる機能を追加したりできるで。ホンマに可能性は無限大や!」

低コストでの運用

「最後に、コストやね。大規模な有料サービスだと、参加人数や時間によって費用がかさむんやけど、自分でサーバーを立ててしまえば、サーバー代だけで済むから、コストを抑えられるんや。初期投資はいるかもしれへんけど、長期的に見ればお得なことが多いで!」

「いやー、大阪さん、さすが商売人!説明が上手いねぇ!じゃあ、俺からは具体的な導入方法を教えるぜ!今回は、俺たちがよく使うDebian/Ubuntu系のOSでのやり方を説明するぜ。」

サーバーの準備

まずは、Jitsi Meetをインストールするためのサーバーを用意しよう。

メモリは2GB以上、CPUは2コア以上が推奨だ。

OSはDebian 11 (bullseye) か Ubuntu 22.04 (Jammy Jellyfish) あたりがいいぜ。

ドメイン名も必要になるから、事前に取得しておいてくれよな。

システムアップデートとパッケージのインストール

サーバーにログインしたら、まずはシステムを最新の状態にしよう。

sudo apt update
sudo apt upgrade -y

次に、Jitsi Meetのインストールに必要なnginxなどのパッケージをインストールするぜ。

sudo apt install nginx -y

Jitsi Meetリポジトリの追加

Jitsi Meetは公式のパッケージリポジトリからインストールするのが一番楽だ。

curl https://download.jitsi.org/jitsi-key.gpg.key | sudo sh -c 'gpg --dearmor > /usr/share/keyrings/jitsi-keyring.gpg'
echo 'deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/' | sudo tee /etc/apt/sources.list.d/jitsi-stable.list > /dev/null

リポジトリを追加したら、もう一度アップデート!

sudo apt update

Jitsi Meetのインストール

いよいよメインだ!jitsi-meetパッケージをインストールしよう。

sudo apt install jitsi-meet -y

インストール中に、ドメイン名を聞かれるから、事前に準備したドメイン名を入力してくれよ。例えば、meet.your-domain.comみたいな感じだ。

証明書の設定も自動でやってくれるから、Let's Encryptの証明書を使いたい場合は、メールアドレスを入力してくれ。

ファイアウォールの設定

Jitsi Meetが使うポートを開けておかないと、ビデオ会議ができないぜ。

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 10000/udp
sudo ufw allow 22/tcp
sudo ufw allow 3478/udp
sudo ufw allow 5349/tcp
sudo ufw enable

「これで、ブラウザで設定したドメインにアクセスすれば、Jitsi Meetが動いてるはずだぜ!いやー、なんて簡単なんだ!」

「せやせや!ケンイチさん、導入方法もわかったとこで、ワイのイチオシポイント、埋め込み方(Embedding)のサンプルコードも見ていこか!」

「これはめっちゃ簡単やで!たった数行のJavaScriptコードで、あなたのサービスにビデオ会議機能を組み込めるんや!」

<div id="jitsi-container" style="height: 700px; width: 100%;"></div>

<script>
    // Jitsi Meet APIのスクリプトを読み込むんや
    var script = document.createElement('script');
    script.src = 'https://meet.your-domain.com/external_api.js'; // ここはあなたのJitsi MeetサーバーのURLにせなあかんで!
    document.head.appendChild(script);

    script.onload = () => {
        // APIを初期化するんやで!
        const domain = 'meet.your-domain.com';
        const options = {
            roomName: 'MyAwesomeConferenceRoom', // 会議室の名前を決めるんや!
            parentNode: document.querySelector('#jitsi-container'),
            configOverwrite: {
                // ここで色んな設定を上書きできるんや。
                // 例えば、参加者名を入力する画面をスキップしたり、
                // ツールバーを非表示にしたりできるで。
                prejoinPageEnabled: false
            },
            interfaceConfigOverwrite: {
                // UIに関する設定もいじれるで!
                TOOLBAR_BUTTONS: ['microphone', 'camera', 'desktop', 'hangup', 'chat', 'settings']
            }
        };

        const api = new JitsiMeetExternalAPI(domain, options);

        // イベントリスナーを追加して、会議の状態を把握できるで!
        api.addEventListener('videoConferenceJoined', (event) => {
            console.log('会議に参加しました!');
            // 参加者の名前を設定することもできるで!
            api.executeCommand('displayName', 'ユーザーA');
        });

        api.addEventListener('participantLeft', (event) => {
            console.log('参加者が退出しました。');
        });
    };
</script>

「どうや!このコードをWebページに貼り付けるだけで、立派なビデオ会議機能ができあがるんやで!ワイの会社のサービスでも、この機能で売り上げがグンと上がったんや!」

「いやー、大阪さん、流石だね!エンジニア目線でも、これはめちゃくちゃ嬉しい情報だぜ!Jitsi Meetは、単なるビデオ会議ツールじゃなくて、僕たちエンジニアの創造性を広げてくれる、素晴らしいツールってわけだね!」

「せやろ!さあ、皆さん!Jitsi Meetを使いこなして、最高のサービス作ってやー!ほな、今日はこの辺で失礼しますわ!」


jitsi/jitsi-meet




【コントで学ぶ】彼女の下着は何色?で LiveKit を知る

はい、承知いたしました。ソフトウェアエンジニアの視点から、LiveKit がどのように役立つのか、導入方法、そしてサンプルコードの例を、コント形式で、わかりやすく丁寧にご説明しますね。登場人物佐藤 ソフトウェアエンジニア。最近、リアルタイムコミュニケーション機能の実装に頭を悩ませている。


【爆速開発】LiveKit Agentsで作る、アサヒ級にキレのあるリアルタイムAIエージェント

「AIとリアルタイムで会話する」という体験を、日本の4大ビールメーカーのブランドイメージになぞらえて、その魅力と実装方法を紐解いていきましょう!LiveKit Agentsを一言で言うと、「超低遅延で動くAIエージェントを爆速で開発できるフレームワーク」です。


【脱・手作業】Reactエンジニアよ、動画編集もコードで「自動課金」せよ!Remotion入門

まさにRemotionは、私たちが普段ウェブサイトを作るのと同じ感覚で、Reactのコンポーネントを組み合わせて「MP4動画」を錬成できるライブラリです。ゲーム課金に例えるなら、「ガチャの演出をポチポチ手で作るんじゃなくて、スクリプトを組んで全パターンの排出アニメーションを自動生成する」みたいなチート級の効率化が可能になります。


AI音声対話アプリを爆速開発!TEN-framework入門

TEN-frameworkは、リアルタイムの音声AIエージェントを構築するためのオープンソースフレームワークです。これを使うと、ビデオや音声を使った対話型AIアプリケーションを簡単に作ることができます。音声認識、自然言語処理、音声合成といった、複数のAI技術を統合して、まるで人間と話しているかのようなスムーズな会話を実現します。


エンジニアの空模様も快晴に!動画アプリ開発の教科書、NewPipeの世界へようこそ

今回ご紹介するのは、GitHubで非常に高い人気を誇るオープンソース・プロジェクト、NewPipeです。エンジニアの視点から見ると、このプロジェクトはまさに「快晴」のような、学びと発見の宝庫なんですよ。NewPipeは、YouTubeなどの動画プラットフォームを、公式APIを使わずに視聴できるAndroid用の軽量フロントエンドです。