End of Life for Twilio Programmable Video - Upgrade to VideoSDKLearn More

Build adaptive real-time audio &video experience at scale

Video SDK provides live audio-video global infrastructure, Easily integrates real-time audio-video to your app or website in minutes.

Video SDK Golden Kitty

LOVED BY DEVELOPERS AT

VideoSDK

Let you build scalable, customized and immersive experiences

High scalability with infinite room under <99ms latency

  • High availability with zero maintenance

  • Unlimited parallel room in real-time

  • Support up to 300 attendees, including 50 presenters

  • Global Infrastructure for every use case.

high_scalability
adaptive_bitrate

High adaptive bitrate for immersive audio-video experience

  • Auto-adjust stream quality under bandwidth constraints.

  • Auto-connect feature adjusts to varying network conditions.

  • Global infrastructure that auto-connects to the nearest server.

  • Secure usage in environments with restricted network access

End to end customised SDK

  • 100% Fully customizable UI

  • Accelerate your time-to-market with our code samples

  • Customize template layouts, in any orientation

  • PubSub feature to build engaging features.

end_to_end_customization
quality_recording

Quality Recordings on any connection

  • 1080p video recording capability.

  • Programmable Layouts Recording with custom template.

  • Store your recording into Video SDK cloud, AWS, GCP or Azure bucket.

  • Access your recording from the dashboard itself.

VideoSDK features

More Features, More Controls

undefined

Multiple Grid Layout

undefined

Network Indication

undefined

Session Analytics

undefined

Browser and Cross Device Support

undefined

Adaptive Bitrate

undefined

Virtual Background

undefined

Permission Controls

undefined

Engaging & Collaborative features

DEVELOPER-CENTRIC API

Deliver real-time conferencing with personalized UI and role-based permissions

One config across all devices

Role based in-meeting permissions

Real-time event broadcasting (PubSub)

Secure JWT Authentication

Maintainance-free SDK

20+ Frameworks Supported

1import VideoSDK from "@videosdk.live/js-sdk";
2
3// Configure authentication token
4VideoSDK.config("<Authentication-token>");
5
6// Intialize meeting
7const meeting = VideoSDK.initMeeting({
8  meetingId: "abc-pqr-xyz",
9  name: "John Doe",
10  micEnabled: true,
11  webcamEnabled: true,
12});
1import 'package:flutter/material.dart';
2import 'package:videosdk/videosdk.dart';
3
4class MyApp extends StatelessWidget {
5  var token ="<Authentication-token>";
6  // create room
7   Room _room = VideoSDK.createRoom(
8      roomId: 'abc-pqr-xyz',
9      token: token,
10      displayName: "John Doe",
11      micEnabled: true,
12      camEnabled: true,
13      defaultCameraIndex: 1,  // Index of MediaDevices will be used to set default camera
14    );
15  }
16}
1import { MeetingProvider } from "@videosdk.live/react-sdk";
2
3const App = () => (
4    <MeetingProvider
5        config={{
6          meetingId: "abc-pqr-xyz",
7          name: "John Doe",
8          micEnabled: true,
9          webcamEnabled: true,
10        }}
11        token={"<Authentication-token>"}
12    >
13    // Meeting View
14    </MeetingProvider>
15);
1import androidx.appcompat.app.AppCompatActivity;
2import android.os.Bundle;
3import live.videosdk.rtc.android.Meeting;
4import live.videosdk.rtc.android.VideoSDK;
5
6public class MainActivity extends AppCompatActivity {
7    
8    @Override
9    protected void onCreate(Bundle savedInstanceState) {
10      super.onCreate(savedInstanceState);
11      setContentView(R.layout.activity_main);
12      final String token = "<Authentication-token>";
13      
14      VideoSDK.config(token);
15      Meeting meeting = VideoSDK.initMeeting(
16              MainActivity.this, "abc-pqr-xyz", "John Doe",
17              true, true, null, null, false, null
18      )        
19    }
20}
1import VideoSDKRTC
2class SessionViewController: UIViewController {
3    private var meeting: Meeting?
4
5    override func viewDidLoad() {
6        super.viewDidLoad()
7
8        // Configure authentication token got earlier
9        VideoSDK.config(token: <Authentication-token>)
10
11        // create a new meeting instance
12        meeting = VideoSDK.initMeeting(
13          meetingId: "abc-pqr-xyz", // required
14          participantName: "John Doe", // required
15          micEnabled: true, // optional, default: true
16          webcamEnabled: true // optional, default: true
17        )
18    }
19}

WHAT CAN YOU BUILD

One Technology, Multiple Solutions

education

See why customers choose Video SDK

Ankur Chandra-Engineering Manager at Fynd
Company Logo

I still remember when I was trying out the product and connected over discord with Arjun Kava, and he immediately responded. It is one of the things that we found less often. The team is super enthusiastic to make the product as next big thing. Easy integration is the beauty of it. Few lines of code and it's done.

Ankur Chandra ,

Engineering Manager at Fynd

Let’s build together