Skip to main content

Quick Start Guide

This guide walks you through creating a basic video conference using lib-jitsi-meet. You’ll learn the essential steps: initialization, creating local tracks, connecting to a server, and joining a conference.

Prerequisites

  • lib-jitsi-meet installed (Installation Guide)
  • A Jitsi Meet deployment or JaaS (Jitsi as a Service) account
  • Modern browser with WebRTC support

Basic Conference Flow

The typical flow for creating a conference:
1

Initialize JitsiMeetJS

Call init() before using any other library functions:
Available initialization options (from JitsiMeetJS.ts:89-106):
2

Create Local Tracks

Request access to camera and microphone:
Options for createLocalTracks() (from JitsiMeetJS.ts:79-85):
3

Create JitsiConnection

Establish a connection to the Jitsi Meet server:
Connection options (from JitsiConnection.ts:16-34):
4

Initialize and Join Conference

Once connected, create and join a conference:
5

Handle Remote Tracks

Display remote participant media:

Complete Example

Here’s a complete working example:

Simplified API with joinConference()

For JaaS users, lib-jitsi-meet provides a simplified joinConference() method that handles everything automatically (from JitsiMeetJS.ts:448-526):
This method automatically:
  • Configures JaaS endpoints and domains
  • Creates the connection
  • Initializes the conference
  • Adds tracks and joins
  • Sets up receiver constraints

Event Handling Reference

Key events you’ll commonly handle: Connection Events (from JitsiConnectionEvents)
  • CONNECTION_ESTABLISHED - Connected to server
  • CONNECTION_FAILED - Connection failed
  • CONNECTION_DISCONNECTED - Disconnected from server
Conference Events (from JitsiConferenceEvents)
  • CONFERENCE_JOINED - Successfully joined conference
  • CONFERENCE_LEFT - Left the conference
  • USER_JOINED - Remote participant joined
  • USER_LEFT - Remote participant left
  • TRACK_ADDED - Media track added (local or remote)
  • TRACK_REMOVED - Media track removed
  • TRACK_MUTE_CHANGED - Track mute status changed
  • DISPLAY_NAME_CHANGED - Participant display name changed
  • DOMINANT_SPEAKER_CHANGED - Active speaker changed
Track Events (from JitsiTrackEvents)
  • TRACK_AUDIO_LEVEL_CHANGED - Audio level changed
  • TRACK_MUTE_CHANGED - Mute status changed
  • LOCAL_TRACK_STOPPED - Local track stopped
  • NO_DATA_FROM_SOURCE - No data from media source

Next Steps

API Reference

Explore the complete API documentation

Advanced Features

Learn about E2EE, screen sharing, and quality control