Hi,
I’m building a livestream feature in React Native with New Architecture (Fabric) enabled on iOS. I’ve tested two different RTMP streaming libraries and both have issues:
Issue 1: @api.videoapi.video**/react-native-livestream (v2.0.2)**
When using ApiVideoLiveStreamView, the component mounts and startStreaming(streamKey, rtmpUrl) is called successfully (no errors), but:
-
No actual RTMP connection is made to the server -
Dashboard shows stream status as “idle” / “not started” -
No onConnectionSuccess or onConnectionFailed callback is fired -
Viewers see nothing
// This executes without error but nothing happens
liveStreamRef.current.startStreaming(streamKey, rtmpUrl);
console.log(“startStreaming called”); // This logs, but no callbacks fire
Logs show:
iOS: ApiVideoLiveStreamView camera preview should be ready
CALLING ApiVideoLiveStreamView.startStreaming() NOW…
iOS: ApiVideoLiveStreamView startStreaming() called
// … then nothing - no connection events, stream stays “idle”
Issue 2: react-native-nodemediaclient / NodePublisher
When using NodePublisher, the RTMP streaming WORKS - viewers can see the video stream. However:
-
RTMP connection succeeds (code 2001) -
Viewers CAN see the video feed -
Camera preview does NOT render on streamer’s screen (black screen) -
startPreview() executes but native preview layer doesn’t display on Fabric
directStreamRef.current.startPreview(); // Executes, but preview is black
directStreamRef.current.start(); // This works - viewers see video
Logs show:
iOS: NodePublisher ref SET for streaming
iOS: NodePublisher preview initialized
CALLING NodePublisher.start() NOW…
iOS NodePublisher Event: code=2001, msg=…success // CONNECTED!
iOS: NodePublisher RTMP CONNECTED! STREAM IS LIVE!
// Stream works for viewers, but streamer sees black screen
Environment:
| Package | Version |
|---|---|
| React Native | 0.76.x |
| Expo SD@api.video | 52 |
| @api.video/react-native-livestream | 2.0.2 |
| react-native-nodemediaclient | 0.3.4 |
| iOS | 17+ |
| New Architecture (Fabric) | Enabled |
| Hermes | Enabled |
Questions:
-
Is @api.video/react-native-livestream compatible with React Native New Architecture (Fabric)? The startStreaming() method doesn’t seem to work at all.
-
For NodePublisher / react-native-nodemediaclient - is there a known issue with the native preview layer not rendering on Fabric? The streaming works but local preview doesn’t display.
-
Are there any workarounds or patches to make camera preview work on iOS with Fabric enabled?
What I’ve Tried:
-
Applied patches for Fabric compatibility (Swift header imports, optional unwrapping)
-
Tried both libraries independently
-
Verified camera permissions are granted
-
Tested on physical iOS device (not simulator)
-
Confirmed RTMP URL format is correct (works with NodePublisher)
Any help would be greatly appreciated! ![]()