Features
Core video conferencing
Up to 30 participants, real-time audio/video via Red5 Pro WebRTC, screen sharing with audio, and a play-only viewer mode.
Interactive features
Live chat, emoji reactions with animations, raise-hand, participant list with status indicators, and audio-level talker detection.
Media controls
Camera and microphone on/off with device selection, speaker output selection, and configurable video bitrate.
Layout options
Auto, tiled, and sidebar layouts. Pin or unpin any participant for focused viewing.
User experience
Lobby with pre-meeting device setup, virtual background support, dark/light theme, responsive UI, and i18n via react-i18next.
Recording support
Optional recording feature, enabled via a single configuration flag.
Prerequisites
- A Red5 Cloud account — your account automatically provisions the PubNub keys required for in-meeting chat.
- Node.js 18+ and npm installed locally for development builds.
- Docker if you prefer a containerized deployment.
Installation
1
Clone the repository
2
Install dependencies
The project requires the
--legacy-peer-deps flag to resolve peer dependency conflicts in the React ecosystem:3
Create your runtime configuration file
Copy the provided prototype to create your config file:Then open
public/config.json and fill in your Red5 Cloud values (see Configuration below).4
Start the development server
public/config.json at startup, so you can update that file and refresh without rebuilding.Configuration
TrueTime Meetings uses a runtime configuration file (public/config.json) as its primary configuration mechanism. Because the file is loaded at startup rather than compiled into the bundle, you can update it in your deployed environment without rebuilding the application.
Minimal config.json
Replace the placeholder values with those from your Red5 Cloud Management Console:All configuration parameters
VITE_NODE_GROUP must match the Deployment Name shown in your Red5 Cloud Management Console, not an arbitrary string.Development environment variables
For local development you can use a.env file instead of config.json. Create .env in the project root:
Docker deployment
The repository ships with a multi-stage Dockerfile that builds the React app and serves it with nginx. Environment variables are injected at container startup, so you do not need to bake configuration into the image.1
Build the Docker image
2
Run the container
Pass your configuration as environment variables:The app is then available at
http://localhost:3000.3
(Optional) Use docker-compose
PubNub chat
TrueTime Meetings includes zero-config PubNub chat. When you deploy the app against your Red5 Cloud account, it automatically uses the PubNub keys provisioned to your account — no separate PubNub configuration required. The integration provides:- Live chat — real-time text messaging alongside the video grid
- Presence — automatic detection of who is online in the meeting room
- Signaling — raise-hand notifications and participant mute events
Deploying from the Management Console
If you prefer a no-code path, you can deploy TrueTime Meetings directly from the Red5 Cloud Management Console without cloning the repository.1
Open TrueTime Apps
Log in to the Red5 Cloud Management Console and click TrueTime Apps in the left sidebar.
2
Select TrueTime Meetings
Locate the TrueTime Meetings card on the TrueTime Apps page and click it.
3
Deploy and customize
Click Deploy, adjust any settings to your requirements, then click Go to launch the application.
4
Start a meeting
Once the application is running, click New Meeting, enter your name, select your camera and microphone, and join.
