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

Build a two-way interactive live streaming app with zero quality loss

4-8 secs low-latency live video infrastructure for developers with simple & secure APIs and cross-platform SDK support, made for interactivity and audience engagement at scale.

Video SDK Golden Kitty

LOVED BY DEVELOPERS AT

VideoSDK

Single SDK, Endless Opportunities

Scale to the audience of 100k people with multiple co-streamers

  • Our Global Mesh Network is optimized for scale.

  • Go live together with up to 25 co-streamers.

  • Change role of viewer to co-host on-the-go.

  • Adaptive bitrate for better video experience at scale.

hls_streaming_animation
dynamic_layout_animation

Smooth live playback experience

  • Seek to any frame while watching live streaming.

  • Seemlessly integrate the customizable player.

  • Flexibility to choose from multiple resolution video streams.

  • Orientation-based adaptive live stream.

Bring your vision to life with complete layout customizations

  • Add components like logo, overlay, background & many more.

  • Customize visuals to match your brand theme.

  • Customize video resolution & its orientation at the flip of a switch.

cloud_recording_animation
rtmp_out_animation

Stream RTMP to multiple platforms simultaneously with just one API

  • Stream to any social platform , in 1080p Bitrate.

  • Go live on 20+ concurrent platforms.

  • Compatible with any custom RTMP outputs.

  • Go live from any browser.

VideoSDK features

More Features, More Possibilities

undefined

Fully Customized UI

undefined

Low Latency

undefined

Cost Effective

undefined

Browser and Cross Device Support

undefined

Dynamic Layout

undefined

On-demand Playback

undefined

Analyze & Debug

undefined

Engaging & Collaborative features

DEVELOPER-CENTRIC API

Build engaging live experiences effortlessly!

Low-latency Global Infrastructure

20+ Frameworks Supported

Secure JWT Authentication

Maintainance-free SDK

In-built state change events

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

gaming

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