Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →
Top 17 C WebRTC Projects
-
freeswitch
FreeSWITCH is a Software Defined Telecom Stack enabling the digital transformation from proprietary telecom switches to a versatile software implementation that runs on any commodity hardware. From a Raspberry PI to a multi-core server, FreeSWITCH can unlock the telecommunications potential of any device.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
Kamailio
Kamailio - The Open Source SIP Server for large VoIP and real-time communication platforms -
-
amazon-kinesis-video-streams-webrtc-sdk-c
Amazon Kinesis Video Streams Webrtc SDK is for developers to install and customize realtime communication between devices and enable secure streaming of video, audio to Kinesis Video Streams.
-
OBS-studio-webrtc
This is a fork of OBS-studio with generic support for webrtc. It leverages the same webrtc implementation most browsers use.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
android-vad
Android Voice Activity Detection (VAD) library. Supports WebRTC VAD GMM, Silero VAD DNN, Yamnet VAD DNN models.
-
Protozoa
Code for the paper "Poking a Hole in the Wall: Efficient Censorship-Resistant Internet Communications by Parasitizing on WebRTC" [ACM SIGSAC CCS '20]
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
> despite WebRTC mostly being about client/client communication
This is actually kind of a misconception, though it’s an understandable one given that WebRTC is almost always pitched as a peer-to-peer protocol.
In practice, most people using WebRTC for video are sending their video to a server, not directly to another client. It’s pretty safe to assume that most people who use your app are going to need TURN, and at that point, you’re not really doing peer-to-peer at all, so you might as well just have your browser-based app talk to a server that’s pretending to be another browser.
These servers (called Selective Forwarding Units or SFUs) can operate like a TURN server in the case of a one-on-one call, but they can also multiplex everyone’s feeds in the case of a larger conference (peer-to-peer 5 person calls would require each participant to send 4 copies of their video) and often have extra features like the ability to record calls, transcode streams or convert to other protocols.
The one I’ve used a lot is called Janus[0], it’s open source and has good docs, I recommend people check it out if they’re interested in getting deeper into WebRTC or other video streaming tech.
[0] https://janus.conf.meetecho.com
Multi-process server applications using a prefork model are one example. You might have one process dedicated to accepting new connections over the network and maybe doing an initial handshake, and then a bunch of worker processes handling the actual connections. Kamailio's CDP module is built like this (https://github.com/kamailio/kamailio/tree/master/src/modules/cdp)
Project mention: Baresip – An Open Source modular SIP User-Agent with audio and video support | /r/patient_hackernews | 2023-09-04
There's examples and on YT theres some videos showing off the lib.
Project mention: Need help with audio calls for rooms with about 10 people in each. | /r/WebRTC | 2023-06-05
C WebRTC related posts
- VoRS: Vo(IP) Simple Alternative to Mumble
- OBS merges AV1 support for WebRTC
- WebRTC for the Curious
- What's the use of fd passing?
- Baresip – An Open Source modular SIP User-Agent with audio and video support
- Jitsi.org has started requiring authentication
- Connecting linphone softphone
-
A note from our sponsor - InfluxDB
www.influxdata.com | 25 Apr 2024
Index
What are some of the best open-source WebRTC projects in C? This list will help you:
Project | Stars | |
---|---|---|
1 | janus-gateway | 7,788 |
2 | freeswitch | 2,981 |
3 | Kamailio | 2,128 |
4 | baresip | 1,611 |
5 | amazon-kinesis-video-streams-webrtc-sdk-c | 974 |
6 | libpeer | 774 |
7 | OBS-studio-webrtc | 573 |
8 | nbnet | 385 |
9 | rawrtc | 368 |
10 | libjuice | 363 |
11 | kurento | 211 |
12 | android-vad | 187 |
13 | violet | 180 |
14 | wirow-server | 165 |
15 | tiny-webrtc-gw | 69 |
16 | Protozoa | 21 |
17 | ffmpeg-webrtc | 20 |
Sponsored