
Build fast, scalable, and customizable real-time video applications for mobile using VideoSDK.
Whether youβre creating a video conferencing app, virtual classroom, or live streaming platform, VideoSDK provides a robust foundation with minimal setup.
VideoSDK enables developers to ship production-grade real-time communication features quickly.
VideoSDK React Native SDK supports all major mobile operating systems.
π Full compatibility guide:
https://docs.videosdk.live/react-native/guide/video-and-audio-calling-api-sdk/supported-device-os
Get started by installing @videosdk.live/react-native-sdk in your React Native application.
Using npm
npm install "@videosdk.live/react-native-sdk"
Using yarn
yarn add "@videosdk.live/react-native-sdk"
Then set up the platform you are targeting β Android, iOS or Expo.
Step 1: Add the permissions
android/app/src/main/AndroidManifest.xml
Step 2: Set the minimum SDK version
android/build.gradle
buildscript {
ext {
minSdkVersion = 24
}
}
The SDK ships an arm64-v8a slice only β run it on an arm64 device or emulator image.
π Full guide:
https://docs.videosdk.live/react-native/guide/video-and-audio-calling-api-sdk/react-native-android-sdk
Step 1: Add the VideoSDKRTC pod
ios/Podfile, inside your app target
pod 'VideoSDKRTC', :podspec => '../node_modules/@videosdk.live/react-native-sdk/ios/VideoSDKRTC.podspec'
Step 2: Set the platform version
ios/Podfile
platform :ios, '13.0'
Step 3: Install the pods
cd ios && pod install
Step 4: Add the permissions
ios/<YourApp>/Info.plist
NSCameraUsageDescription
Camera permission description
NSMicrophoneUsageDescription
Microphone permission description
Simulator builds need an Apple-silicon Mac β the SDK has no x86_64 slice.
π Full guide:
https://docs.videosdk.live/react-native/guide/video-and-audio-calling-api-sdk/react-native-ios-sdk
The SDK uses native code, so it cannot run in Expo Go β use a development build with expo-dev-client.
Step 1: Install the packages
npx expo install "@videosdk.live/react-native-sdk" "@videosdk.live/expo-config-plugin@2.0.0"
Step 2: Add the plugin
app.json
{
"expo": {
"plugins": [
[
"@videosdk.live/expo-config-plugin",
{
"cameraPermission": "Allow $(PRODUCT_NAME) to use the camera for video calls",
"microphonePermission": "Allow $(PRODUCT_NAME) to use the microphone for calls"
}
]
]
}
}
Step 3: Generate the native projects
npx expo prebuild --clean
The plugin applies the Android permissions and repository, the iOS permissions and the VideoSDKRTC pod for you.
Step 4: Run a development build
npx expo run:android
npx expo run:ios
π Full guide:
https://docs.videosdk.live/react-native/guide/video-and-audio-calling-api-sdk/react-native-expo-setup
Unlock a suite of powerful features to enhance your meetings:
| Feature | Documentation | Description |
|---|---|---|
| π Precall Setup | Setup Precall | Configure audio, video devices, and other settings before joining the meeting. |
| π€ Join Meeting | Join Meeting | Allows participants to join a meeting. |
| πͺ Leave Meeting | Leave Meeting | Allows participants to leave a meeting. |
| π€ Toggle Mic | Mic Control | Toggle the microphone on or off during a meeting. |
| π· Toggle Camera | Camera Control | Turn the video camera on or off during a meeting. |
| π₯οΈ Screen Share | Screen Share | Share your screen with other participants during the call. |
| πΈ Image Capture | Image Capturer | Capture images of participants from their video stream. Useful for Video KYC and identity verification. |
| π Change Audio Output | Switch Audio Output | Select an output device for audio during a meeting. |
| π Change Video Output | Switch Video Output | Select an output device for video during a meeting. |
| βοΈ Optimize Audio Track | Audio Track Optimization | Enhance the quality and performance of media tracks. |
| βοΈ Optimize Video Track | Video Track Optimization | Enhance the quality and performance of media tracks. |
| πΌοΈ Virtual Background | Virtual Background | Add a virtual background or blur effect to your video during the call. |
| π¬ Chat | In-Meeting Chat | Exchange messages with participants through a Publish-Subscribe mechanism. |
| π Whiteboard | Whiteboard | Collaborate visually by drawing and annotating on a shared whiteboard. |
| π File Sharing | File Sharing | Share files with participants during the meeting. |
| πΊ Picture-in-Picture | Picture-in-Picture | Allows the video call to continue in a floating, minimized window. |
| πΌ Recording | Recording | Record the meeting for future reference. |
| π‘ RTMP Livestream | RTMP Livestream | Stream the meeting live to platforms like YouTube or Facebook. |
| π Real-time Transcription | Real-time Transcription | Generate real-time transcriptions of the meeting. |
| π Toggle Remote Media | Remote Media Control | Control the microphone or camera of remote participants. |
| π« Mute All Participants | Mute All | Mute all participants simultaneously during the call. |
| ποΈ Remove Participant | Remove Participant | Eject a participant from the meeting. |
Explore a fully functional React example that demonstrates real-world implementation of the VideoSDK:
π https://github.com/videosdk-live/videosdk-rtc-react-native-sdk-example