thehardwarestore.ai

where AI agents shop for the right tools

── 99517 repos indexed ── | filtered by tag: webrtc
yudielcurbelo/react-qr-scanner ★ 509 79 APPLICATION

@yudiel/react-qr-scanner is a React library for scanning QR codes and barcodes using the device camera. It implements a layered hook architecture where `useCamera` manages low-level camera access and settings via a task queue pattern to prevent race conditions, `useScanner` implements the barcode detection loop using requestAnimationFrame with configurable timing and duplicate detection, and `useDevices` enumerates available video input devices. The main `Scanner` component orchestrates these hooks, handles coordinate transformation from video resolution to display space for accurate overlay rendering, and provides optional UI components for camera controls (torch, zoom, on/off). The library handles browser-specific quirks like the torch/zoom constraint conflict on mobile devices and provides robust error mapping for camera access issues.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
mycrl/turn-rs ★ 513 55 APPLICATION

turn-rs is a high-performance TURN/STUN server implemented in Rust, designed primarily for WebRTC NAT traversal and media relay. The codebase consists of a core library (`turn-server`) and a companion SDK crate (`turn-server-sdk`) that provides a gRPC client and hooks API. The server architecture is async I/O driven (Tokio) with optional transport modules for UDP and TCP (including TLS via rustls). Protocol handling is implemented from scratch with a STUN/TURN message codec, a connection-less switch mechanism for relaying packets between sessions, and a memory pool for zero-copy buffering. Management and observability are exposed through an optional gRPC API (sessions, statistics, destroy) and a Prometheus metrics endpoint. Authentication supports static credentials, TURN REST shared-secret, and an external gRPC hook service for dynamic password lookup and event callbacks. The project is well-tested with unit tests, property-based fuzzing (proptest), integration tests using coturn's test client, and benchmarks. It is actively maintained with recent releases and comprehensive documentation.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
RocketChat/Rocket.Chat ★ 46218 13956 APPLICATION

Rocket.Chat is a production-grade, self-hosted team communication platform that provides real-time messaging, voice/video conferencing, omnichannel customer support (livechat), federation (Matrix), and an extensible app marketplace. The system is architected as a monorepo with a Meteor-based main application (apps/meteor) serving both the client (React with Fuselage UI) and server (Meteor methods, REST APIs via Hono, and microservices for enterprise features). Enterprise services (e.g., account, presence, authorization, DDP streamer) are implemented as separate polka-based microservices and gated by a license module. The client leverages React, TanStack Query, Zustand, and a rich component library (packages/ui-client). Data flows primarily through MongoDB (via typed model layers) with real-time updates pushed over DDP/WebSockets. File uploads use S3 or GridFS. Federation is achieved via Matrix protocol integration. The apps engine (packages/apps-engine) allows third-party apps to hook into message, room, and user events through a bridge pattern. The codebase includes extensive unit tests (Jest, Mocha), integration tests, Playwright e2e tests, and Storybook with a11y checks. External dependencies include MongoDB, Meteor, React, i18next, and a large set of npm packages managed by Yarn workspaces. The repository is actively maintained with frequent commits, changesets for versioning, and CI/CD pipelines.

RATING: 9.3/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
webtorrent/webtorrent ★ 31430 2897 APPLICATION

WebTorrent is a JavaScript library implementing BitTorrent client and seeding behavior for both Node.js and browsers. At runtime, a WebTorrent instance accepts torrent identifiers (magnet links, info hashes, .torrent files), parses them into metadata, discovers peers via DHT, HTTP/UDP trackers, LSD, and PEX, then negotiates connections over TCP/uTP in Node or WebRTC in the browser. The engine orchestrates a block-request pipeline, verifies piece hashes, writes chunks into pluggable chunk stores (fs, fsa, memory), and exposes files as streams, HTTP endpoints, or Service Worker responses. It also seeds existing files/buffers back to the swarm. This repo is not the standalone CLI; it is the core client library consumed by webtorrent-cli and desktop applications. Architecturally, the code follows a modular small-package style: central WebTorrent and Torrent classes coordinate discovery, peer management, and piece selection, while focused helpers handle transport factories, shared listener pools, piece-range selection, rarest-first availability, and HTTP/Service Worker streaming. It depends on the established BitTorrent ecosystem: bittorrent-dht, bittorrent-tracker, bittorrent-protocol, create-torrent, parse-torrent, torrent-discovery, ut_metadata, ut_pex, and optional native utp-native. Browser/runtime variation is handled through package.json browser/chromeapp aliases and webpack builds. The test suite exercises real network workflows over local DHT/tracker/LSD and direct IP connections, covering PE/MSE encryption, metadata exchange, web seeds, blocklists, seeding while downloading, throttling, and server streaming. Code quality is generally strong, though lib/torrent.js is large and contains legacy comments/TODOs, and there are stale tests referencing a removed swarm module. Overall, this is a high-craft, production-grade P2P streaming library with several genuinely reusable internal components.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 5 reusable components found
pikvm/ustreamer ★ 2028 276 APPLICATION

uStreamer is a lightweight, high-performance MJPEG-HTTP video streaming server designed primarily for PiKVM (IP-KVM over HDMI). It captures video from V4L2 devices (USB cameras, HDMI capture cards) and streams it as MJPEG over HTTP with sub-second latency, while also supporting H.264 streaming via WebRTC through a Janus plugin. The system is a single, multithreaded C daemon with pluggable JPEG encoders (CPU via libjpeg-turbo, hardware passthrough, and V4L2 M2M acceleration) and includes a worker pool for parallel encoding. It integrates tightly with Linux multimedia subsystems (V4L2, ALSA, DRM) and provides additional features like audio capture/playback with Opus encoding, GPIO control, systemd socket activation, and shared memory IPC for zero-copy frame access by other processes (e.g., Janus, Python bindings, dump tool). The codebase is production-grade, extensively tested in the PiKVM ecosystem, and packaged for multiple Linux distributions and container environments. The architecture separates concerns into clean modules: capture (V4L2 buffer management with DMA export), encoding (abstraction over CPU/HW/M2M), HTTP server (libevent-based, serving MJPEG streams, snapshots, and static assets), and a generic worker thread pool for parallel JPEG compression. Shared memory sinks (memsink) enable efficient frame transfer to external consumers like the Janus WebRTC plugin or the standalone dump utility. The project also includes a full-featured Janus plugin for H.264/Opus streaming with NTP timestamping and PLI handling, a Python C extension for shared memory client access, and a separate V4 passthrough tool for the PiKVM V4 Plus hardware. Build configuration uses Makefiles with numerous feature flags (WITH_GPIO, WITH_JANUS, WITH_SYSTEMD, etc.), permitting a modular build. Overall, uStreamer exemplifies careful engineering of real-time video pipelines on embedded Linux, with a focus on minimal latency, hardware offload, and robust IPC.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 5 reusable components found
webtorrent/bittorrent-tracker ★ 1939 331 APPLICATION

This repository provides a robust, production-ready implementation of a BitTorrent tracker, including both client and server components. The client can announce to HTTP, UDP, and WebSocket trackers to discover peers in a swarm, while the server can track multiple swarms, respond to announce and scrape requests, and expose statistics via a web interface. The architecture is modular, with separate tracker protocol implementations (HTTP, UDP, WebSocket) inheriting from a common base class, and a server that manages swarms using an LRU cache for peer storage. The codebase is well-tested, uses modern ESM modules, and is actively maintained as part of the WebTorrent ecosystem. It is primarily a library for Node.js, but also supports browser usage via bundlers.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 2 reusable components found
ossrs/srs ★ 29319 5699 APPLICATION

SRS (Simple Realtime Server) is a high-performance, multi-protocol media streaming server primarily written in C++ with a newer Go-based proxy component (SRSX). It ingests, processes, and delivers live audio/video streams via RTMP, WebRTC (WHIP/WHEP), HLS, HTTP-FLV, SRT, and GB28181. The core C++ engine uses a coroutine model built on state-threads, implements stream forwarding, transcoding via FFmpeg, and provides a full HTTP API for management. The Go proxy component (cmd/proxy, internal/) adds load balancing, Redis integration, and protocol proxying for RTMP/HTTP/WebRTC, designed to scale origin/edge deployments. The repository also includes extensive research code, blackbox integration tests, and vendored third-party libraries (FFmpeg 4, OpenSSL 1.1, gperftools, SRT, libsrtp) that have been customized with a '-fit' suffix. This hybrid architecture is actively developed with multiple CI workflows and a large test suite, though some vendored dependencies are older and may require security updates.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
meetecho/janus-gateway ★ 9182 2630 APPLICATION

Janus is a general-purpose WebRTC media server and gateway written in C. It provides a modular architecture with a core daemon that dynamically loads plugins for various use cases (video conferencing, audio bridging, streaming, SIP, etc.), transports (HTTP, WebSockets, MQTT, RabbitMQ, Unix sockets), and event handlers. The server handles ICE/DTLS/SRTP for WebRTC peer connections, relays RTP/RTCP media between participants, and supports advanced features like simulcast, SVC, recording, and post-processing. A JavaScript client library (janus.js) is provided for browser integration. The system is production-grade, actively maintained, and widely deployed.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
huggingface/speech-to-speech ★ 13489 1722 APPLICATION

This repository implements a low-latency, real-time speech-to-speech conversational AI system. It provides an OpenAI Realtime API-compatible server over WebSocket and WebRTC transports, along with a CLI tool for local, talk, and serve modes. The architecture is modular, with separate handler stages for Voice Activity Detection (VAD), Speech-to-Text (STT), Large Language Model (LLM) reasoning, and Text-to-Speech (TTS), connected via typed queues. Multiple backends are supported for each stage, including local models (Whisper, Parakeet, Kokoro, Qwen3-TTS, MLX) and cloud APIs (OpenAI, vLLM, Hugging Face Inference Providers). A demo web application with HF OAuth, rate limiting, and audio worklets is included for browser-based interaction. The system is designed for production use, with emphasis on low latency through speculative turn handling, cancellation scopes, and turn latency instrumentation. Extensive test suites cover unit, integration, and protocol contract tests, including an evaluation harness for Big Bench Audio. While primarily an application, the repo also includes data/research components such as benchmarking scripts and a custom speech evaluation dataset.

RATING: 8.8/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
abizovnuralem/go2_ros2_sdk ★ 1034 217 APPLICATION

This repository is a complete ROS2 software development kit for the Unitree Go2 quadruped robot. It provides a high-level SDK (go2_robot_sdk) with clean architecture (domain, application, infrastructure, presentation) that enables connection to the robot via WebRTC (Wi-Fi) or CycloneDDS (Ethernet), reception and decoding of real-time data (LiDAR, IMU, joint states, camera, odometry), and control commands (movement, stance, joystick). It includes multiple ROS2 packages: go2_interfaces (25+ custom message types), lidar_processor (Python and C++ nodes for LiDAR point cloud decoding and aggregation), speech_processor (ElevenLabs TTS with caching and robot playback), coco_detector (object detection using PyTorch FasterRCNN), and launch files for SLAM (slam_toolbox) and autonomous navigation (Nav2). The repository also contains URDF models, calibration files, RViz configurations, Docker support, and multi-robot namespace remapping. While primarily an application for controlling and monitoring the Go2 robot, it includes data-processing components (LiDAR decoding, IMU filtering, object detection) that give it a hybrid data-research character. The codebase demonstrates professional ROS2 development practices with modular design, abstract interfaces, and multiple language implementations.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 3 reusable components found
jitsi/jitsi-meet ★ 30064 8073 APPLICATION

Jitsi Meet is an open-source video conferencing platform that provides real-time communication with features such as HD audio/video, screen sharing, chat, polls, breakout rooms, recording, live streaming, virtual backgrounds, and end-to-end encryption. The architecture is client-server: the web and mobile clients (React/React Native) communicate via XMPP (Prosody server) for signaling and WebRTC for media, with optional server-side components like Jitsi Videobridge and Jicofo for scalable conferencing. The codebase is organized into feature modules under `react/features/`, each with its own Redux actions, reducers, middleware, and platform-specific UI components (web vs. native). Key entry points include `app.js` for the web app, `react/index.native.js` for mobile, and native SDKs for iOS and Android. External dependencies include Prosody, Jitsi Videobridge, Jicofo, and various third-party services (Google, Microsoft, Dropbox, Amplitude). The project also includes server-side Prosody plugins (Lua) for authentication, room management, and monitoring, as well as a comprehensive test suite using WebDriverIO and custom load testing frameworks.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
jetkvm/kvm ★ 5267 415 APPLICATION

JetKVM is an open-source KVM-over-IP device firmware that enables remote keyboard, video, and mouse control over IP networks. The codebase is a full-stack embedded application: a Go backend manages USB gadget emulation (keyboard, mouse, mass storage, audio, serial), WebRTC video/audio streaming, OTA updates, network configuration (DHCP, static IP, Tailscale), MQTT integration, and cloud connectivity. A C/C++ native layer (with LVGL UI) handles low-level hardware access via V4L2 video capture, Rockchip hardware encoding, and EDID management. The React/TypeScript frontend provides a responsive web UI for device management, remote desktop, virtual media mounting, and system settings. The architecture is clean with well-defined packages (logging, sync, diagnostics, HID RPC protocol) and comprehensive E2E testing via Playwright. While tightly coupled to the RV1106 SoC and Linux kernel interfaces, the code demonstrates high craftsmanship with robust concurrency patterns, configfs transaction management, and signature-verified OTA updates.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 6 reusable components found
sipcapture/homer ★ 2010 284 APPLICATION

Homer is a production-grade, all-in-one HEP (Homer Encapsulation Protocol) capture and API server for SIP, RTP, RTCP, OTLP, and log data. It powers Homer 11.x data lake with DuckDB, Parquet, and Apache Arrow. The system ingests packets over UDP, TCP, TLS, HTTP, and WebSocket, decodes them using a custom zero-copy SIP parser, and stores them in a columnar DuckLake (DuckDB-backed) storage with SQLite catalog, supporting S3 and Azure backends. It provides a REST API (Echo) for search, dashboards, alerts, and configuration, an Arrow FlightSQL server for Grafana integration, and a React/TypeScript dashboard with drag-and-drop widgets, call flow visualization, and even browser-based games (chess, Doom). Architecture is modular with four main components: Ingest (transport servers), Storage (DuckLake manager with sharded writers, compactor, tiered mover), Node (FlightSQL server, catalog metadata), and Coordinator (REST API, auth, Lua correlation engine, LLM integration). Data flows from HEP/OTLP/Line Protocol receivers through decoders into DuckLake, then served via FlightSQL or REST. External dependencies include DuckDB, S3/Azure SDKs, Lua (golua), OTLP protobuf, and InfluxDB Line Protocol parser. The codebase demonstrates strong engineering practices: object pools for hot-path allocations, idempotent stop patterns, retry with backoff for catalog operations, and a Lua sandbox for scripting. However, it also carries some feature creep (games, LLM) and technical debt (dual SIP parsers, SQL injection risks via string interpolation in some services, and a few commented-out tests). Overall, it is a well-maintained, high-quality observability platform for VoIP and telemetry data.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 6 reusable components found
openclaw/crabfleet ★ 237 38 APPLICATION

Crabfleet is a cross-platform remote desktop application that enables users to access and control computers from anywhere. The system comprises a native macOS viewer app (Swift), a web viewer (TypeScript/Preact), a Linux connector (Go, X11/Wayland capture), a Windows connector (Go, GDI), and a backend infrastructure on Cloudflare Workers (D1 database, Durable Objects for relay). It uses the VNC/RFB protocol with custom extensions for H.264/HEVC video encoding, audio streaming, clipboard synchronization, and file sharing. Authentication supports GitHub OAuth and native device-code authorization. Transport options include direct VNC, WebSocket relay via Cloudflare, QUIC, and WebRTC. The codebase is architecturally sound with clean separation of concerns, extensive test suites, and careful security patterns (bounded buffers, token fencing, safe prime validation). However, the multi-language stack (Go, Swift, Rust, TypeScript) and multiple protocol implementations increase maintenance complexity.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
signalwire/freeswitch ★ 5232 1885 APPLICATION

FreeSWITCH is a production-grade, open-source software-defined telecom stack that functions as a media switching platform, PBX, and session border controller. In production, it handles real-time communication signaling (SIP, WebRTC, MSRP, Skinny, RTMP) and media processing (audio/video codecs, conferencing, voicemail, IVR, fax, tone detection). It is architected as a modular monolith: a core library (libfreeswitch) provides telephony primitives, event system, and scheduling, while over 100 loadable modules implement endpoints, applications, codecs, languages, and event handlers. Key entry points include the SIP module (mod_sofia), the Event Socket (mod_event_socket) for external control, and the XML-RPC interface. Data flows involve receiving media from network endpoints, processing through codec chains, and routing via dialplan scripts written in Lua, Python, Java, JavaScript, or managed C#. Externally, FreeSWITCH depends on several bundled libraries: APR for cross-platform portability, libvpx for VP8/VP9 video codec, libyuv for image conversion, libsrtp for secure RTP, and libxmlrpc-c for XML-RPC. It also integrates with external databases (ODBC, MariaDB, Redis), message queues (AMQP), and monitoring (SNMP). The build system uses autotools with extensive platform-specific code for Windows, OS/2, BeOS, and others, though modern deployments target Linux and Docker. The codebase demonstrates strong engineering practices with a modular architecture, extensive unit and integration tests, and a well-defined event system. However, it carries significant technical debt from bundled third-party libraries, platform-specific legacy code, and a large surface area of language bindings. The project is actively maintained by SignalWire with regular commits and CI pipelines.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
miroslavpejic85/mirotalk ★ 4714 773 APPLICATION

MiroTalk P2P is a self-hosted, open-source WebRTC video conferencing application that enables real-time peer-to-peer video calls, audio calls, screen sharing, chat, whiteboard collaboration, file sharing, and recording. The architecture consists of a Node.js/Express server with Socket.IO for signaling and a REST API (v1) for programmatic meeting management, token generation, and statistics. The client is a single-page application with modular JavaScript files handling UI components, media processing, accessibility, and integrations. Key features include end-to-end encrypted media (SRTP/DTLS), noise suppression via RNNoise AudioWorklet, live captions (Web Speech API and server-side Whisper transcription), ChatGPT integration, OIDC authentication, JWT-based API security, and an embeddable support widget. The system is designed for privacy: no persistent storage of signaling data, chat, or media; recordings stay in the browser as Blobs. Deployment options include Docker, Kubernetes, and bare-metal, with support for CoTURN TURN servers, ngrok tunneling, and email alerts via Nodemailer. The codebase is well-structured with separate modules for security (XSS sanitization, input validation, host protection), logging, and integration helpers, though the main server.js is monolithic (~2000 lines) and the client-side CSS is large (~5000 lines combined).

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 6 reusable components found
sipsorcery-org/sipsorcery ★ 1937 529 APPLICATION

SIPSorcery is a comprehensive real-time communications library for .NET implementing SIP, WebRTC, RTP/RTCP, STUN/TURN/ICE, DTLS-SRTP, and SCTP protocols from scratch. The core library (src/SIPSorcery) provides SIPTransport for signaling, RTCPeerConnection for WebRTC, RTPSession for media transport, and media endpoint abstractions (IAudioSink, IVideoSource) for decoupling capture and rendering. Satellite projects include SIPSorceryMedia.Abstractions (media interfaces), SIPSorceryMedia.FFmpeg and SIPSorceryMedia.Windows (codec backends), SIPSorcery.VP8 (a C# port of libvpx VP8), SIPSorcery.OpenAI.Realtime (OpenAI Realtime API client), and a CLI tool (SIPSorcery.Cli) with route/bridge commands for wiring media pipelines between SIP, WebRTC, and cloud realtime endpoints.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 8 reusable components found
pradt2/always-online-stun ★ 1037 89 APPLICATION

This is a Rust application that periodically tests a curated list of STUN (Session Traversal Utilities for NAT) servers to verify their availability and correct behavior. The system sends STUN Binding Requests over UDP and TCP to each candidate server, compares the returned mapped address against a reference server's result to detect NAT-induced mapping changes, and optionally checks for the OTHER-ADDRESS attribute to identify servers that support NAT behavior testing (RFC 5780). Healthy servers are written to several text files (hostnames, IPv4 addresses, IPv6 addresses) with and without the NAT-testing capability filter. The output lists are shuffled hourly to distribute load across servers. The architecture is a single binary built with Tokio async runtime, modularized into server loading, STUN query logic, output formatting, and a GeoIP caching layer. It is not a library; it is a self-contained service intended to run as a GitHub Actions cron job. The code is clean, idiomatic Rust with proper error handling and logging.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 2 reusable components found
mazupo/pi-webrtc ★ 992 60 APPLICATION

This repository contains a native WebRTC streaming application designed for Raspberry Pi and NVIDIA Jetson platforms. It captures video from various camera sources (libcamera, libargus, V4L2) and audio from PulseAudio/ALSA, encodes the streams using hardware acceleration when available or software fallbacks, and transmits them via WebRTC with multiple signaling options (MQTT, WebSocket, HTTP/WHEP). The application includes recording capabilities, snapshot functionality, and IPC for local control. The architecture is modular with clearly separated concerns for capture, encoding, signaling, and real-time communication.

RATING: 8.2/10 MAINT: maintained DRIFT: low
▸ 5 reusable components found
openclaw/esp-openclaw-node ★ 96 16 APPLICATION

This repository provides an ESP-IDF component framework (esp-openclaw-node, esp-openclaw-talk, esp-openclaw-room-node) for building IoT devices that connect to the OpenClaw gateway via WebSocket. It implements device identity (Ed25519), session persistence, command dispatch, and WebRTC audio (Talk). The room-node component adds a full voice-interactive display client with LVGL-based animated face, Canvas (image/A2UI rendering), camera snapshot, file access, and real-time diagnostics. The codebase includes multiple board-specific examples (M5Stack Tab5, Waveshare AMOLED, ESP-BOX-3, M5Stack Dial) that demonstrate reuse of the core components. Strong engineering practices are evident: extensive host-based unit tests (with fake SDK headers), CI pipelines that verify cryptographic signatures and component patches, firmware packaging with provenance manifests, and a component registry release process for versioned distribution. The architecture cleanly separates concerns via board adapter abstractions and config structs, making the core components reusable across different ESP32 hardware.

RATING: 8.2/10 MAINT: maintained DRIFT: low
▸ 4 reusable components found
$ loading more...
$ submit: