# react-native-webrtc/react-native-webrtc

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/react-native-webrtc-react-native-webrtc).**

4,973 stars · 1,325 forks · Java · MIT

## Links

- GitHub: https://github.com/react-native-webrtc/react-native-webrtc
- Homepage: https://react-native-webrtc.discourse.group
- awesome-repositories: https://awesome-repositories.com/repository/react-native-webrtc-react-native-webrtc.md

## Topics

`react` `react-native` `webrtc`

## Description

react-native-webrtc is a mobile framework wrapper and peer-to-peer communication library used to integrate real-time audio, video, and data communication into cross-platform mobile applications. It functions as a tool for capturing device screens and streaming live media content via the WebRTC protocol.

The project provides an interface for bidirectional data channels, enabling the exchange of arbitrary data packets between peers without a central relay server. It supports real-time media streaming, including peer-to-peer audio and video transmission and screen capture capabilities.

The library includes features for stream optimization, such as sending multiple versions of a video stream at different resolutions to adapt to receiver network conditions. It covers high-level communication domains including mobile voice over IP and real-time video communication.

## Tags

### Networking & Communication

- [Low-Latency Streaming](https://awesome-repositories.com/f/networking-communication/low-latency-streaming.md) — Enables high-quality, low-latency live audio and video streaming between mobile clients using WebRTC.
- [Bidirectional Communication Channels](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/communication-protocols-standards/network-protocols/connection-establishment-protocols/websocket-and-fallback-connection-establishment/bidirectional-communication-channels.md) — Provides low-latency bidirectional channels for transmitting arbitrary data packets alongside media streams.
- [Peer-to-Peer Data Exchange](https://awesome-repositories.com/f/networking-communication/peer-to-peer-data-exchange.md) — Facilitates the exchange of real-time data packets and files directly between mobile devices.
- [WebRTC Data Channels](https://awesome-repositories.com/f/networking-communication/peer-to-peer-data-exchange/data-channel-establishment/webrtc-data-channels.md) — Provides an interface for secure, encrypted peer-to-peer transport of real-time text and binary data.
- [STUN/TURN Traversal Services](https://awesome-repositories.com/f/networking-communication/peer-to-peer-networking/stun-turn-traversal-services.md) — Implements NAT traversal using STUN and TURN servers to establish direct media paths between peers.
- [Peer-to-Peer Media Libraries](https://awesome-repositories.com/f/networking-communication/peer-to-peer-tunneling/peer-to-peer-media-libraries.md) — Integrates the native C++ WebRTC library to handle complex peer-to-peer signaling and media processing.
- [Real-time Data Packet Transmission](https://awesome-repositories.com/f/networking-communication/real-time-data-packet-transmission.md) — Implements low-level dispatching of raw data packets between peers without a central relay server. ([source](https://github.com/react-native-webrtc/react-native-webrtc/blob/master/README.md))
- [Real-Time Voice and Video Communication](https://awesome-repositories.com/f/networking-communication/real-time-voice-and-video-communication.md) — Provides the core capabilities needed to build mobile applications for live peer-to-peer video calls.
- [Low-Latency Voice over IP](https://awesome-repositories.com/f/networking-communication/low-latency-voice-over-ip.md) — Supports the implementation of voice over IP calling with low-latency audio transmission.

### Graphics & Multimedia

- [Real-Time Media Streaming](https://awesome-repositories.com/f/graphics-multimedia/real-time-media-streaming.md) — Provides tools for capturing device screens and streaming live media content via the WebRTC protocol.
- [Screen Streams](https://awesome-repositories.com/f/graphics-multimedia/integrated-screen-captures/android-screen-streams/screen-streams.md) — Captures the device screen and pushes it as a live video stream to remote peers. ([source](https://github.com/react-native-webrtc/react-native-webrtc))
- [Hardware Accelerated Media Encoders](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-manipulation/media-processing/codec-encoding-utilities/hardware-accelerated-media-encoders.md) — Utilizes device-specific hardware codecs to compress audio and video streams with minimal CPU overhead.
- [Simulcast Controllers](https://awesome-repositories.com/f/graphics-multimedia/streaming-distribution/streaming-broadcasting/media-streaming/simulcast-controllers.md) — Implements simulcast capabilities to transmit multiple video resolutions, optimizing playback quality based on the receiver's network conditions. ([source](https://github.com/react-native-webrtc/react-native-webrtc))

### Programming Languages & Runtimes

- [Native C-JavaScript Bridges](https://awesome-repositories.com/f/programming-languages-runtimes/java-virtual-machine-bridges/javascript-bridges/native-c-javascript-bridges.md) — Provides a bridge that serializes JavaScript calls into native C++ method invocations to control WebRTC.

### Software Engineering & Architecture

- [WebRTC Wrappers](https://awesome-repositories.com/f/software-engineering-architecture/api-wrappers/webrtc-wrappers.md) — Acts as a programmatic wrapper for integrating WebRTC connectivity into cross-platform mobile applications.

### Mobile Development

- [Mobile Screen Sharing](https://awesome-repositories.com/f/mobile-development/mobile-capabilities/mobile-screen-sharing.md) — Allows users to capture and stream their mobile device screen to remote participants in real time.
- [Native View Integration](https://awesome-repositories.com/f/mobile-development/native-ios-applications/native-view-integration.md) — Embeds native video rendering surfaces directly into the mobile UI hierarchy for high-performance playback.
