OSSのビデオ会議比較:Jitsi Meet vs BigBlueButton vs Element Call でZoom代替をセルフホスト
オープンソースラボ編集部 ・ 2026年6月13日
OSSのビデオ会議比較:Jitsi Meet vs BigBlueButton vs Element Call でZoom代替をセルフホスト
Zoom(月$15/ホスト〜)・Microsoft Teams(月$6/ユーザー〜)に対して、Jitsi Meet(最も手軽なZoom代替)・BigBlueButton(教育・ウェビナー特化)・Element Call(Matrix/E2E暗号化重視)はOSSのビデオ会議システムです。
セルフホストビデオ会議が求められる場面
- プライバシー・コンプライアンス: GDPR対応が必要な欧州医療・法務・政府機関
- コスト削減: 大規模ユーザー数(100人超)でZoom/Teams比70〜90%削減
- カスタマイズ: 自社ブランドの会議室・ウェビナープラットフォームを構築
- 社内限定通話: 外部サービスにデータを渡せないセキュリティ要件
主要ツールの概要
Jitsi Meet
2003年に開発が始まったJava製のOSSビデオ会議システムです。GitHubスター23k+。最も簡単にセルフホストできるZoom代替で、ブラウザのみで参加可能(アプリ不要)、最大75名同時接続、画面共有・チャット・投票・挙手機能を標準装備。Docker一発起動でセットアップが完了します。
# Jitsi MeetをDockerで起動(最小構成)
git clone https://github.com/jitsi/docker-jitsi-meet
cd docker-jitsi-meet
cp env.example .env
# .env の設定(最低限)
cat > .env << 'EOF'
HTTP_PORT=80
HTTPS_PORT=443
PUBLIC_URL=https://meet.yourcompany.com
ENABLE_AUTH=1
ENABLE_GUESTS=0
LETSENCRYPT_DOMAIN=meet.yourcompany.com
LETSENCRYPT_EMAIL=admin@yourcompany.com
JICOFO_AUTH_PASSWORD=your-jicofo-password
JVB_AUTH_PASSWORD=your-jvb-password
JIGASI_XMPP_PASSWORD=your-jigasi-password
JIBRI_RECORDER_PASSWORD=your-jibri-password
EOF
# 必要なディレクトリを作成
mkdir -p ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody/config,prosody/prosody-plugins-custom,jicofo,jvb,jigasi,jibri}
# 起動
docker compose up -d
# ブラウザで https://meet.yourcompany.com にアクセス
// Jitsi IFrame APIで自社サービスにビデオ会議を埋め込む
// フロントエンド(Next.js/React)での実装
const JitsiMeetComponent = ({ roomName, userInfo }) => {
const containerRef = useRef(null);
const apiRef = useRef(null);
useEffect(() => {
// Jitsi IFrame APIを動的ロード
const script = document.createElement("script");
script.src = "https://meet.yourcompany.com/external_api.js";
script.onload = () => {
const options = {
roomName: roomName,
width: "100%",
height: 600,
parentNode: containerRef.current,
userInfo: {
displayName: userInfo.name,
email: userInfo.email,
},
configOverwrite: {
startAudioOnly: false,
startWithAudioMuted: true, // 参加時はミュート
startWithVideoMuted: false,
enableWelcomePage: false,
prejoinPageEnabled: false, // 事前設定画面をスキップ
disableDeepLinking: true,
toolbarButtons: [
"microphone", "camera", "chat",
"desktop", "fullscreen", "raisehand",
"tileview", "videoquality", "closedcaptions",
],
},
interfaceConfigOverwrite: {
SHOW_JITSI_WATERMARK: false,
SHOW_BRAND_WATERMARK: false,
DEFAULT_BACKGROUND: "#1a1a2e",
},
};
apiRef.current = new window.JitsiMeetExternalAPI(
"meet.yourcompany.com",
options
);
// イベントリスナー
apiRef.current.addEventListener("videoConferenceJoined", () => {
console.log("会議に参加しました");
});
apiRef.current.addEventListener("participantJoined", ({ id, displayName }) => {
console.log(`${displayName} が参加しました`);
});
apiRef.current.addEventListener("videoConferenceLeft", () => {
console.log("会議を退出しました");
onMeetingEnd?.();
});
};
document.head.appendChild(script);
return () => {
apiRef.current?.dispose();
document.head.removeChild(script);
};
}, [roomName]);
return <div ref={containerRef} style={{ width: "100%", height: 600 }} />;
};
# Jitsiの会議録画設定(Jibri)
# Jibri(Jitsi Broadcasting Infrastructure)で会議をMP4録画・YouTube Live配信
# docker-compose.override.yml でJibriを有効化
cat >> .env << 'EOF'
ENABLE_RECORDING=1
ENABLE_STREAMING=1
JIBRI_XMPP_USER=jibri
JIBRI_XMPP_PASSWORD=your-jibri-xmpp-password
JIBRI_BREWERY_MQ_USERNAME=jibri
EOF
docker compose --profile jibri up -d
# 録画ファイルは ~/.jitsi-meet-cfg/jibri/recordings/ に保存
BigBlueButton
2007年に公開されたOSSのウェビナー・オンライン学習プラットフォームです。GitHubスター9k+。教育機関向けに特化しており、プレゼンテーション(PDF・PowerPoint)のリアルタイム表示・ホワイトボード・投票・小グループルーム(ブレイクアウトルーム)・録画・字幕・LMS連携(Moodle・Canvas)を提供。授業・ウェビナー・セミナーに最適です。
# BigBlueButton 2.7 のインストール(Ubuntu 20.04 LTS 推奨)
# 最低要件: 16GB RAM / 8コア / 100GB SSD
# インストールスクリプト(推奨方法)
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install-2.7.sh | bash -s -- -v focal-270 -s bbb.yourcompany.com -e admin@yourcompany.com -g # Greenlight(管理UI)も同時インストール
# インストール後の確認
bbb-conf --check # 設定チェック
bbb-conf --status # サービス状態確認
bbb-conf --salt # API Salt(秘密鍵)確認
# BigBlueButton APIをPythonで呼び出してミーティングを作成
import hashlib
import requests
from urllib.parse import urlencode
BBB_URL = "https://bbb.yourcompany.com/bigbluebutton/api"
BBB_SECRET = "your-bbb-secret-key"
def bbb_request(endpoint, params):
query = urlencode(params)
checksum_str = endpoint + query + BBB_SECRET
checksum = hashlib.sha256(checksum_str.encode()).hexdigest()
url = f"{BBB_URL}/{endpoint}?{query}&checksum={checksum}"
resp = requests.get(url)
return resp.text
# ミーティングを作成
params = {
"meetingID": "webinar-2026-06-14",
"name": "AI活用ウェビナー2026",
"attendeePW": "attendee123",
"moderatorPW": "mod456",
"record": "true", # 録画有効
"autoStartRecording": "true",
"allowStartStopRecording": "false",
"maxParticipants": "100",
"welcome": "ウェビナーへようこそ!",
"muteOnStart": "true",
}
result = bbb_request("create", params)
print(result)
# 参加URLを生成
def get_join_url(meeting_id, full_name, password, user_id=""):
join_params = {
"meetingID": meeting_id,
"fullName": full_name,
"password": password,
"userID": user_id,
"redirect": "true",
}
query = urlencode(join_params)
checksum_str = "join" + query + BBB_SECRET
checksum = hashlib.sha256(checksum_str.encode()).hexdigest()
return f"{BBB_URL}/join?{query}&checksum={checksum}"
moderator_url = get_join_url("webinar-2026-06-14", "山田太郎(司会)", "mod456", "host-001")
attendee_url = get_join_url("webinar-2026-06-14", "鈴木花子", "attendee123", "att-001")
機能比較表
| 比較項目 | Jitsi Meet | BigBlueButton | Element Call |
|---|---|---|---|
| セットアップ難易度 | 低(Docker) | 高(専用VPS) | 中 |
| 最大同時接続 | 75名(推奨) | 150名+ | 50名程度 |
| ウェビナー機能 | 限定的 | ✅(最強) | ❌ |
| E2E暗号化 | 限定的 | ❌ | ✅(Matrix) |
| 録画 | ✅(Jibri) | ✅(標準) | 実験的 |
| LMS統合 | ❌ | ✅(Moodle/Canvas) | ❌ |
| GitHub Stars | 23k+ | 9k+ | 2k+ |
ビデオ会議のリンクをチームに通知するにはCommunicationカテゴリ/categories/communicationのSlack/Rocketを使います。会議の認証はSecurityカテゴリ/categories/securityのKeycloak SSOと統合できます。
FAQ
Q. Jitsi MeetとZoomの機能差はどのくらいありますか?
A. Jitsi Meetが同等な機能: 画面共有・チャット・挙手・投票・ブレイクアウトルーム(簡易)・バーチャル背景・録画(Jibri)。ZoomにあってJitsiにない主な機能: ①同時100〜300名の安定性(Jitsiは75名超で品質低下しやすい)②字幕・文字起こし(ZoomはAI字幕が組み込み)③Webinar機能(Jitsiは一般会議のみ)④ダイヤルイン(電話参加は複雑な設定が必要)。10〜50名の社内ミーティングはJitsiで十分。100名超のウェビナーはBigBlueButton推奨。
Q. Jitsiをセルフホストする際のサーバー要件は?
A. 同時接続数によって異なります。10名まで: 4コア・4GB RAM・SSD 20GB(月$10〜20のVPS)。25名まで: 8コア・8GB RAM(月$40〜60)。50名まで: 16コア・16GB RAM + 帯域50Mbps(月$100〜150)。75名まで: 32コア・32GB RAM + 帯域100Mbps(月$200〜300)。JVB(Jitsi Videobridge)が帯域幅を最も消費するため、帯域上限のないクラウドVMを推奨。複数のJVBを分散配置することでスケールアップできます。
Q. BigBlueButtonとMoodleをシングルサインオンで統合するには?
A. BigBlueButton公式のMoodleプラグインが推奨です。①Moodle管理画面 → プラグイン → 外部ツール → LTI 1.3で新規接続追加②BigBlueButton管理画面でLTI設定(Consumer Key・Secret)を取得③Moodleのコース内に「ビデオ会議」アクティビティを追加してBBBに接続するとMoodleの認証情報でBBBに自動ログイン。SSO完了後は学生リストが自動インポートされ、出欠管理もMoodle上で完結します。
Q. Element Call(Matrix)はJitsi Meetより安全ですか?
A. セキュリティの観点では: Element CallはMatrixプロトコルに基づくE2E暗号化(End-to-End Encryption)を使用するため、サーバー管理者でも通話内容を復号できません。Jitsi MeetはデフォルトではSFU(選択的転送ユニット)方式でサーバーが一時的に映像を処理するため、技術的にはサーバー側で傍受可能です(JitsiのE2EE実験モードを有効にすれば完全E2EEも可能)。医療・法律・機密情報を扱う通話はElement Call(またはJitsi E2EEモード)推奨。社内一般ミーティングはJitsiの標準構成で十分なセキュリティです。
まとめ
| ユースケース | 推奨ツール |
|---|---|
| Zoom代替・一般ミーティング・手軽なセルフホスト | Jitsi Meet |
| ウェビナー・授業・LMS統合・教育機関 | BigBlueButton |
| E2E暗号化重視・Matrix連携 | Element Call |