Installation
Install the Fishjam client SDK for React (web) or React Native (mobile).
Streaming media
Initialize camera and microphone access and start streaming media in a Fishjam room.
Connecting
Connect to a Fishjam room using a peer token and room URL obtained from your backend.
Managing devices
Select, switch, mute, and dynamically control camera and microphone devices.
Display media of other peers
Access and display media tracks from other peers and the local peer using the usePeers hook.
Metadata
How to use metadata
Stream middleware 🌐
Intercept and transform media tracks before sending them to Fishjam, enabling effects and custom encodings.
Custom sources 🌐
Stream non-standard video or audio sources (e.g. WebGL, WebGPU, Three.js) through Fishjam in web apps.
Debug logging 🌐
Enable SDK debug logging to troubleshoot connectivity and media issues in web applications.
Reconnect 📱
Handle automatic reconnection to a Fishjam room after connection loss in React Native apps.
Picture in Picture 📱
Display video in a floating PiP window when the user backgrounds the app on Android or iOS.
Screen sharing 📱
Stream mobile device screen content to other peers in React Native applications.
Background calls 📱
Enable calls running in the background on Android and iOS in React Native applications.
.25.x Migration Guide 📱
Upgrade your React Native app from @fishjam-cloud/react-native-client 0.24.x to 0.25.x.
Simulcast
Enable multi-quality video streaming and let receivers choose their preferred quality variant.
Text Chat
Implement peer-to-peer text chat in your application using Fishjam data channels.