HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
pion
webrtc
Go2018–2026
pion / webrtc

webrtc

Pure Go implementation of the WebRTC API

31Distinct people
113Mentions
1Explicit recommenders
16.9KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Pure Go implementation of the WebRTC API

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

Hey HN, Tech demos don't get cooler then this one. You can control a Spot robot just using the browser. I am especially excited since it uses a Open Source library I work on…

Sean-Der used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

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 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 10:49:33 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 year113 dated mentions

Observed mentions: 2018-06-20 16:21:31 UTC to 2026-09-14 17:34:31 UTC.

05101520252018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 9 mentions; 2 submissions, 7 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 11 mentions; 2 submissions, 9 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 25 mentions; 2 submissions, 23 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 22 mentions; 2 submissions, 20 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 15 mentions; 3 submissions, 12 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 6 mentions; 2 submissions, 4 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 8 mentions; 2 submissions, 6 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 11 mentions; 3 submissions, 8 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 6 mentions; 1 submissions, 5 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

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
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC927
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC1129
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC25223
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC22220
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC15312
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC624
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC826
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC1138
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC615

What Hacker News says

11 sources
I think SCTP was a very good choice. Writing a SCTP implementation for Pion WebRTC[0] was really enjoyable. The SCTP RFC is well written and easily available [1]. Once you learn all the chunk types things start to fall into place. SCTP is also battle tested and we know what flaws it has. I am pessimistic about alternatives * New protocols/changes are spread across multiple drafts, and they are abandoned once they land in browsers. Most of the time these changes are already going to happen and these drafts are just a way to notify the general public it is happening. So it ends up being 'the implementation is the spec', and things are brittle. SCTP doesn't break like that. * WebRTC is still very difficult to use. For large dev teams/corporations it is a solved problem, but I really wish there was more excitement/emphasis around lowering the
Read the rest
barrier to entry. It is a really powerful technology, but it seems like we just keep getting half-baked things out the door and then moving on. [0] https://github.com/pion/webrtc [1] https://tools.ietf.org/html/rfc4960
In Why was SCTP selected for WebRTC’s data channel? (2014)
Demonstration of connecting a Go process with your browser, and no backend is required! If you are building a PWA you could have two browsers connect to each other in the same LAN, with no internet access required to bootstrap the connection. Just choose two unique IDs and then they could find each other. I would love to build a chat application that maybe auto-connected people if they were inside the same network. My motivation for building this is showing what WebRTC can be used for, and maybe pushing the standards bodies to support this behavior more. I also work on https://github.com/pion/webrtc a full Go implementation of WebRTC and just enjoy the space. Would love to hear what people think, someone started a twitter thread about it https://twitter.com/_developit/status/1203352686869004289. Seems like a super cool idea and I think co
Read the rest
uld really enable some cool things. The WebRTC API doesn't fully enable this yet, but hopefully this will get people excited about it and we will see what happens :)
In Show HN: P2P/serverless browser to Go back end – no DNS/IP required
Hey Keith, Amazing work, I am really impressed with what you are doing. I have never found any good reading in this area beside your work, the only thing I have seen is GStreamer's rtpjitterbuffer and libwebrtc. I haven't really felt confident in what I have learned from either though. Have you thought about testing/comparing against other WebRTC implementations? It makes me a little sad to see WebRTC get a bad name just because one implementation has issues. WebRTC is a huge opportunity to get companies to invest in one thing, instead of reinventing the wheel and locking people in. Do you think things could be improved and eventually match Salsify? Somewhat unrelated but I am working on Pion WebRTC[0]. By design it is not coupled tightly with the encoder/decoder (but I want to give feedback to the user so it could influence it if they wa
Read the rest
nted). Do you have any suggested readings, would you be ok with me contacting you directly? I really want to build something elegant that allows people to build amazing things with WebRTC. Right now I have been having people do things manually, I don't want to ship something without doing my due diligence. thanks [0] https://github.com/pion/webrtc
In Salsify – A New Architecture for Real-time Internet Video
I have only been doing Pion WebRTC(https://github.com/pion/webrtc) for a year, but the hardest ones for me have been * Relationships tied to the project It sort of burned me out when the first contributors moved on. I have always been on the other side though, interests change or you change jobs. * Every user issue is urgent. It is hard figuring out what the most important thing to work on is. If a user takes time to file an issue it is causing them issues. I just have been on the other side and it doesn't feel great to be ignored. * Community members with different communication styles People aren't so much assholes, but just communicate differently. It is really hard to mediate, no one is at fault but I just hate seeing people leave/get burned out from it.
In The struggles of an open source maintainer
If you are new to WebRTC it is a really amazing technology, and lots of powerful things can be built with it. It isn't just a technology for conferencing, you can build powerful P2P software that works on all platforms (including your browser!) You can see it in use in places like IPFS[0] so come check out the examples[1] and build something cool. We also would love to chat! You can find us on Slack[2], while this channel was started for Pion there is a lot of interesting general WebRTC conversation going on. ---- I am excited to announce that v2.0.* has officially landed and stabilized! Multiple large production users have migrated to it and we fixed all the bugs we found along the way. This was a really big release, you can see the full release notes[3] are some exciting parts though. * Unified Plan and Plan-B support * QUIC Support * W
Read the rest
ebAssembly Support * ICE Regular Nomination (better support for NATs) * Massive SCTP performance and reliability improvements * API Cleanup to better match the WebRTC Spec We are also starting work on v2.1.* which so far will include the following. If you have a feature that you think is important we would love to hear! * TURN Support * User configurable JitterBuffer * Re-negotiation (allow multiple Offer/Answer) [0] https://github.com/libp2p/go-libp2p-webrtc-direct [1] https://github.com/pion/webrtc/tree/master/examples [2] https://pion.ly/slack [3] https://pion.ly/knowledge-base/release-notes/webrtc-v2.0.0/
In Show HN: Pion WebRTC Pure Go Implementation of WebRTC (v2.0.* Is Stable)
Transfer is done via DTLS, a protocol on top of UDP, so we have to deal with packet loss and retransmission, which itself is controlled by SCTP. gfile uses pion/sctp[0] (via pion/webrtc[1]), and there has been some work going on to improve performances. :) The performances used to be far worse, but with the recent improvements on pion/sctp, I felt gfile had become fast enough to be useful to some people. [0]: https://github.com/pion/sctp [1]: https://github.com/pion/webrtc
In Show HN: Gfile, a WebRTC based file transfer utility in Go

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.