Skip to content

librtmp2-server 0.6.5

Choose a tag to compare

@github-actions github-actions released this 14 Oct 19:09

What's Changed

Full Changelog: v0.6.4...v0.6.5

Benchmarks

Measured automatically for this release on a CI runner; the machine is described below. Raw data: bench-results-v0.6.5.json.

  • Measured: 2026-10-14 19:55:51 UTC · a9dddf3 · crate version 0.6.5 · workflow run
  • Built on: librtmp2 0.14.0
  • CPU: AMD EPYC 9V74 80-Core Processor · 4 vCPUs
  • RAM: 15.6 GiB
  • System: Linux 6.17.0-1022-azure x86_64 · rustc 1.99.0 · GitHub-hosted ubuntu24 (image 20261004.327.1)
  • Noise: shared CI VM — CPU model, neighbouring load and the runner image change between runs, so treat absolute numbers as indicative.
  • Comparable vs release v0.6.4: ❌ different hardware (AMD EPYC 7763 64-Core Processor, 4 vCPUs vs AMD EPYC 9V74 80-Core Processor, 4 vCPUs): only large changes (> 25 %) mean anything

http_api

Benchmark Time Throughput vs release v0.6.4
http_api/create_stream 281.11 µs — ⚪ −11.1 %
http_api/health 147.27 µs — ⚪ −18.8 %
http_api/list_streams 466.9 ms — ⚪ +4.6 %

🟢 faster · 🔴 slower · ⚪ within the noise band (5–25 % depending on how comparable the two environments are, plus both runs' Criterion confidence intervals). Lower time is better.

Cross-server sweep

Same RTMP client and ffmpeg source for every server, one server at a time: load viewers 500 1000 2000, publisher ffmpeg 1280x720@30 H.264 2.5 Mbps + AAC 128 kbps. One sweep per run, no repetitions — the shared runner makes single values noisy, so compare servers within this run rather than across runs.

Servers: librtmp2-server 0.6.5 (librtmp2 0.14.0) · MediaMTX v1.21.2 · LiveForge main @ 4e70fb3 · SRS v8.0-d0 · nginx-rtmp nginx 1.31.6 (nginx-rtmp-module @ 6c7719d)

librtmp2-server vs the baselines
Metric Now vs release v0.6.4
publish handshakes/s 7,127 —
publish handshake avg (ms) 3.35 —
publish handshake p95 (ms) 5.54 —
play handshakes/s 5,704 —
play handshake avg (ms) 3.83 —
play handshake p95 (ms) 9.73 —
join, 1 viewer: avg (ms) 0.57 —
join, 1 viewer: p95 (ms) 0.57 —
join, 25 viewers: avg (ms) 1.38 —
join, 25 viewers: p95 (ms) 2.09 —
join, 100 viewers: avg (ms) 3.05 —
join, 100 viewers: p95 (ms) 5.92 —
load, 500 viewers: join avg (ms) 15.64 —
load, 500 viewers: join p95 (ms) 39.40 —
load, 500 viewers: frames/viewer 73.11 —
load, 500 viewers: CPU (% of one core) 38.00 —
load, 500 viewers: peak RSS (MiB) 22.50 —
load, 1000 viewers: join avg (ms) 19.71 —
load, 1000 viewers: join p95 (ms) 53.06 —
load, 1000 viewers: frames/viewer 73.13 —
load, 1000 viewers: CPU (% of one core) 71.00 —
load, 1000 viewers: peak RSS (MiB) 32.40 —
load, 2000 viewers: join avg (ms) 87.00 —
load, 2000 viewers: join p95 (ms) 290.8 —
load, 2000 viewers: frames/viewer 73.23 —
load, 2000 viewers: CPU (% of one core) 111.9 —
load, 2000 viewers: peak RSS (MiB) 53.10 —
Handshake latency
Server publish /s avg ms p95 p99 play /s avg ms p95 p99
librtmp2-server 7,127 3.35 5.54 6.46 5,704 3.83 9.73 12.58
MediaMTX 5,295 4.67 7.58 8.11 4,454 5.38 9.60 10.10
LiveForge 5,884 4.30 8.28 9.33 4,862 5.26 10.28 13.25
SRS 556.1 48.95 55.42 57.37 585.0 47.48 52.52 55.27
nginx-rtmp 686.9 42.28 43.57 44.66 354.1 83.59 85.35 85.89
Join latency (avg / p95 ms)
Server 1 viewer 25 viewers 100 viewers
librtmp2-server 0.57 / 0.57 1.38 / 2.09 3.05 / 5.92
MediaMTX 0.85 / 0.85 3.01 / 4.11 6.65 / 11.23
LiveForge 0.70 / 0.70 6.49 / 10.51 13.52 / 28.96
SRS 41.27 / 41.27 47.03 / 49.58 60.00 / 72.48
nginx-rtmp 82.49 / 82.49 82.79 / 83.63 85.11 / 86.84
Many viewers on one stream
Viewers Server join avg / p95 ms CPU % (one core) peak RSS MiB frames/viewer
500 librtmp2-server 15.64 / 39.40 38.00 22.50 73.11
500 MediaMTX 37.74 / 65.49 91.70 110.5 73.08
500 LiveForge 113.9 / 213.7 59.90 94.10 73.12
500 SRS 221.8 / 268.7 8.10 136.4 73.14
500 nginx-rtmp 97.74 / 111.0 55.60 23.60 73.10
1000 librtmp2-server 19.71 / 53.06 71.00 32.40 73.13
1000 MediaMTX 112.3 / 204.4 180.9 157.1 73.12
1000 LiveForge 327.8 / 808.2 120.7 151.4 73.11
1000 SRS 456.9 / 1,136 16.40 183.3 73.15
1000 nginx-rtmp 135.3 / 214.5 87.20 29.60 58.32
2000 librtmp2-server 87.00 / 290.8 111.9 53.10 73.23
2000 MediaMTX 363.8 / 1,043 176.8 308.1 41.27
2000 LiveForge 1,466 / 3,484 157.8 261.5 74.26
2000 SRS 858.2 / 1,366 34.60 261.8 73.33
2000 nginx-rtmp 2,476 / 7,375 54.50 42.00 21.93

A competitor delivering fewer frames per viewer than the others was overloaded at that step (the delivered rate, not just latency, is the result).

What's Changed

Full Changelog: v0.6.4...v0.6.5