https://github.com/zoom/videosdk-web
Power custom video experiences with Zoom's core technology
https://github.com/zoom/videosdk-web
npm-package
Last synced: 11 months ago
JSON representation
Power custom video experiences with Zoom's core technology
- Host: GitHub
- URL: https://github.com/zoom/videosdk-web
- Owner: zoom
- License: other
- Created: 2021-05-05T19:44:15.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2025-03-12T18:06:10.000Z (12 months ago)
- Last Synced: 2025-04-04T05:02:58.791Z (11 months ago)
- Topics: npm-package
- Homepage: https://www.npmjs.com/package/@zoom/videosdk
- Size: 79.1 MB
- Stars: 51
- Watchers: 12
- Forks: 26
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Zoom Video SDK for Web
Use of this SDK is subject to our [Terms of Use](https://explore.zoom.us/en/video-sdk-terms/).
The [Zoom Video SDK](https://developers.zoom.us/docs/video-sdk/web/) enables you to build custom video experiences with Zoom's core technology through a highly optimized WebAssembly module.
## Installation
In your frontend project, install the Video SDK:
```bash
$ npm install @zoom/videosdk --save
```
## Usage

> The Video SDK provides video, audio, screen sharing, chat, data streams, and more, as a service. You can build with all of these features, or pick and choose. The Video SDK also comes with a full set of server side [APIs](https://developers.zoom.us/docs/api/rest/reference/video-sdk/methods/#overview) and [Webhooks](https://developers.zoom.us/docs/api/rest/reference/video-sdk/events/#overview).
In the component file where you want to use the Video SDK, import `ZoomVideo` and create the client.
```js
import ZoomVideo from '@zoom/videosdk'
const client = ZoomVideo.createClient()
```
Then init the SDK and declare the `stream` which we will define later:
```js
client.init('en-US', 'Global', { patchJsMedia: true })
let stream
```
Now we will start or join the session. Here are the required parameters for the `client.join()` function.
| Parameter | Parameter Description |
| -----------------------|-------------|
| topic | Required, a session name of your choice or the name of the session you are joining. |
| token | Required, your [Video SDK JWT](https://developers.zoom.us/docs/video-sdk/auth/). |
| userName | Required, a name for the participant. |
| password | Optional, a session passcode of your choice or the passcode of the session you are joining. |
Then start or join the session and define the stream, which will be used for [core features](#core-features).
```js
client.join(topic, token, userName, password).then(() => {
stream = client.getMediaStream()
}).catch((error) => {
console.log(error)
})
```
Now that we are in a session, we can start using core features like `stream.startVideo()`.
### Core Features:
- [Video](https://developers.zoom.us/docs/video-sdk/web/video/)
- [Audio](https://developers.zoom.us/docs/video-sdk/web/audio/)
- [Chat](https://developers.zoom.us/docs/video-sdk/web/chat/)
- [PSTN](https://developers.zoom.us/docs/video-sdk/web/pstn/)
- [Screen Share](https://developers.zoom.us/docs/video-sdk/web/share/)
- [Cloud Recording](https://developers.zoom.us/docs/video-sdk/web/recording/)
- [Command Channel](https://developers.zoom.us/docs/video-sdk/web/command-channel/)
- [Audio Video Preview](https://developers.zoom.us/docs/video-sdk/web/preview/)
- [Subsessions](https://developers.zoom.us/docs/video-sdk/web/subsessions/)
- [Transcription/Translation](https://developers.zoom.us/docs/video-sdk/web/transcription-translation/)
- [Virtual Background](https://developers.zoom.us/docs/video-sdk/web/video/#use-virtual-background)
For the full list of features and event listeners, as well as additional guides, see our [Video SDK docs](https://developers.zoom.us/docs/video-sdk/web/).
## Sample Apps
- [Video SDK web Sample](https://github.com/zoom/videosdk-web-sample)
- [Video SDK Auth Endpoint](https://github.com/zoom/videosdk-auth-endpoint-sample)
- [Webhook Sample](https://github.com/zoom/webhook-sample)
## Use ZFG(Zoom For Government). You need apply new sdk key for [ZFG](https://marketplace.zoomgov.com/).
### option1 change package.json and use zfg specific version
```
"@zoom/videosdk": "1.11.0-zfg",
zmClient.init('en-US', 'Global');
```
### option2 change dev.conf and use ZFG [init](https://marketplacefront.zoom.us/sdk/custom/web/modules/VideoClient.html#init) option [webEndpoint](https://marketplacefront.zoom.us/sdk/custom/web/interfaces/InitOptions.html)
```
zmClient.init('en-US', `https://source.zoomgov.com/videosdk/1.11.0/lib`, {
webEndpoint: "www.zoomgov.com",
});
```
## Need help?
If you're looking for help, try [Developer Support](https://devsupport.zoom.us) or our [Developer Forum](https://devforum.zoom.us). Priority support is also available with [Premier Developer Support](https://zoom.us/docs/en-us/developer-support-plans.html) plans.
[Open Source Software attribution](https://github.com/zoom/videosdk-web/blob/main/oss_attribution.txt)