HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
sepfy
libpeer
C2021–2025
sepfy / libpeer

libpeer

WebRTC Library for IoT/Embedded Device using C

3Distinct people
12Mentions
0Explicit recommenders
1.6KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

WebRTC Library for IoT/Embedded Device using C

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, 1:49:46 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 year12 dated mentions

Observed mentions: 2021-04-08 05:38:49 UTC to 2025-10-20 10:55:29 UTC.

0123452021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 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
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC211
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC000
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC000
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC505
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC514

What Hacker News says

12 sources
1.) Not something I did. I only worked on the software. 4.) Contracted because I wrote the Open Source libraries it uses. I created https://github.com/pion/webrtc and https://webrtcforthecurious.com the company reached out to me because https://github.com/sepfy/libpeer didn't work with Pion. Turned out to be a libpeer bug (which I fixed) > were you really hooked I have been doing hardware + WebRTC with lots of different projects since then. https://www.youtube.com/@seandubois86 unpaid, that's my proof at least :) > Hooked on the technology stack. Yes I enjoy doing WebRTC + C https://github.com/awslabs/amazon-kinesis-video-streams-webr... (one of original authors) so I enjoy the tech a lot. > Hooked talking to Santa I enjoy the unexpected behaviors of Voice AI at this moment in time. In the video I asked Santa about pi, and it responded in
Read the rest
a way I didn't expect. I find it absurd/entertaining. > Do you have kids that you built it for Yes. I have a few toys/personalities that I built for my kid. They make up funny scenarios/personalities and I change the prompt and put it in a different toy. It's fun.
In Show HN: AI toy I worked on is in stores
Sean-Der·Oct 12, 2025Submission

Show HN: AI toy I worked on is in stores

Alt link: https://mrchristmas.com/products/santas-magical-telephone Video demo: https://www.youtube.com/watch?v=0z7QJxZWFQg The first time I talked with AI santa and it responded with a joke I was HOOKED. The fun/nonsense doesn't click until you try it yourself. What's even more exciting is you can build it yourself: libpeer: https://github.com/sepfy/libpeer pion: https://github.com/pion/webrtc Then go do all your fun logic in your Pion server. Connect to any Voice AI provider, or roll your own via Open Source. Anything is possible. If you have questions or hit any roadblocks I would love to help you. I have lots of hardware snippets on my GitHub: https://github.com/sean-der.
156 points · Open discussion
The first time I talked with AI santa[0] and it responded with a joke I was HOOKED. The fun/nonsense doesn't click until you try it yourself. What's even more exciting is YOU CAN BUILD IT YOURSELF. * libpeer [1] * pion [2] Then go do all your fun logic in your Pion server. Connect to any Voice AI provider, or roll your own via Open Source. Anything is possible. If you have questions or hit any roadblocks I would love to help you. I have lots of hardware snippets on my GitHub [0] https://www.youtube.com/watch?v=0z7QJxZWFQg [1] https://github.com/sepfy/libpeer [2] https://github.com/pion/webrtc [3] https://github.com/sean-der
In Hardware AI Toy I worked on is available in stores
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
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)
Really exciting times for WebRTC in general right now! If you are new to WebRTC and want to learn more about the protocol check out [0] (would love peoples feedback). It is used in lots of unexpected places like streaming (added to OBS)[1] and Embedded [2]. I am especially excited with new implementations popping up like [3] and [4]. [0] http://webrtcforthecurious.com [1] https://github.com/Glimesh/broadcast-box [2] https://github.com/sepfy/libpeer [3] https://github.com/algesten/str0m [4] https://github.com/elixir-webrtc/ex_webrtc
In Show HN: Bring phone calls into the browser (SIP-to-WebRTC)
I think there's some truth in what as-j is saying. Rust binaries (and C++ ones) tend to be larger than C ones. I think the major reasons are (a) Rust dependencies being statically linked due to a lack of ABI stability, (b) inclusion of portions of the (statically linked, see a) Rust standard library used by the program where C code uses libc, (c) code bloat due to monomorphization, (d) the ease of just using a full-featured library where someone writing in C might cheat a little bit. As an example of what I mean by the last point, see sdp_attribute_get_answer in this codebase. [1] It's writing JSON, but it doesn't use a JSON library that actually escapes the included string. It just assumes the included string doesn't have a quote character in it. Is that assumption valid? Will it always be valid? I'm not sure on quick inspection. There a
Read the rest
re ways around all of these: * a. Static vs dynamic linkage: in an embedded system, it'd be reasonable to just produce a single userspace binary that does everything. It can change its behavior based on argv[0]. I think this is not too unusual for constrained systems even with C binaries. Eg busybox does it. If you only have one binary, you don't need dynamic linking. Also, I think it's not strictly true that Rust doesn't support dynamic linking. I think you can dynamically link everything if you ensure the whole system is built with the same compiler version. * b. Standard library. You don't have to use it at all, or you can use it sparingly, paying only for what you use. * c. Monomorphization. You could write (for example) a Go-like map [2] rather than relying so heavily on monomorphization. I'd love to see someone take this idea as far as possible; it might be a good idea for a lot of non-inner-loop code in general, not just on tight embedded systems. * d. Using full-featured libraries. Obviously no one is making you do this; the same cheats available in C are available in Rust. but in fairness, the further you go down this path, the further you are from just being able to just take advantage of the whole Rust ecosystem. Personally, I'd still rather develop or use a #![no_std] Rust codebase than a C one. Memory safety is important to me. IOT devices are no exception to that. Their security history is horrible, and I'd like their security future to be better... [1] https://github.com/sepfy/pear/blob/b984c8dccaafdcdd1b181786a... [2] https://dave.cheney.net/2018/05/29/how-the-go-runtime-implem...
In A simple C implementation to stream H.264 to browser using WebRTC

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.