@videosdk.live/js-sdk
Version:
<h1 align="center"> <img src="https://cdn.videosdk.live/docs/images/javascript/api_ref/js_api_ref.png"/><br/> </h1>
123 lines (83 loc) β’ 8.89 kB
Markdown
<h1 align="center">
<img src="https://cdn.videosdk.live/docs/images/javascript/api_ref/js_api_ref.png"/><br/>
</h1>
<p align="center">
<a href="https://www.npmjs.com/package/@videosdk.live/js-sdk"><img src="https://img.shields.io/npm/dw/@videosdk.live/js-sdk.svg?style=for-the-badge" alt="NPM downloads"></a>
<a href="https://www.npmjs.com/package/@videosdk.live/js-sdk"><img src="https://img.shields.io/npm/v/@videosdk.live/js-sdk/latest.svg?style=for-the-badge" alt="NPM latest version"></a>
<a href="https://discord.gg/kgAvyxtTxv">
<img src="https://img.shields.io/discord/734858252939952248?logo=discord&style=for-the-badge" />
</a>
<a href="http://youtube.com/videosdk?sub_confirmation=1">
<img src="https://img.shields.io/youtube/channel/subscribers/UCuY7JzXnpp874oa7uQbUwsA?logo=Youtube&style=for-the-badge" />
</a>
</p>
# VideoSDK JavaScript SDK π
Build fast, scalable, and customizable real-time video applications for the web using **VideoSDK**.
Whether youβre creating a video conferencing app, virtual classroom, or live streaming platform, VideoSDK provides a robust foundation with minimal setup.
---
## Why VideoSDK?
VideoSDK enables developers to ship production-grade real-time communication features quickly.
- Supports **5,000+ participants**
- Low-latency audio, video, and data streams
- Fully customizable UI and workflows
- Works across modern browsers
- Designed for scale and reliability
---
## π Browser Support
VideoSDK supports all major modern browsers.
π Full compatibility guide:
https://docs.videosdk.live/javascript/guide/video-and-audio-calling-api-sdk/supported-browser
---
## π― Live Demo
Try the live demo to see VideoSDK in action:
https://demo.videosdk.live/
---
## βοΈ Installation
You can integrate the VideoSDK JavaScript SDK using either a CDN or a package manager.
### π¦ Option 1: CDN (Quick Setup)
```js
<html>
<head></head>
<body>
<script src="https://sdk.videosdk.live/js-sdk/0.9.0/videosdk.js"></script>
</body>
</html>
```
### π¦ Option 2: npm / yarn (Recommended)
```js
npm install @videosdk.live/js-sdk
```
```js
yarn add @videosdk.live/js-sdk
```
<br/>
---
## π₯ Meeting Features
Unlock a suite of powerful features to enhance your meetings:
| Feature | Documentation | Description |
|--------------------------------|------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------|
| π **Precall Setup** | [Setup Precall](https://docs.videosdk.live/javascript/guide/video-and-audio-calling-api-sdk/setup-call/precall) | Configure audio, video devices and other settings before joining the meeting. |
| β³ **Waiting Lobby** | [Waiting Lobby](https://docs.videosdk.live/javascript/guide/video-and-audio-calling-api-sdk/setup-call/waiting-lobby) | Virtual space for participants to wait before joining the meeting. |
| π€ **Join Meeting** | [Join Meeting](https://docs.videosdk.live/javascript/guide/video-and-audio-calling-api-sdk/setup-call/join-meeting) | Allows participants to join a meeting. |
| π€ **Toggle Mic** | [Mic Control](https://docs.videosdk.live/javascript/guide/video-and-audio-calling-api-sdk/handling-media/mute-unmute-mic) | Toggle the microphone on or off during a meeting. |
| π· **Toggle Camera** | [Camera Control](https://docs.videosdk.live/javascript/guide/video-and-audio-calling-api-sdk/handling-media/on-off-camera) | Turn the video camera on or off during a meeting. |
| π₯οΈ **Screen Share** | [Screen Share](https://docs.videosdk.live/javascript/guide/video-and-audio-calling-api-sdk/handling-media/screen-share) | Share your screen with other participants during the call. |
| πΈ **Image Capture** | [Image Capturer](https://docs.videosdk.live/javascript/guide/video-and-audio-calling-api-sdk/handling-media/image-capturer) | Capture images of other participant from their video stream, handy for Video KYC and identity verification scenarios. |
| π **Change Input Device** | [Switch Input Devices](https://docs.videosdk.live/javascript/guide/video-and-audio-calling-api-sdk/handling-media/change-input-device) | Switch between different audio and video input devices. |
| π **Change Audio Output** | [Switch Audio Output](https://docs.videosdk.live/javascript/guide/video-and-audio-calling-api-sdk/handling-media/change-audio-ouptut-device) | Select an output device for audio during a meeting. |
| βοΈ **Optimize Video Track** | [Video Track Optimization](https://docs.videosdk.live/javascript/guide/video-and-audio-calling-api-sdk/render-media/optimize-video-track) | Enhance the quality and performance of media tracks. |
| βοΈ **Optimize Audio Track** | [Audio Track Optimization](https://docs.videosdk.live/javascript/guide/video-and-audio-calling-api-sdk/render-media/optimize-audio-track) | Enhance the quality and performance of media tracks. |
| π¬ **Chat** | [In-Meeting Chat](https://docs.videosdk.live/javascript/guide/video-and-audio-calling-api-sdk/collaboration-in-meeting/pubsub) | Exchange messages with participants through a Publish-Subscribe mechanism. |
| π **Whiteboard** | [Whiteboard](https://docs.videosdk.live/javascript/guide/video-and-audio-calling-api-sdk/collaboration-in-meeting/whiteboard) | Collaborate visually by drawing and annotating on a shared whiteboard. |
| π **File Sharing** | [File Sharing](https://docs.videosdk.live/javascript/guide/video-and-audio-calling-api-sdk/collaboration-in-meeting/upload-fetch-temporary-file) | Share files with participants during the meeting. |
| πΌ **Recording** | [Recording](https://docs.videosdk.live/javascript/guide/video-and-audio-calling-api-sdk/recording/Overview) | Record the meeting for future reference. |
| π‘ **RTMP Livestream** | [RTMP Livestream](https://docs.videosdk.live/javascript/guide/video-and-audio-calling-api-sdk/live-streaming/rtmp-livestream) | Stream the meeting live to platforms like YouTube or Facebook. |
| π **Real-time Transcription** | [Real-time Transcription](https://docs.videosdk.live/javascript/guide/video-and-audio-calling-api-sdk/transcription-and-summary/realtime-transcribe-meeting) | Generate real-time transcriptions of the meeting. |
| π **Toggle Remote Media** | [Remote Media Control](https://docs.videosdk.live/javascript/guide/video-and-audio-calling-api-sdk/control-remote-participant/remote-participant-media) | Control the microphone or camera of remote participants. |
| π« **Mute All Participants** | [Mute All](https://docs.videosdk.live/javascript/guide/video-and-audio-calling-api-sdk/control-remote-participant/mute-all-participants) | Mute all participants simultaneously during the call. |
| ποΈ **Remove Participant** | [Remove Participant](https://docs.videosdk.live/javascript/guide/video-and-audio-calling-api-sdk/control-remote-participant/remove-participant) | Eject a participant from the meeting. |
<br/>
---
## π§ͺ Sample Application
Explore a fully functional JavaScript example that demonstrates real-world implementation of the VideoSDK:
π https://github.com/videosdk-live/videosdk-rtc-javascript-sdk-example