libre is a Generic library for real-time communications with async IO support.
libre is using CMake. CMake and OpenSSL development headers must be installed before building.
$ cmake -B build
$ cmake --build build -j
$ sudo cmake --install build
$ sudo ldconfig
cmake -B build && cmake --build build -t retest -j
build/test/retest -rv
On some distributions, /usr/local/lib may not be included in ld.so.conf.
You can check with grep "/usr/local/lib" /etc/ld.so.conf.d/*.conf
and add if necessary:
$ echo "/usr/local/lib" | sudo tee /etc/ld.so.conf.d/libc.conf
$ sudo ldconfig
$ cmake -B build -DCMAKE_BUILD_TYPE=Release
$ cmake --build build -j
$ sudo cmake --install build
$ sudo ldconfig
$ cmake -B build -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
$ cmake --build build -j
$ sudo cmake --install build
$ sudo ldconfig
Coding examples are available from the redemo project
The libre project is using the BSD license.
Patches can sent via Github Pull-Requests
Name | Status | Description |
---|---|---|
aes | stable | AES (Advanced Encryption Standard) |
async | testing | Async module |
base64 | stable | Base-64 encoding/decoding functions |
bfcp | stable | The Binary Floor Control Protocol (BFCP) |
conf | stable | Configuration file parser |
crc32 | stable | 32-bit CRC defined in ITU V.42 |
dbg | stable | Debug printing |
dns | stable | DNS resolving (NAPTR, SRV, A) |
fmt | stable | Formatted printing and regular expression |
hash | stable | Hashmap table |
hmac | stable | HMAC: Keyed-Hashing for Message Authentication |
http | stable | HTTP parser (RFC 2616) |
httpauth | stable | HTTP-based Authentication (RFC 2617) |
ice | stable | Interactive Connectivity Establishment (ICE) |
jbuf | stable | Jitter buffer |
json | stable | JavaScript Object Notation (JSON) |
list | stable | Sortable doubly-linked list handling |
main | stable | Main poll loop |
mbuf | stable | Linear memory buffers |
md5 | stable | The MD5 Message-Digest Algorithm (RFC 1321) |
mem | stable | Memory referencing |
mod | stable | Run-time module loading |
mqueue | stable | Thread-safe message queue |
msg | stable | Generic message component library |
net | stable | Networking routines |
odict | stable | Ordered Dictionary |
rtmp | stable | Real Time Messaging Protocol |
rtp | stable | Real-time Transport Protocol |
sa | stable | Socket Address functions |
sdp | stable | Session Description Protocol |
sha | stable | Secure Hash Standard, NIST, FIPS PUB 180-1 |
sip | stable | Core SIP library |
sipevent | stable | SIP Event framework |
sipreg | stable | SIP register client |
sipsess | stable | SIP Sessions |
srtp | stable | Secure Real-time Transport Protocol (SRTP) |
stun | stable | Session Traversal Utilities for NAT (STUN) |
sys | stable | System information |
tcp | stable | TCP transport |
telev | stable | Telephony Events (RFC 4733) |
thread | testing | C11 threads (with pthread and win32 emulation) |
tls | stable | Transport Layer Security |
tmr | stable | Timer handling |
turn | stable | Obtaining Relay Addresses from STUN (TURN) |
trace | testing | Trace Helpers JSON traces (chrome://tracing) |
udp | stable | UDP transport |
unixsock | testing | Unix domain sockets |
uri | stable | Generic URI library |
websock | stable | WebSocket Client and Server |
legend:
System | Support type | Supported versions | Notes |
---|---|---|---|
Linux | Tier 1 | glibc >= 2.27 (Ubuntu 18.04) | |
macOS | Tier 1 | macOS >= 10.10 | |
Windows | Tier 1 | >= Windows 8 | MinGW-w64, >= VS 2019 |
Android | Tier 2 | ||
iOS | Tier 2 | ||
FreeBSD | Tier 2 | >= 11 | |
OpenBSD | Tier 2 | >= 6.7 | |
Linux | Tier 2 | uClibc |
Tier 1: Officially supported and tested with CI. Any contributed patch MUST NOT break such systems.
Tier 2: Officially supported, but not necessarily tested with CI. These systems are maintained to the best of collaborators ability, without being a top priority.
Tier 3: Community maintained. These systems may inadvertently break and the community and interested parties are expected to help with the maintenance.
TCP | UDP | TLS | DTLS | |
---|---|---|---|---|
BFCP | - | yes | - | - |
DNS | yes | yes | - | - |
HTTP | yes | n/a | yes | n/a |
ICE | - | yes | - | - |
RTP | - | yes | - | - |
RTCP | - | yes | - | - |
RTMP | yes | - | yes | - |
SIP | yes | yes | yes | - |
STUN | yes | yes | yes | yes |
TURN | yes | yes | yes | yes |
WEBSOCK | yes | n/a | yes | n/a |
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。