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, 5:05:26 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

9 sources
There have been a few libraries popup that tie libnice + OpenSSL + libsrtp + usrsctp together, it is nice that the stack is all there. Just have to jump through lots of hoops :) The creation of them also seems to be accelerating! I think the P2P excitement has helped a lot. * https://github.com/xhs/librtcdc (This was the first non-chrome one afaik) * https://github.com/chadnickbok/librtcdcpp * https://github.com/jlaine/aiortc * https://github.com/rawrtc/rawrtc * https://github.com/pions/webrtc * https://github.com/nodertc * https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gs... There are also a few that aren't public, I haven't used them directly though. Only by talking to other devs.
In Show HN: WebRTTY – Share a terminal session over WebRTC
That's awesome simmons! I can't wait to see Rust/Python/Go/Node all talking directly to each other. I really want to see a world where P2P communication is common. It could really change how people design systems, have servers exchange data directly instead of overloading message brokers. Could have an even bigger impact on users! Instead we could see users exchanging files directly instead of depending on paid services! I am the author of https://github.com/pions/webrtc we implemented SCTP, SRTP and working on DTLS now. So if you ever want to grab anything please do :) and always happy to chat if there is anything that could be better/any way we could help the rust implementation
In Show HN: WebRTC implementation for Python using Asyncio
This is super cool, great work! It's the second (mostly-)language-native implementation[1] outside of a browser that I'm aware of, both started this year despite the WebRTC spec being finalized about 5 years ago. It's really important for libraries like this to exist so more people can build apps without binding to massive hard-to-compile browser codebases. Thank you for working on it! Also kudos for going asyncio and Python 3 right from the gate. -- [1] At least semi-functioning with DataChannel support. Lots of started attempts that have never gotten this far. The other implementation is in Go: https://github.com/pions/webrtc
In Show HN: WebRTC implementation for Python using Asyncio
pions' webrtc is the only third-party implementation with that level of completeness, and it's not very complete yet. It's super new (months old), but it's exciting! See issues: https://github.com/pions/webrtc/issues There are many aspirational repos that have been started over the years with the intention to implement WebRTC but very few of them actually made good progress. I too would love more third-party language-native implementations. Right now everyone is binding to the C++ codebase. The real problem without having language-native implementation is that it creates a protocol rift. Things like BitTorrent vs WebTorrent, or IPFS native vs IPFS JS: It's effectively UDP/TCP vs WebRTC, clients on one end (native apps that aren't NodeJS) can't speak to clients on the other end (browsers) without a relay bridge (which is always NodeJS).
In How Discord Handles Two and Half Million Concurrent Voice Users Using WebRTC
Hey HN! WebRTC is a powerful, but complicated technology. You can build amazing things, but it comes with a steep learning curve though. If you aren't sure what WebRTC is, here are some of the cool things you could build * Send a video file to multiple browsers in real time, perfectly synchronized movie watching. * Send a webcam on a small device to your browser, with no additional server required * Securely send video between two servers * Record your webcam and do special effects server side * Build a conferencing application that processes audio/video and make decisions off of it Using WebRTC in the browser is easy, but outside the browser is more of a challenge. There are multiple libraries, and they all have varying levels of quality. Most are also difficult to build, and depend on libraries that aren't available in repos or portable
Read the rest
. pion-WebRTC aims to solve all that! Built in native Go you should be able to send and receive media and text from anywhere with minimal headache. These are the design principals that drive pion-WebRTC and hopefully convince you it is worth a try. ## Portable pion-WebRTC is written in Go and extremely portable. Anywhere Golang runs, pion-WebRTC should work as well! Instead of dealing with complicated cross-compiling of multiple libraries, you now can run anywhere with one `go build` ## Simple API If you know how to use WebRTC in your browser, you know how to use pion-WebRTC. We try our best just to duplicate the Javascript API, so your code can look the same everywhere. If this is your first time using WebRTC, don't worry! We have multiple [examples](https://github.com/pions/webrtc/tree/master/examples) and [GoDoc](https://godoc.org/github.com/pions/webrtc) ## Bring your own media pion-WebRTC doesn't make any assumptions about where your audio, video or text come from. You can use FFmpeg, GStreamer, MLT or just serve a video file. This library only serves to transport, not create media. ## Safe Golang provides a great foundation to build safe network services. Especially when running a networked service that is highly concurrent bugs can be devastating. ## Readable If code comes from an RFC we try to make sure everything is commented with a link to the spec. This makes learning and debugging easier, this WebRTC library was written to also serve as a guide for others. ## Tested Every commit is tested via travis-ci Go provides fantastic facilities for testing, and more will be added as time goes on. ## Shared libraries Every pion product is built using shared libraries, allowing others to review and reuse our libraries.
In Show HN: Pion-WebRTC, a Go Native WebRTC Implementation

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.