Build, Customize and ScaleYour Live Streaming App
Low-latency live video infrastructure for developers with simple &
secure APIs and cross-platform SDK support, made for
interactivity and audience engagement at scale.
Low-latency live video infrastructure for developers with simple & secure APIs and cross-platform SDK support, made for interactivity and audience engagement at scale
LOVED BY DEVELOPERS AT
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.
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.
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.
More Features, More Possibilities
Fully Customized UI
Low Latency
Cost Effective
Browser and Cross Device Support
Dynamic Layout
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// Initilize meeting
7const meeting = VideoSDK.init({
8 sessionId: "<Id-on-session>", // required
9 name: "<Name-of-participant>", // required
10 micEnabled: "<Flag-to-enable-mic>", // optional, default: true
11 webcamEnabled: "<Flag-to-enable-webcam>", // optional, default: true
12 maxResolution: "<maximum-resolution>", // optional, default: "hd"
13});
14
15
1import 'package:flutter/material.dart';
2import 'package:videosdk/rtc.dart';
3
4class MyApp extends StatelessWidget {
5@override
6Widget build(BuildContext context) {
7 return SessionBuilder(
8 sessionId: "<Id-on-session>",
9 displayName: "<Name-of-participant>",
10 micEnabled: "<Flag-to-enable-mic>",
11 webcamEnabled: "<Flag-to-enable-webcam>",
12 token: "<Authentication-token>",
13 builder: (Meeting: meeting) {
14 return (...)
15 }
16 );
17 }
18}
19
1import { SessionProvider, useSession } from "@videosdk.live/react-sdk";
2
3const App = () => (
4 <SessionProvider
5 config={{
6 sessionId: "<Id-on-session>",
7 name: "<Name-of-participant>",
8 micEnabled: "<Flag-to-enable-mic>",
9 webcamEnabled: "<Flag-to-enable-webcam>",
10 maxResolution: "<Maximum-resolution>",
11 }}
12 token={"<Authentication-token>"}
13 >
14 <SessionView>...</SessionView>
15 </SessionProvider>
16);
17
18
1import live.videosdk.rtc.android.VideoSDK;
2import live.videosdk.rtc.android.Session;
3
4public class MainActivity extends AppCompatActivity {
5 private Session session;
6 @Override
7 protected void onCreate(Bundle savedInstanceState) {
8 VideoSDK.config(getIntent().getStringExtra("token"));
9 session = VideoSDK.initMeeting(
10 MainActivity.this,
11 getIntent().getStringExtra("sessionId"),
12 "John Doe",
13 true,
14 true
15 );
16 }
17}
18
19
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.init(
13 sessionId: <sessionId>, // required
14 participantName: <participantName>, // required
15 micEnabled: <flag-to-enable-mic>, // optional, default: true
16 webcamEnabled: <flag-to-enalbe-camera> // optional, default: true
17 )
18 }
19}
20
WHAT CAN YOU BUILD
One Technology, Multiple Solutions
See why customers choose Video SDK

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