4,996
stars
1,337
forks
–
watchers
–
prs
–
issues
–
releases
0
discussions
README
React-Native-WebRTC A WebRTC module for React Native. Feature Overview | | Android | iOS | tvOS | macOS | Windows | Web | Expo | | :- | :-: | :-: | :-: | :-: | :-: | :-: | :-: | | Audio/Video | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | - | - | :heavy_check_mark: | :heavy_check_mark: | | Data Channels | :heavy_check_mark: | :heavy_check_mark: | - | - | - | :heavy_check_mark: | :heavy_check_mark: | | Screen Capture | :heavy_check_mark: | :heavy_check_mark: | - | - | - | :heavy_check_mark: | :heavy_check_mark: | | Plan B | - | - | - | - | - | - | - | | Unified Plan | :heavy_check_mark: | :heavy_check_mark: | - | - | - | :heavy_check_mark: | :heavy_check_mark: | | Simulcast | :heavy_check_mark: | :heavy_check_mark: | - | - | - | :heavy_check_mark: | :heavy_check_mark: | macOS - We don't currently actively support macOS at this time. Support might return in the future. Windows - We don't currently support the react-native-windows platform at this time. Anyone interested in getting the ball rolling? We're open to contributions. Web - The react-native-webrtc-web-shim project provides a shim for react-native-web support. Which will allow you to use (almost) the exact same code in your react-native-web project as you would with react-native directly. Expo - As this module includes native code it is not available in the Expo Go app by default. However you can get things working via the expo-dev-client library and out-of-tree config-plugins/react-native-webrtc package. Unified Plan - As of version 106.0.0 Unified Plan is the only supported mode. Those still in need of Plan B will need to use an older release. Simulcast - As of version 111.0.0 Simulcast is now possible with ease. Software encode/decode factories have been enabled by default. WebRTC Revision Currently used revision: M155 Supported architectures Android: armeabi-v7a, arm64-v8a, x86, x86_64 iOS: arm64, x86_64 tvOS: arm64 macOS: arm64, x86_64 Getting Started Use one of the following preferred package install methods to immediately get going. Don't forget to follow platform guides below to cover any extra required steps. npm: npm install react-native-webrtc --save yarn: yarn add react-native-webrtc pnpm: pnpm install react-native-webrtc Guides - Android Install - iOS Install - tvOS Install - Basic Usage - Step by Step Call Guide - Improving Call Reliability - Migrating to Unified Plan Example Projects We have some very basic example projects included in the examples directory. Don't worry, there are plans to include a much more broader example with backend included. Community Come join our Discourse Community if you want to discuss any React Native and WebRTC related topics. Everyone is welcome and every little helps. Related Projects Looking for extra functionality coverage? The react-native-webrtc organization provides a number of packages which are more than useful when developing Rea
Top issues
#1364Streams fail to clear in Android when more than one is active29 comments · 2023-04-16#1033MacOS Catalyst Support24 comments · 2021-07-05#1359Setting 'mirror' parameter to true for RTCView freezes certain iOS devices14 comments · 2023-04-05#1270Proposal - Adding basic support for RTCAudioSession11 comments · 2023-01-04#1514RTCView is not honouring the opacity styles in android10 comments · 2024-03-09#1597(tvOS 16.0) is not compatible with JitsiWebRTC (124.0.0)9 comments · 2024-07-22#1416Android RTCView is not contained within parent component9 comments · 2023-07-05#1263crash in adding remote audio stream with another peer9 comments · 2022-12-29
Latest release
155.0.0 155.0.0 2026-10-14What's Changed build(deps-dev): bump js-yaml from 4.2.0 to 4.3.0 by @dependabot[bot] in https://github.com/react-native-webrtc/react-native-webrtc/pull/1827 android: fix frame leak with multiple video processors by @HanSeonWoo in https://github.com/react-native-webrtc/react-native-webrtc/pull/1828 fix(android): guard against duplicate onActivityResult crash in screen capture by @harcorp in https://github.com/react-native-webrtc/react-native-webrtc/pull/1829 build: ship the vendored declarations in the typescript build by @saghul in https://github.com/react-native-webrtc/react-native-we