Jitsi Meet in eigene Anwendungen integrieren – mit Code-Beispielen

Hinweis zum Inhalt: Die Informationen in diesem Artikel wurden nach bestem Wissen zum Zeitpunkt der Veröffentlichung zusammengestellt. Technische Details, Preise, Versionen, Lizenzmodelle und externe Inhalte können sich ändern. Bitte prüfen Sie die genannten Angaben eigenständig, insbesondere vor geschäftskritischen oder sicherheitsrelevanten Entscheidungen. Dieser Artikel ersetzt keine individuelle Fach-, Rechts- oder Steuerberatung.

Jitsi Meet ist ein freies, WebRTC-basiertes Videokonferenzsystem unter Apache-2.0-Lizenz. Es läuft vollständig im Browser und kann self-hosted betrieben werden. Durch die modulare Architektur aus Jitsi Videobridge (SFU), Jicofo, Prosody, Jibri und Jigasi eignet es sich hervorragend für Integrationen, Rebranding und Automatisierung. Infos: Jitsi Meet, Architektur.
Warum Einbettung für Unternehmen sinnvoll ist
- DSGVO & Datenhoheit: Betrieb in eigener oder europäischer Infrastruktur.
- Browser-basiert: Hohe Kompatibilität ohne Client-Installation.
- APIs & SDKs: Vom schnellen iFrame-Embed bis zur Low-Level-Steuerung über lib-jitsi-meet.
- Skalierbar: Horizontal über zusätzliche Videobridges.
Inhaltsverzeichnis
- 2) Integrationswege im Überblick
- 3) iFrame/External API: schnelles Web-Embedding mit Events und Commands
- 4) lib-jitsi-meet: Low-Level-API für eine eigene Web-UI
- 5) Mobile Integration: Jitsi SDK für Android und iOS
- 6) Zugriff und Authentifizierung: Secure Domain und JWT
- 7) Monitoring und Betrieb: Colibri-REST (Bridge-Ebene)
- 8) Self-Hosting, DSGVO und Betrieb
- 9) Fazit
- Kostenloses Beratungsgespräch vereinbaren
- Quellen und weiterführende Links
2) Integrationswege im Überblick
| Integration | Zweck | Quelle |
|---|---|---|
| iFrame/External API (JavaScript) | Schnellster Weg für Web-Embedding und Meeting-Steuerung in der App | iFrame API |
| lib-jitsi-meet (Low-Level JS API) | Eigene UI bauen, Medien & Signalisierung direkt steuern | lib-jitsi-meet, Repo |
| Mobile SDKs (Android/iOS) | Native Integration in mobile Apps inkl. Feature-Flags | Android SDK Guide, SDK-Samples |
| JWT & Secure Domain | Zutrittskontrolle und Rechte über Tokens bzw. Prosody-Accounts | Secure Domain, Token Auth |
| Colibri-REST (Videobridge) | Betreiber-Schnittstelle für Monitoring/Control auf Bridge-Ebene | JVB REST |
| Self-Hosting-Guides | Schnellstart für Debian/Ubuntu oder Docker | Quickstart, Docker Guide |
3) iFrame/External API: schnelles Web-Embedding mit Events und Commands
Minimal-Beispiel:
<div id="meet"></div>
<script src="https://meet.jit.si/external_api.js"></script>
<script>
const domain = "meet.jit.si"; // oder eigene Instanz: "meet.example.com"
const options = {
roomName: "DemoRoom123",
width: "100%",
height: 700,
parentNode: document.querySelector('#meet')
};
const api = new JitsiMeetExternalAPI(domain, options);
</script>
Quelle: iFrame API – Getting started.
Events & Commands:
// Teilnehmer-Events
api.addEventListener('participantJoined', e => console.log('joined', e));
api.addEventListener('participantLeft', e => console.log('left', e));
// Meeting steuern
api.executeCommand('toggleAudio');
api.executeCommand('toggleVideo');
// Moderation (mit passenden Rechten)
api.executeCommand('kickParticipant', 'PARTICIPANT_ID'); // ID aus Events entnehmen
Referenz: Events und Commands.
Erweiterte Funktionen:
// Breakout-Raum anlegen
api.executeCommand('addBreakoutRoom', 'Workshop');
// Teilnehmer in Breakout-Raum verschieben
api.executeCommand('sendParticipantToRoom', {
participantId: 'abcd1234',
roomName: 'Workshop'
});
// Hand heben / senken
api.executeCommand('toggleRaiseHand');
// Tile-View toggeln
api.executeCommand('toggleTileView');
// Aufzeichnung starten/stoppen (erfordert Jibri)
api.executeCommand('startRecording', { mode: 'file' });
api.executeCommand('stopRecording', 'file');
4) lib-jitsi-meet: Low-Level-API für eine eigene Web-UI
Mit lib-jitsi-meet steuerst du Verbindung, Räume und Medien direkt. Ideal, wenn du eine eigene UI entwickeln möchtest.
<script src="https://meet.jit.si/libs/lib-jitsi-meet.min.js"></script>
<script>
// 1) Init
JitsiMeetJS.init();
// 2) Verbindung
const options = {
hosts: {
domain: 'meet.example.com',
muc: 'conference.meet.example.com'
},
serviceUrl: 'wss://meet.example.com/xmpp-websocket'
};
const connection = new JitsiMeetJS.JitsiConnection(null, null, options);
// 3) Events
connection.addEventListener(JitsiMeetJS.events.connection.CONNECTION_ESTABLISHED, onConnected);
connection.addEventListener(JitsiMeetJS.events.connection.CONNECTION_FAILED, console.error);
connection.addEventListener(JitsiMeetJS.events.connection.CONNECTION_DISCONNECTED, console.warn);
connection.connect();
function onConnected() {
// 4) Conference + Events
const confOpts = { openBridgeChannel: true };
const room = connection.initJitsiConference('myRoom', confOpts);
room.on(JitsiMeetJS.events.conference.CONFERENCE_JOINED, () => console.log('joined'));
room.on(JitsiMeetJS.events.conference.TRACK_ADDED, track => {
const el = track.getOriginalElement?.() || track.attach(document.createElement(track.getType()));
document.body.append(el);
});
// 5) Lokale Tracks hinzufügen
JitsiMeetJS.createLocalTracks({ devices: ['audio', 'video'] })
.then(tracks => {
tracks.forEach(t => room.addTrack(t));
room.join();
});
}
</script>
Doku: lib-jitsi-meet API, Repo.
5) Mobile Integration: Jitsi SDK für Android und iOS
Android-Beispiel:
JitsiMeetConferenceOptions defaultOptions = new JitsiMeetConferenceOptions.Builder()
.setServerURL(new URL("https://meet.example.com"))
.setFeatureFlag("welcomepage.enabled", false)
.build();
JitsiMeet.setDefaultConferenceOptions(defaultOptions);
JitsiMeetConferenceOptions options = new JitsiMeetConferenceOptions.Builder()
.setRoom("MobileMeeting")
.build();
JitsiMeetActivity.launch(this, options);
Quellen: Android SDK Guide, SDK-Samples. Für iOS siehe die Samples im Repo.
6) Zugriff und Authentifizierung: Secure Domain und JWT
Secure Domain: Nur authentifizierte Nutzer dürfen neue Räume erstellen; Gäste können danach beitreten. Guide: Secure Domain
Token-Authentifizierung (JWT): Zutritt mit signiertem Token – ideal zur Integration mit eigenen Backends/Portalen. Guide: Token Authentication
Beispiel-Payload:
{
"context": {
"user": {
"avatar": "https://example.com/avatar.png",
"name": "Max Mustermann",
"email": "[email protected]"
},
"features": {
"recording": true,
"livestreaming": false,
"screen-sharing": true
}
},
"aud": "jitsi",
"iss": "wz-it.com",
"sub": "meet.example.com",
"room": "TeamMeeting2025",
"exp": 1735753200
}
Token-Erzeugung (Node.js):
import jwt from "jsonwebtoken";
const payload = {
context: { user: { name: "Max Mustermann" } },
aud: "jitsi",
iss: "wz-it.com",
sub: "meet.example.com",
room: "TeamMeeting2025",
exp: Math.floor(Date.now() / 1000) + 60 * 60
};
const token = jwt.sign(payload, process.env.JITSI_APP_SECRET);
console.log("JWT:", token);
Prosody-Setup (vereinfacht):
VirtualHost "meet.example.com"
authentication = "token"
app_id = "wz-it.com"
app_secret = "YOUR_APP_SECRET"
7) Monitoring und Betrieb: Colibri-REST (Bridge-Ebene)
Die Jitsi Videobridge stellt eine REST-Schnittstelle (Colibri/Colibri2) bereit – für Monitoring, Konferenz-Allokation und Health/Stats; nicht für Endnutzer-Aktionen wie „Kick".
Stats abrufen:
# Standard (lokal): JVB_COLIBRI_PORT=8080
curl -s http://127.0.0.1:8080/colibri/stats
Beispielantwort:
{
"conferences": 4,
"participants": 52,
"bit_rate_download": 2400000,
"bit_rate_upload": 2700000
}
Quellen: Colibri REST, Docker Guide.
Teilnehmeraktionen wie kick erfolgen über die iFrame-API (Client) oder XMPP-Moderation, nicht per REST. Referenz: iFrame Commands.
8) Self-Hosting, DSGVO und Betrieb
- Quickstart: Debian/Ubuntu, Docker.
- Security/Privacy: Jitsi Security.
- DSGVO: Betrieb in deutschen/europäischen Rechenzentren möglich; Log-, Backup- und Zugriffssteuerung bleiben vollständig in Unternehmenshand.
9) Fazit
Mit iFrame/External API bindest du Jitsi Meet in Minuten ins Web ein. Mit lib-jitsi-meet baust du eine eigene Web-UI mit voller Kontrolle über Medien & Signalisierung. Mit den Mobile-SDKs integrierst du Konferenzen nativ in Android/iOS. Secure Domain/JWT regeln den Zugang, Colibri-REST liefert Betriebsmetriken.
Alles Open Source, self-hosted und DSGVO-konform – ideal für Unternehmen, die Souveränität und Anpassbarkeit brauchen.
WZ-IT unterstützt bei Konzeption, Hosting, SSO, Branding, UI-Entwicklung, Skalierung, Monitoring und Support. WZ-IT Jitsi Meet Service
Kostenloses Beratungsgespräch vereinbaren
Sie möchten Jitsi Meet in Ihre Anwendung integrieren? Wir beraten Sie gerne zu:
- Technischer Machbarkeit & Architektur
- Hosting-Optionen & Skalierung
- SSO-Integration & Sicherheit
- Individuelle Anpassungen & Branding
Jetzt kostenlosen Beratungstermin buchen →
Quellen und weiterführende Links

Geschrieben von
Timo Wevelsiep
Co-Founder & CEO
Co-Founder von WZ-IT. Spezialisiert auf Cloud-Infrastruktur, Open-Source-Plattformen und Managed Services für KMUs und Enterprise-Kunden weltweit.
LinkedInLassen Sie uns über Ihre Idee sprechen
Ob konkrete IT-Herausforderung oder einfach eine Idee - wir freuen uns auf den Austausch. In einem kurzen Gespräch prüfen wir gemeinsam, ob und wie Ihr Projekt zu WZ-IT passt.


Timo Wevelsiep & Robin Zins
Geschäftsführer





