Skip to main content
The Red5 Pro Conference SDK is a JavaScript toolkit for building multi-party video conferencing applications on Red5 Cloud and Red5 Pro. It manages room lifecycle, WHIP/WHEP media publishing and subscribing, WebRTC statistics monitoring, and interactive features including virtual backgrounds, local recording, screen sharing, and PubNub-powered chat — all from a single ConferenceClient object.

Installation

Key concepts

  • Room — a named session identified by a roomId. Multiple users join the same room to exchange audio and video.
  • Participant — a user in the room, identified by a userId. Each participant can publish audio/video (role: publisher) or receive only (role: subscriber).
  • Media tracks — participants publish their local MediaStream via WHIP, and subscribe to each other’s streams via WHEP. You receive a MediaStream for each subscribed participant to attach to a <video> element.

Joining a room

1

Create a ConferenceClient

Pass your server details and optional PubNub keys for chat.
2

Subscribe to new participants

Listen for NEW_PARTICIPANT and subscribe automatically so you receive their video as soon as they join.
3

Acquire local media and join

4

Leave the room

Media controls

Mute and unmute your local audio and video without leaving the room.
Switch device without dropping the connection:

Screen sharing

Virtual backgrounds

Virtual backgrounds use @mediapipe/selfie_segmentation to replace or blur the area behind your camera feed.
1

Initialize the background processor

2

Apply a background

3

Remove the background

Available background types:

Local recording

Record participant streams directly in the browser. The recording is stored locally and downloaded as a ZIP file.

Chat

Send and receive text messages within the room using PubNub. Pass your PubNub keys in the ConferenceClient config.

Configuration reference

API reference highlights

Use the Backend SDK to generate the token parameter you pass to client.join(). This keeps your master credentials on the server and gives you control over user roles and token expiration.