InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises. Learn more →
Top 20 C++ low-latency Projects
-
srs
SRS is a simple, high efficiency and realtime video server, supports RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH and GB28181.
I don't know the answer to the WebRTC part, but as long as you have a server with not-outrageously-priced outbound bandwidth, you can install an open source RTMP server like SRS[1], and stream to that RTMP server from OBS. It's really easy, configure the RTMP server & stream key, then "Start Streaming" which is right next to "Start Recording". You can then hand your friends a link, and they can play it in any media player with RTMP/HLS/FLV stream support, or you can add a simple web UI with e.g. hls.js[2] (very easy to write, there might even be prepackaged solutions) so that they truly don't need to download anything.
-
Project mention: Low Latency C++ programs for High Frequency Trading (HFT) | reddit.com/r/cpp | 2022-12-11
-
InfluxDB
Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.
-
SRT, or Secure Reliable Transport, is a type of streaming protocol that provides enhanced security and reliability for video streaming. SRT is becoming increasingly popular among broadcasters and streamers including industry stalwarts such as ESPN because of its ability to deliver high-quality content over challenging network conditions and for its ability to make contribution and stream ingestion easy. SRT streams provide improved security, low latency, and flexibility and is supported by a global community of developers all contributing to the open-source project. Because of the power of SRT streams, Dolby.io Real-Time Streaming has decided to launch support with an SRT open beta program.
-
OvenMediaEngine
OvenMediaEngine (OME) is a Sub-Second Latency Live Streaming Server with Large-Scale and High-Definition. #WebRTC #LLHLS
Project mention: Looking for a program where I can livestream / share my screen in close to real time (like discord) | reddit.com/r/selfhosted | 2023-01-28I had great luck with setting up OvenMediaEngine with a custom OvenLiveKit player HTML. I stream to the server via RTMP and it publishes the stream over WebRTC. In the best case I got around 1 second latency, since there's a bit of overhead while converting audio channels (WebRTC only supports Opus, OBS only supports AAC (I think)). Also you can't use B-Frames, so you need to pay attention to that in OBS.
-
Project mention: Hi guys and gals, does anyone in the group play music? I’m a guitarist that likes to play online on the NINJAM and Sonobus platforms. If you have a rudimentary studio setup, not even anything fancy, it sounds like we’re in the same room. Sonobus is even more conversational like voice chat. | reddit.com/r/Clarksville | 2023-01-20
-
CppServer
Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution
-
Closest that comes to my mind is CacheGrand. It doesn’t have some of the features yet, but I believe @daniele_dll is working on it!
-
Sonar
Write Clean C++ Code. Always.. Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.
-
-
I see you are also the author of fmtlog. I haven't used this logging library, but my experience with logging real-time concurrent stuff is that often what I need more than "nanosecond accuracy", is the order concurrent things are happening.
-
roq-api
The Roq C++20 API used for Live Cryptocurrency Algorithmic and High-Frequency Trading as well as for Back-Testing and Historical Simulation
-
-
-
MWEngine
Audio engine and DSP library for Android, written in C++ providing low latency performance within a musical context, while providing a Java/Kotlin API. Supports both OpenSL and AAudio.
Check this: https://github.com/igorski/MWEngine
-
husarnet
Husarnet is a Peer-to-Peer VPN to connect your laptops, servers and microcontrollers over the Internet with zero configuration.
Project mention: ZeroTier VS husarnet - a user suggested alternative | libhunt.com/r/ZeroTierOne | 2023-01-23 -
-
Project mention: roq-samples: NEW Extended Research - star count:95.0 | reddit.com/r/algoprojects | 2022-04-09
-
CppSerialization
Performance comparison of the most popular C++ serialization protocols such as Cap'n'Proto, FastBinaryEncoding, Flatbuffers, Protobuf, JSON
-
LruClockCache
A low-latency LRU approximation cache in C++ using CLOCK second-chance algorithm. Multi level cache too. Up to 2.5 billion lookups per second.
Project mention: Is 180 million lookups per second performance ok for an asynchronous cache written in C++ running on FX8150? (has cache-coherence and runs only 1 consumer thread as back-end) | reddit.com/r/programming | 2022-02-14 -
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
C++ low-latency related posts
- SRT rendezvous confusion
- SRT Streaming failing when adding audio
- SRT Client
- Ousterhout: It's time to replace TCP in the Datacenter [pdf]
- Options for multicasting or streaming using AV1?
- kungfu: NEW Extended Research - star count:2681.0
- kungfu: NEW Extended Research - star count:2681.0
-
A note from our sponsor - InfluxDB
www.influxdata.com | 28 Jan 2023
Index
What are some of the best open-source low-latency projects in C++? This list will help you:
Project | Stars | |
---|---|---|
1 | srs | 20,507 |
2 | kungfu | 2,774 |
3 | srt | 2,460 |
4 | OvenMediaEngine | 1,785 |
5 | sonobus | 1,066 |
6 | CppServer | 970 |
7 | cachegrand | 821 |
8 | quill | 699 |
9 | fmtlog | 455 |
10 | roq-api | 366 |
11 | nap | 336 |
12 | leaf | 254 |
13 | MWEngine | 243 |
14 | husarnet | 186 |
15 | lwlog | 152 |
16 | roq-samples | 133 |
17 | CppSerialization | 112 |
18 | LruClockCache | 38 |
19 | lowl_audio | 5 |
20 | LoLa | 4 |