icey icon
icey icon

icey

icey is a self-hosted, open-source C++20 media runtime that combines WebRTC transport, FFmpeg codecs, async networking, signalling, and a built-in TURN relay in one toolkit.

Cost / License

  • Free
  • Open Source

Platforms

  • Online
  • Windows
  • Mac
  • Linux
  • Self-Hosted
2likes
0comments
0articles

Features

Properties

  1.  Lightweight
  2.  Decentralized

Features

  1.  Command line interface
  2.  No registration required
  3.  No Tracking
  4.  Portable
  5.  Works Offline
  6.  Streaming
  7.  WebRTC
  8.  C++

icey News & Activities

Highlights All activities

Recent activities

icey information

  • Developed by

    0state
  • Licensing

    Open Source and Free product.
  • Written in

  • Alternatives

    5 alternatives listed
  • Supported Languages

    • English

AlternativeTo Categories

DevelopmentOS & UtilitiesVideo & Movies

GitHub repository

  •  1,362 Stars
  •  351 Forks
  •  5 Open Issues
  •   Updated  
View on GitHub
icey was added to AlternativeTo by Kam Low on and this page was last updated .
No comments or reviews, maybe you want to be first?

What is icey?

icey is the connective tissue for real-time media in C++. It pulls FFmpeg, libuv, OpenSSL, llhttp, libdatachannel, Symple, STUN, and TURN into one coherent runtime so you can capture, encode, transport, signal, and relay media without stitching together three build systems or fighting dependency hell. It builds with plain CMake in minutes, not the hours a full WebRTC monolith demands.

Everything flows through a PacketStream pipeline: plug in a source (camera, file, network, device), chain processors (FFmpeg encode/decode, OpenCV, custom), and attach a sink (WebRTC track, socket, file recorder, HTTP response). Borrowed packets stay zero-copy until the first queue, and the pipeline handles backpressure, frame dropping, and teardown for you. Decoded branches can feed vision and speech processors without touching the transport path.

Because it bundles its own RFC 5766 TURN relay and Symple signalling, icey covers the parts most WebRTC libraries leave out. libdatachannel gives you the transport pipe; icey gives you the pipe, the water, and the faucet: NAT traversal for the roughly 30% of connections that need relay through symmetric NATs, plus auth, presence, rooms, and call signalling. The HTTP module is built on the same libuv + llhttp stack as Node.js and benchmarks ahead of Go's net/http and Node, while delivering a complete HTTP/WebSocket stack.

The library is C++20 with safe Rust bindings published on crates.io. For the shortest path from zero to browser video, the companion icey-server (from the icey-cli project) runs the whole stack from a single Docker command, with an RTSP-to-browser path and a WHIP ingestion target that accepts OBS Studio and ffmpeg publishing.

Good fit for: streaming a webcam or video file to any browser, server-side recording of browser cameras (depositions, telehealth, proctoring) without cloud vendor lock-in, running your own TURN relay to stop paying for hosted relay, and building real-time audio/video applications on infrastructure you control.

Official Links