Files
cvmmap-streamer/docs/compat_matrix.md
T

2.3 KiB

Compatibility Matrix

Mandatory Acceptance Matrix

The deterministic acceptance matrix is driven by tester binaries, not by a dummy pipeline source.

Run it with:

cmake -B build -S .
cmake --build build
./scripts/acceptance_standalone.sh

Covered rows:

Row Protocol Codec Transport Runner
1 RTP H.264 UDP RTP ./scripts/acceptance_standalone.sh
2 RTP H.265 UDP RTP ./scripts/acceptance_standalone.sh
3 RTMP H.264 libavformat ./scripts/acceptance_standalone.sh
4 RTMP H.265 libavformat ./scripts/acceptance_standalone.sh
5 RTMP H.264 ffmpeg_process ./scripts/acceptance_standalone.sh
6 RTMP H.265 ffmpeg_process ./scripts/acceptance_standalone.sh

Notes:

  • RTMP is Enhanced RTMP only.
  • The custom RTMP packetizer and domestic mode are removed.
  • encoder.backend remains auto|ffmpeg; both resolve to FFmpeg.

Optional Checks (Non-Blocking)

These are useful interoperability checks, but they are not part of the mandatory acceptance gate:

  • ./scripts/rtmp_srs_smoke.sh
  • ./scripts/live_srs_forward_smoke.sh '<cvmmap-uri>'
  • manual WHEP playback through SRS
  • manual ZLMediaKit interoperability checks
  • live MCAP capture, validation, and paced replay

Recording Coverage

MCAP support is validated separately with:

  • ./build/mcap_reader_tester
  • ./build/mcap_replay_tester
  • ./build/mcap_body_record_tester
  • ./scripts/replay_mcap.sh

Current recording scope:

Output Codec Notes
MCAP foxglove.CompressedVideo H.264 Stored as Annex B access units
MCAP foxglove.CompressedVideo H.265 Stored as Annex B access units
MCAP raw body packets cvmmap.body_tracking.v1 Payload bytes are identical to the cv-mmap ZED body PUB packet

Current Defaults

Setting Value
Encoder backend auto -> FFmpeg
RTMP transport libavformat
RTMP mode Enhanced only
Encoder device auto
Low-latency GOP 30
B-frames 0

What Is No Longer Supported

  • GStreamer encoder backend
  • custom RTMP packetizer
  • RTMP domestic mode
  • dummy input flags in the main runtime
  • direct in-repo RTSP/WebRTC publishing