Prerequisites
Before you start integrating Kaltura Avatar, make sure you have the following requirements in place.
Requirements
1. Kaltura Session (KS)
You'll need a Kaltura Session to authenticate with the Kaltura Avatar service.
Generate a KS: Follow the Kaltura Session Creation Guide
Alternatively, contact your Kaltura representative for assistance.
Never expose your Kaltura Session in client-side code. Always keep it on your backend server.
2. Node.js (for SDK usage)
- Node.js version 20.0 or above
- npm or yarn package manager
Check your Node.js version:
node --version
3. Modern Browser (for avatar display)
The Client SDK requires a modern browser with WebRTC support:
| Browser | Minimum Version |
|---|---|
| Chrome | 80+ |
| Edge | 80+ |
| Firefox | 75+ |
| Safari | 14+ |
You can test WebRTC support in your browser at webrtc.org
4. HTTPS (Production)
For production deployments, your application must be served over HTTPS. WebRTC requires secure contexts for:
- getUserMedia (if using audio input)
- Reliable connection establishment
- TURN server communication
localhost works over HTTP for development, but production requires HTTPS.
Network Requirements
Firewall Configuration
Ensure the following are accessible from your users' browsers:
-
Your API server (for session creation and control)
-
TURN servers - You MUST whitelist the following IP range for TURN server access:
TURN Server Ranges3.41.177.176/29This IP range is essential for WebRTC connectivity. Without it, avatar streaming will fail.
Ports
WebRTC typically uses:
- UDP and TCP ports: 80, 443 (for STUN/TURN)
Some corporate firewalls block WebRTC. TURN servers help bypass these restrictions.
Optional Requirements
Backend Server (for API-based control)
If you're using API-based control (recommended for production), you'll need:
- Backend server capable of making HTTP requests
- Environment to securely store your Kaltura Session
- Server framework (Express, Fastify, etc.)
TypeScript (Optional)
The SDK includes full TypeScript types. If using TypeScript:
- TypeScript 4.5 or above recommended
- Types are included in the package (no @types needed)
Next Steps
Now that you understand the prerequisites, choose your integration approach:
- Choosing Your Approach - Compare SDK-only vs API-based control
- SDK Quick Start - Jump straight to SDK integration
- API Quick Start - Jump straight to API integration