violet
libjuice
violet | libjuice | |
---|---|---|
2 | 2 | |
180 | 367 | |
- | - | |
4.6 | 7.2 | |
4 months ago | 10 days ago | |
C | C | |
GNU General Public License v3.0 only | Mozilla Public License 2.0 |
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.
violet
libjuice
-
P2P connectivity using ICE (STUN/TURN)
For the client side, I've looked at https://github.com/paullouisageneau/libjuice, which looks promising. We want to to keep our server for the matchmaking, but then make additional use of a new server for the connectivity stage once players have agreed a game.
-
A simple C implementation to stream H.264 to browser using WebRTC
Nice, this looks like a simple and clear proof of concept!
In practice, the dependency on glib, which depends in glib, can become a practical problem for embedded devices.
That's actually why I developped libjuice [0] as the default ICE backend of libdatachannel [1].
[0] https://github.com/paullouisageneau/libjuice
What are some alternatives?
docker-coturn - A Docker container with the Coturn TURN / STUN server, used for WebRTC / VoIP / P2P communications.
libdatachannel - C/C++ WebRTC network library featuring Data Channels, Media Transport, and WebSockets
libpeer - WebRTC Library for IoT/Embedded Device using C
miniupnp - UPnP IGD implementation
stun - Fast RFC 5389 STUN implementation in go
openmiko - Open source firmware for Ingenic T20 based devices such as WyzeCam V2, Xiaomi Xiaofang 1S, iSmartAlarm's Spot+ and others.
webrtc - A pure Rust implementation of WebRTC
n2n - Peer-to-peer VPN
nbnet - single header C(99) library to implement client-server network code for games
CppCoreGuidelines - The C++ Core Guidelines are a set of tried-and-true guidelines, rules, and best practices about coding in C++