A modular C++20 toolkit for real-time media, WebRTC, and networking, built as a lightweight alternative to libwebrtc.
icey is a modular C++20 toolkit that provides a complete real-time media stack, integrating WebRTC, FFmpeg, and async networking into a single, lightweight library. It solves the problem of fragmented media development by offering a cohesive alternative to Google's libWebRTC and GStreamer, with faster builds, smaller binaries, and no dependency conflicts.
C++ developers building real-time media applications, such as video conferencing systems, media servers, live streaming platforms, or server-side recording tools, who need fine-grained control over media pipelines and WebRTC signaling.
Developers choose icey for its modular design, fast build times, and comprehensive feature set—including built-in signaling and TURN server—which eliminates the need to integrate multiple disparate libraries and reduces deployment complexity.
Real-time media stack and lightweight libwebrtc alternative, built in C++20
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
With 16 independent modules, icey allows linking only what's needed, resulting in small binaries and build times in minutes, unlike monolithic alternatives like libWebRTC.
Combines WebRTC via libdatachannel, FFmpeg for any codec, and built-in Symple signaling and RFC 5766 TURN server, eliminating dependency hell and reducing integration work.
The HTTP stack, built on libuv and llhttp, outperforms Go's net/http and Node.js in benchmarks, achieving 72,209 req/sec with lower latency.
PacketStream enables efficient media processing with explicit backpressure and frame-dropping control, minimizing memory overhead for real-time flows.
Requires C++20 and modern compilers (GCC 12+, Clang 15+), which can be a barrier in environments with fixed or older toolchains.
Auto-detection of OpenSSL, FFmpeg, and other system libraries can fail or require manual installation, adding deployment complexity compared to self-contained solutions.
As a newer project, icey has a smaller community and fewer third-party integrations than established frameworks like GStreamer, which may impact support and extensibility.
LibSourcey is an open-source alternative to the following products:
GStreamer is a pipeline-based multimedia framework that enables the creation of applications for handling audio and video streams, including playback, recording, editing, and streaming.
libwebrtc is an open-source library that provides WebRTC (Web Real-Time Communication) functionality, enabling audio, video, and data communication between web browsers and applications.