VideoSDK Android SDK

A WebRTC-based real-time communication SDK. Build video calling, audio conferencing, live streaming, and interactive broadcasting into your Android applications.

Installation

Add the dependency in your app-level build.gradle file:


dependencies {
    implementation 'live.videosdk:rtc-android-sdk:3.0.0'
    // other app dependencies
}

For full setup instructions including repository configuration, see the Integration Guide.

Quick Start


// 1. Initialize the SDK (once, in your Application or Activity)
VideoSDK.initialize(applicationContext)

// 2. Create a room with your auth token, then join it
val room = VideoSDK.createRoom(
    roomId = "abcd-efgh-ijkl",      // room ID
    token = "YOUR_TOKEN",            // auth token from your server
    participantName = "Ada Lovelace", // null = a random name
    micEnabled = true,              // mic on when joining
    camEnabled = true,              // camera on when joining
    mode = Mode.SEND_AND_RECV,         // null = SEND_AND_RECV
)
lifecycleScope.launch { room.join() }  // join() is a suspend function

API Reference

Core API

Entry point, room lifecycle, participants, and media streams.

AI Agents

AI-driven participants — agent identity, state, and lifecycle events.

Configuration

Custom tracks and video rendering.

Events & Listeners

Callbacks for room events, participant changes, and media requests.

Enumerations

State enums for room lifecycle, modes, and quality settings.

Models

Data classes for PubSub messaging and livestream outputs.

Transcription

Real-time and post-call transcription configuration.

Media Devices

Device enumeration for cameras, microphones, and speakers.

Encryption (E2EE)

End-to-end encryption key management and state tracking.