stun | opus | |
---|---|---|
3 | 6 | |
578 | 374 | |
5.0% | 1.6% | |
6.8 | 5.9 | |
29 days ago | about 2 months ago | |
Go | Go | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
stun
- NAT behaviour discovery using STUN
-
WebTorrent
This isn't true.
In 2017 appear.in published some numbers. They saw ~15% were not able to do P2P. https://medium.com/@fippo/what-kind-of-turn-server-is-being-...
Reading your stackoverflow link my guess is that you aren't using STUN. A P2P connection can't be established without a NAT hole punch.
Also if possible I would avoid the terms `Full-cone NAT` and `Symmetric NAT` they don't do a good job of describing what is actually happening. NAT Mapping/NAT Filtering is the best way to describe it. I wrote a little bit about it here [0]. To see what type of NAT you have try stun-nat-behaviour[1]
[0] https://webrtcforthecurious.com/docs/03-connecting/#nat-mapp...
[1] https://github.com/pion/stun/tree/master/cmd/stun-nat-behavi...
-
How to make communicating two machines which are behind their respective NATs with wireguard
If you test your NAT on the destination via a tool like https://github.com/pion/stun/tree/master/cmd/stun-nat-behaviour, what does it report for mapping and filtering?
opus
-
Educational Codebases
There are a few Go projects meant to be learned from:
- https://github.com/pion/opus for to learn audio
- https://github.com/benbjohnson/wtf for overall production quality
- https://github.com/upspin/upspin difficult to explain, personally I'm not a fan of the errors
- Pure Go Implementation of the Opus Codec
- Pure Go implementation of Opus audio codec
- Pure Go implementation of the Opus Codec (used by WebRTC)
- Pure Go implementation of the Opus audio codec
- Show HN: Pure Go Opus Audio Codec implementation
What are some alternatives?
webrtc-echoes - Simple useful interoperability tests for WebRTC libraries. If you are a WebRTC library developer we'd love to include you!
cats - Implementations of cat(1) from various sources.
aquatic - High-performance open BitTorrent tracker (UDP, HTTP, WebTorrent)
wtf - WTF Dial is an example web application written in Go.
buffer - The buffer module from node.js, for the browser.
Pion WebRTC - Pure Go implementation of the WebRTC API
simple-peer - 📡 Simple WebRTC video, voice, and data channels
turn - Pion TURN, an API for building TURN clients and servers
werift-webrtc - WebRTC Implementation for TypeScript (Node.js), includes ICE/DTLS/SCTP/RTP/SRTP/WEBM/MP4
dtls - DTLS 1.2 Server/Client implementation for Go
trystero - ✨🤝✨ Build instant multiplayer webapps, no server required — Magic WebRTC matchmaking over BitTorrent, Nostr, MQTT, IPFS, and Firebase
upspin - Upspin: A framework for naming everyone's everything.