Description
Local video on React Native Zoom Video SDK apps (iOS + Android) is not transmitting any frames.
The SDK reports:
-
videoOn: true
-
valid width/height (720×1280)
-
valid FPS (30)
…but no frames are ever published, and transmission stats remain:
-
bpf: 0
-
bitrateBps: null
-
videoSendFps: 0
Remote participants never receive the mobile video stream, although mobile devices can receive remote video and audio works both ways.
This occurs in:
-
fresh Zoom sample project
-
multiple SDK versions
-
both iOS & Android
-
custom token backend
-
multiple real devices
Errors
The full error message or issue you are running into.
There are no explicit error messages.
The SDK behaves as though video is sending successfully, but statistics stay at zero:
videoSendFps = 0
bitrateBps = null
bpf = 0
Which React Native Video SDK Version?
-
React Native Wrapper: @zoom/react-native-videosdk@2.2.5
-
iOS Native SDK: ZoomVideoSDK@2.2.5
-
Android Native SDK: (bundled with RN wrapper)
-
React Native: 0.76.9
-
React: 18.3.1
-
Expo: ~52.0.47
Video SDK Code Snippets
<ZoomVideoSdkProvider
config={{
domain: 'zoom.us',
enableLog: __DEV__,
}}
>
await zoom.joinSession({
sessionName,
token,
userName,
audioOptions: { connect: true, mute: true },
videoOptions: { localVideoOn: true },
});```
const cameras = await zoom.videoHelper.getCameraList();
const front = cameras.find(c => c.deviceName?.toLowerCase().includes(‘front’));
if (front) await zoom.videoHelper.selectCamera(front.deviceId);
await zoom.videoHelper.startVideo();```
const fps = await session.getVideoSendFps();
const width = await session.getVideoSendFrameWidth();
const height = await session.getVideoSendFrameHeight();
To Reproduce
- Initialize Zoom Video SDK with React Native provider
- Join any Video SDK session with localVideoOn: true
- Wait for video to start
- Call transmission metrics:
- getVideoSendFps()
- getVideoSendFrameWidth()
- getVideoSendFrameHeight()
- Observe:
- videoOn: true
- valid dimensions/fps
- BUT videoSendFps: 0 + bpf: 0 + bitrateBps: null
Screenshots / Logs
"videoOn": true,
"userStats": {
"fps": 30,
"width": 720,
"height": 1280,
"bpf": 0,
"bitrateBps": null
}```
Remote video stats (web → mobile)
"videoOn": true,
"userStats": {
"fps": 27,
"width": 640,
"height": 360,
"bpf": 349943,
"bitrateBps": 9448461
}
Remote → mobile works.
Mobile → remote never transmits any video frames .
Local video stats (mobile → remote)
Troubleshooting Routes
(Already tested)
SDK / Sample App
Reproduced in official Zoom quickstart sample (untouched)
Reproduced across multiple SDK versions
Reproduced with multiple token providers
Permissions
-
Camera permission granted
-
Microphone permission granted
-
Camera actually turns ON and reports valid dimensions
Platform
-
Tested on multiple Android devices
-
Tested on multiple iOS devices
-
Tested on high-bandwidth WiFi / LTE
Rendering
-
ZoomView correctly laid out
-
Able to receive remote video
Behavior
-
Audio sends/receives
-
Web SDK streams video successfully
-
Mobile receives remote video successfully
-
Mobile never publishes video (stays at 0 frames)
Smartphone (Device Info)
-
Iphone 12
-
Galaxy S21
Additional Context
- Problem appears located in native video publishing/encoding pipeline
- Camera is initialized, FPS measured, dimensions correct
- Audio publishes without issue
- Only video publishing fails
- Occurs identically on iOS and Android
- Occurs even in clean sample projects with no custom code**