HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
paullouisageneau
libdatachannel
C++2019–2025
paullouisageneau / libdatachannel

libdatachannel

C/C++ WebRTC network library featuring Data Channels, Media Transport, and WebSockets

5Distinct people
16Mentions
0Explicit recommenders
2.8KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

C/C++ WebRTC network library featuring Data Channels, Media Transport, and WebSockets

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year16 dated mentions

Observed mentions: 2019-09-08 18:42:03 UTC to 2025-07-15 02:58:02 UTC.

02462019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC110
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC000
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC505
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC606
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC202

What Hacker News says

16 sources
I am so happy that WebRTC has so many implementations. Every developer thinks differently, it's good to have a implementation that matches your mindset. * https://github.com/shinyoshiaki/werift-webrtc (Typescript) * https://github.com/pion/webrtc (Golang) * https://github.com/webrtc-rs/webrtc (Rust) * https://github.com/algesten/str0m (Rust) * hhttps://github.com/sepfy/libpeer (C/Embedded) * https://webrtc.googlesource.com/src/ (C++) * https://github.com/sipsorcery-org/sipsorcery (C#) * https://github.com/paullouisageneau/libdatachannel (C++) * https://github.com/elixir-webrtc (Elixir) * https://github.com/aiortc/aiortc (Python) * GStreamer’s webrtcbin (C) See https://github.com/sipsorcery/webrtc-echoes for examples of some running against each other.
In WebRTC for the Curious
What makes something a 'blessed way'? Are you looking for community support, large corporate users etc..? Not being snarky, curious about how people see the space. Lots of implementations exist and I have used most of them for different projects, not all these projects went to production though. * https://github.com/elixir-webrtc (Elixir) * https://github.com/pion/webrtc (Golang) * https://github.com/webrtc-rs/webrtc (Rust) * https://github.com/algesten/str0m (Rust) * https://github.com/sepfy/libpeer (C/Embedded) * https://github.com/awslabs/amazon-kinesis-video-streams-webr... (C/Embedded) * https://github.com/paullouisageneau/libdatachannel (C++) * https://webrtc.googlesource.com/src/ (C++) * https://github.com/shinyoshiaki/werift-webrtc (Typescript) * https://github.com/sipsorcery-org/sipsorcery (C#) * https://github.com/aiortc/aiortc
Read the rest
(Python) * GStreamer’s webrtcbin (C)
In VoRS: Vo(IP) Simple Alternative to Mumble
libdatachannel[0] is exciting me the most for 'low footprint'. str0m[1] is especially exciting, but you have to be in a device/ecosystem that allows rust. > only if you use the same kind of software and codecs With WebRTC I can connect clients with varying support of H264, VP8, VP9, AV1, Opus, ulaw and alaw. WebRTC has plenty of flaws, but 'lack of negotiation' is one of them. [0] https://github.com/paullouisageneau/libdatachannel [1] https://github.com/algesten/str0m
In VoRS: Vo(IP) Simple Alternative to Mumble
You can use https://github.com/paullouisageneau/libdatachannel for your C/C++ integration needs. It's 10k lines. So the answer is 0. Its required dependencies (I assume this as they are git submodules in deps) are more than 100k lines, though, srtp support making the bulk of it. On my machine it took 11 seconds to compile it. Irssi is 64k lines (plus its dependencies), so I guess that makes WebRTC complicated. Can't argue that DCC isn't simple, but perhaps the protocol deviced decades ago is a bit too simple.
In Simplicity of IRC (2022)
I am really excited about https://github.com/sepfy/libpeer. It has examples ready for ESP32 etc.... When working on KVS I wasn't familiar with the embedded space at all. I saw 'heavyweight' embedded where you were running on Linux. Then you had RTOS/No OS at all. I wasn't prepared for these devices at all. If we can make WebRTC work in the embedded space I think it will really accelerate what developers are able to build! Remotely driven cars, security cameras, robots in hospitals that bring iPads to infectious patients etc... Creative people are building amazing things. The WebRTC/video space needs to work harder and support them :) ----- I love how diverse the WebRTC space is now. Outside of this implementation you have plenty of other options! * https://github.com/shinyoshiaki/werift-webrtc (Typescript) * https://github.com/pion/webrtc
Read the rest
In Pure C WebRTC
What libraries have you used? There are a lot these days, maybe you haven't tried one yet that matches the way you think/code :) * https://github.com/aiortc/aiortc (Python) * GStreamer’s webrtcbin (C) * https://github.com/shinyoshiaki/werift-webrtc (Typescript) * https://github.com/pion/webrtc (Golang) * https://github.com/webrtc-rs/webrtc (Rust) * https://github.com/algesten/str0m (Rust) * https://github.com/awslabs/amazon-kinesis-video-streams-webr... (C/Embedded) * hhttps://github.com/sepfy/libpeer (C/Embedded) * https://webrtc.googlesource.com/src/ (C++) * https://github.com/sipsorcery-org/sipsorcery (C#) * https://github.com/paullouisageneau/libdatachannel (C++) * https://github.com/elixir-webrtc (Elixir) See https://github.com/sipsorcery/webrtc-echoes for examples of some running against each other.
In WebRTC for the Curious (2020)
Lots of other WebRTC implementation exist (in many languages). Happy to help if you have any questions * https://github.com/aiortc/aiortc (Python) * GStreamer’s webrtcbin (C) * https://github.com/shinyoshiaki/werift-webrtc (Typescript) * https://github.com/pion/webrtc (Golang) * https://github.com/webrtc-rs/webrtc (Rust) * https://github.com/awslabs/amazon-kinesis-video-streams-webr... (C/Embedded) * https://webrtc.googlesource.com/src/ (C++) * https://github.com/rawrtc/rawrtc (C++) * https://github.com/sipsorcery-org/sipsorcery (C#) * https://github.com/paullouisageneau/libdatachannel (C++) See https://github.com/sipsorcery/webrtc-echoes for examples of all of them running against each other.
In WebRTC support being added to FFmpeg
I've looked into this the other month. There are a number of obfuscation networks that have tried this to some extent (including IPFS and GNUnet), but I am yet to find a network that works exactly as you've described: where you can just access a "tor web portal" in your browser or something. I think an obstacle would be preventing fingerprinting inside a non-fingerprint-proof browser. You might be able to do this if you ported something like tor's fingerprint-proof browser to emscripten and have it render to an HTML canvas! So far Tor has implemented WebRTC[0], but that's just for bridging to their main network. [0] https://snowflake.torproject.org/ P.S. I've also considered the "decentralized p2p social media" idea myself, but mostly because I believe the ideas we have currently behind online voting, ranking and moderation are completely
Read the rest
at odds with IRL discussions which are P2P and based on "forwarding" ideas to known peers (friends, family, community members, countrymen) rather than posting and ranking content with anonymous peers (which are susceptible to Sybil attacks). The fact that so much discussion takes place on corporate-owned forums (Including this one, regardless of how benevolent ycombinator may be) presents a major threat to democracy in general. Instead of "liking" or "upvoting" a post on a centralized forum, why not "rehost" or "forward" a post on a decentralized forum: essentially seeding it like in BitTorrent or "pinning" it in IPFS. "Followers" of a user donate their storage and bandwidth to them, combating bureaucratic attacks like delisting and DDoS against popular users. If you could port IPFS to run completely in a browser you would have this complete "pseudo-social-media" functionality. They have something called "IPNS" where instead of giving someone the hash of a file like in BitTorrent's DHT, you could give them a public key which you use to sign the latest version of a file that is to be fetched. The Public/Private keypair could represent a user's identity, and the file in this case could be a blog or account page which is updated with new links to the user's posts, or links to other user's posts. So if you ported IPFS to work within a web browser, it would just be a matter of implementing a user-interface. Boom, social media solved. You could maintain parity between desktop and web versions by using libraries like libdatachannel[1] and datachannel-wasm[2] [1] https://github.com/paullouisageneau/libdatachannel [2] https://github.com/paullouisageneau/datachannel-wasm
In Your compliance obligations under the UK’s Online Safety Bill
In A simple C implementation to stream H.264 to browser using WebRTC
Hey HN, I am so excited to share webrtc-echoes. This repository contains a test suite that asserts that many different WebRTC implementations can communicate with each other. It also asserts that these WebRTC implementations work with WebRTC servers. My personal goal is that someday WebRTC is as easy as HTTP. You don't worry about what implementation/tools you use, you just start the project in your favorite language. WebRTC-echoes is important for a few reasons * Ensure that things connect, and prevents regressions. It makes all the implementations more robust. * Great for learning. Developers see all the options available and can try different software. * Builds community. With all of us working together it will help good ideas spread faster. ----------- This is what is implemented today. * aiortc: WebRTC and ORTC implementation for P
Read the rest
ython using asyncio. [0] * libdatachannel: C/C++ WebRTC Data Channels and Media Transport standalone library (bindings for Rust, Node.js, and Unity)[1] * Pion: Pure Go implementation of the WebRTC API. [2] * SIPSorcery: A WebRTC, SIP and VoIP library for C# and .NET Core. Designed for real-time communications apps. [3] * werift-webrtc: WebRTC Implementation for TypeScript (Node.js) [4] Servers: * GStreamer's webrtcbin [5] * Janus [6] * Kurento [7] * Google WebRTC [8] ----------- [0] https://github.com/aiortc/aiortc [1] https://github.com/paullouisageneau/libdatachannel [2] https://github.com/pion/webrtc [3] https://github.com/sipsorcery-org/sipsorcery [4] https://github.com/shinyoshiaki/werift-webrtc [5] https://gstreamer.freedesktop.org/documentation/webrtc/index... [6] https://janus.conf.meetecho.com/ [7] https://www.kurento.org/ [8] https://webrtc.googlesource.com/src/
In Show HN: WebRTC-Echoes: Interop for C#, C++, Python, TypeScript, Go and Servers

Showing the 15 most recent of 16 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.