30 open-source projects similar to webrtc/samples, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Samples alternative.
Janus is a WebRTC media gateway that routes real-time audio, video, and data between web browsers and server-side application logic. It functions as a central media relay that manages session negotiation and encryption for multiple browser endpoints. The project utilizes a modular plugin architecture that decouples the core server from specific media logic, allowing developers to implement custom modules for media processing, event handling, and transport protocols. This design enables the server to act as a protocol translation bridge, converting WebRTC streams into legacy formats such as SI
simple-peer is a JavaScript library that provides a wrapper for WebRTC to simplify the establishment of peer-to-peer networking in the browser. It serves as a tool for creating direct device-to-device connections for the transmission of binary data and real-time media streaming. The library manages the exchange of strings and binary buffers through a data channel implementation and provides tools for sharing real-time audio and video tracks between peers. It covers the full lifecycle of peer connectivity, including signaling coordination, session description negotiation, and the gathering of
Simpl is an HTML, CSS, and JavaScript example library that provides a collection of minimal functional demonstrations of core web technologies and native browser APIs. It serves as a reference implementation and pattern gallery for frontend development, offering practical examples of how to implement common web features. The project showcases a wide range of browser capabilities, including real-time web communication via WebSockets and WebRTC, responsive web design techniques for adaptive layouts, and the implementation of offline workflows using service workers. It also provides demonstratio
VDO.Ninja is a low-latency peer-to-peer media routing service and video streaming platform designed to integrate remote audio and video feeds into professional production workflows. It functions as a WebRTC broadcast integration tool and studio controller, allowing for the direct transmission of high-definition media between publishers and viewers with minimal delay. The platform distinguishes itself through extensive protocol bridging, converting between WebRTC, WHIP, WHEP, SRT, and RTMP to ensure compatibility across diverse network environments and professional studio software. It includes
This is a cross-platform media processing library that reads, writes, encodes, and decodes media in both browser and server environments. It supports common container formats including ISOBMFF, Matroska, Ogg, MPEG-TS, and HLS, and handles codec operations through a combination of WebCodecs API and WebAssembly-based encoders. Media is processed in streaming pipelines that maintain constant memory usage and automatically apply backpressure from output speed to all upstream components. The library distinguishes itself through a plugin-based codec registration system that allows extending support
This library provides a complete implementation of the WebRTC protocol suite in Rust, enabling peer-to-peer audio, video, and data channels with an asynchronous, Rust-native stack. Its architecture separates protocol logic from I/O, giving developers control over threading and scheduling while the library manages the protocol state. The stack is built to be modular, supporting data channel multiplexing over a single SCTP association, an event-driven callback interface for responding to connection changes, and an interceptor pipeline for processing media packets without altering core protocol c
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 libr
This project is a reference implementation and framework for building real-time communication systems. It provides an Android demo application for WebRTC video, audio, and data transmission, alongside a communication SDK for integrating instant messaging, VoIP, and multi-party video conferencing into mobile and web applications. The framework includes a P2P media streaming client for direct high-definition transmission between devices and an interactive whiteboard application that synchronizes drawing and screen sharing across connected users. It also provides a foundation for IM and VoIP sys
Nettu-meet is a self-hosted video conferencing platform designed for professional and educational environments. It provides a comprehensive suite of real-time communication tools, including audio and video streaming, screen sharing, and collaborative digital whiteboards, to facilitate remote tutoring and group meetings. The platform distinguishes itself through its focus on programmatic integration and organizational customization. It exposes a RESTful API that allows external systems to automate the scheduling and management of meeting sessions, enabling the integration of live video workflo
SimpleWebRTC is a communication framework and real-time media streaming library designed to establish peer-to-peer audio, video, and data streams between web clients. It provides a conference room manager to organize multiple participants into virtual rooms for group interaction. The framework includes a dedicated system for peer-to-peer file transfers and low-latency data messaging. It also features a network traversal configuration tool for managing the servers required to maintain connectivity across firewalls and restrictive network environments. The project covers broad capability areas
aiortc is a Python implementation of the WebRTC protocol, providing an asynchronous stack for real-time audio, video, and data streaming between peers. It functions as a media engine and data channel implementation that manages peer connections through a non-blocking framework. The library enables the establishment of direct peer-to-peer networking by negotiating session descriptions and connectivity paths. It facilitates secure, bidirectional data transmission via data channels and supports low-latency media streaming using standard codecs. The system includes capabilities for network NAT t
This project is a comprehensive reference guide and directory of web browser capabilities. It serves as a technical map for accessing native operating system functions, hardware interfaces, and standard web APIs to bridge the gap between web applications and desktop or mobile environments. The resource provides detailed guidance on implementing Progressive Web App features, including offline caching, push notifications, and native installation prompts. It also catalogs methods for interacting with hardware peripherals via USB, Bluetooth, and NFC, as well as reading raw data from device sensor
GPAC is an open-source multimedia framework built around a pluggable filter graph pipeline, where modular processing units called filters connect into a directed graph to handle media workflows. At its core, the framework centers all media packaging and manipulation on the ISO Base Media File Format (ISOBMFF), with specialized tools for reading, writing, fragmenting, and encrypting MP4 and related containers. It also provides a declarative scene graph composition system for describing interactive multimedia scenes using MPEG-4 BIFS, X3D, SVG, or VRML syntax, alongside a hardware-accelerated re
This project is an RTMP media streaming SDK and a real-time communication framework designed for pushing and playing audio and video streams. It provides tools for interactive broadcasting, low-latency voice and video calls, and a cross-platform media player compatible with Windows, iOS, and Android. The toolkit enables interactive live broadcasting with support for multi-host interactions and the ability to push streams to distribution servers via CDN. It includes a cloud recording manager for capturing live sessions and saving them as files to cloud storage, along with a system for composit
RecordRTC is a JavaScript library for capturing audio, video, and screen streams within the browser. It functions as a media recording tool that enables the capture of media streams and their export as playable files. The library provides specialized utilities for recording desktop windows or entire screens and capturing 2D or 3D animations from canvas elements. It handles these tasks by interfacing with browser media stream objects to save activity as video files.
This project is a scalable real-time communication platform designed for multi-party video and audio conferencing. It functions as a modular media server that orchestrates live sessions, manages virtual meeting rooms, and handles the distribution of media streams across distributed computing environments. The platform distinguishes itself through its support for protocol bridging, allowing for the translation between WebRTC, RTSP, SIP, and HLS. It incorporates hardware-accelerated transcoding to maintain performance across diverse devices and utilizes a plugin-based architecture to enable cus
Mediasoup is a selective forwarding unit used for real-time media routing. It enables the development of low-latency audio and video communication systems by routing streams between participants without transcoding. The project provides embedded media routing logic that can be integrated directly into an application. It supports simulcast and quality layering, allowing the system to adapt resolution and bitrate based on real-time bandwidth estimations to maintain connection stability. The capability surface includes media track management for audio, video, and screen capture, as well as bidi
Mirotalksfu is a WebRTC video conferencing platform and AI-integrated meeting suite. It functions as a real-time communication system for hosting high-resolution audio and video meetings, serving as a self-hosted virtual classroom and a collaborative workspace. The platform distinguishes itself by integrating generative AI assistants, speech recognition, and digital avatars into live sessions. It also operates as an RTMP streaming gateway, allowing users to broadcast live meeting content to external audiences and platforms. The system provides a collaboration suite featuring a shared interac
ffmpeg-python is a Python wrapper that translates programmatic method calls into command-line arguments for executing FFmpeg media processing tasks. It functions as a multimedia transcoding interface and a media stream capture tool, allowing for the recording of live audio and video from hardware devices and network sources. The library features a fluent interface for constructing complex directed graphs of audio and video filters through method chaining. It also includes an FFprobe metadata extractor that retrieves structured technical properties from media files and returns them as Python d
This project is a framework for developing multimodal AI agents that function as programmable participants in real-time communication rooms. It enables the construction of agents that can see, hear, and speak by integrating speech-to-text, large language models, and text-to-speech pipelines to facilitate low-latency, natural conversations. The system is distinguished by its advanced orchestration of real-time media and conversational flow, including support for full-duplex speech, preemptive response generation, and sophisticated interruption management. It further differentiates itself throu
Pipecat is a framework and software development kit for building real-time multimodal AI agents and speech-to-speech systems. It utilizes a frame-based data pipeline to route audio, video, and text through a modular sequence of processors, enabling the orchestration of low-latency conversational AI. The project is distinguished by its ability to coordinate complex multimodal services, including speech-to-text, language models, and text-to-speech, within a single pipeline. It features semantic voice activity detection for natural turn-taking, state-machine conversation flows for dialogue manag
PeerJS is a real-time communication library and framework designed to establish direct peer-to-peer data and media connections between browsers. It provides a simplified wrapper for managing the lifecycles of WebRTC connectivity, enabling the exchange of audio, video, and data without a central relay. The project includes a coordination server that handles signaling management by mapping unique user identities to network connection details. This server facilitates the discovery of remote peers and the exchange of metadata required to perform the initial connection handshake. The framework su
This project is a browser-based video conferencing platform that facilitates direct, peer-to-peer communication between participants. By utilizing browser-native media capture and direct network connections, it enables real-time audio, video, and screen sharing without relying on central media relay servers. The platform distinguishes itself through its focus on ephemeral, private communication. It generates unique, short-lived session identifiers for virtual rooms that exist only in memory, ensuring that no persistent user accounts or long-term storage are required. To maintain connection st
Android Media is a framework library providing the primary system components for audio and video playback, session management, and media routing on Android. It includes a multimedia API for processing raw media streams, managing MIDI devices, and rendering video frames. The project features a dedicated metadata manager for organizing descriptive labels, content channels, and DRM configurations, alongside a session controller that synchronizes playback state with external controllers and manages media shortcuts for wearable devices. The library covers a broad range of capabilities including a
This project is a real-time communication and media streaming server designed for broadcasting, recording, and distributing audio and video content. It functions as a live streaming server and an RTMP media server, providing the infrastructure necessary to deliver real-time media to multiple concurrent viewers over a network. The system distinguishes itself through a multi-protocol media gateway that supports RTMP, E-RTMP v2 for modern codecs like HEVC and AV1, and HTTP media tunneling to bypass restrictive firewalls. It further acts as a real-time communication platform by synchronizing shar
Syncthing macOS is a native application bundle that wraps the Syncthing binary to provide decentralized, peer-to-peer file synchronization on macOS. It enables bidirectional data replication across multiple devices using a block exchange protocol, allowing files and folders to stay consistent without relying on a central cloud server. The project distinguishes itself by integrating the cross-platform synchronization engine into the macOS environment as a background service. It provides a system tray interface for quick access to the management GUI and supports automatic application startup th
This project provides KVM over IP hardware and software for remote computer management. It functions as an ATX power management controller, a remote serial console server, and a virtual media emulator. A WebRTC remote access gateway is used to bypass NAT and firewalls for low-latency hardware control via a web browser. The system is distinguished by its ability to simulate physical peripherals at the hardware level, including HID device emulation for keyboard and mouse input and USB mass storage emulation for streaming ISO images. It features a UART-to-web bridge for remote serial console acc
Deskreen is a wireless screen mirroring and virtual display tool that streams a computer screen or specific application windows to any device with a web browser. It functions as a virtual display streamer and a web-based secondary monitor, allowing users to extend their desktop workspace to remote devices over a local network. The system supports end-to-end encrypted screen sharing to protect display data and utilizes virtual display adapters to treat remote browsers as extended screens. It includes capabilities for multi-device broadcasting, enabling a single video source to be mirrored acro
Sharedrop is a browser-based file drop application for transferring files directly between devices without requiring software installation or account registration. It uses WebRTC to establish peer-to-peer data channels, allowing files to be exchanged between different operating systems without routing traffic through a central server. The project provides mechanisms for both local and remote connectivity. It identifies active users sharing the same public IP address for immediate local device discovery and allows the creation of private sharing rooms via unique session links for users on diff
Filepizza is a web-based peer-to-peer file sharing application that enables direct browser-to-browser data exchange. It utilizes WebRTC to establish connections between devices, allowing files to be sent without uploading data to a central server. The project provides a password-protected file sharing mechanism that secures transmissions via symmetric-key stream encryption. It includes a containerized signaling server that can be self-hosted to coordinate connections between peers and facilitate NAT traversal across restrictive networks and firewalls. The application supports multi-file tran