Media Transport

Summary

Media transport covers SMPTE ST 2110-20 (uncompressed video), ST 2110-30 (AES67 audio), and ST 2110-40 (ancillary data) over the 10GbE media plane. All streams use RTP multicast in the 239.1.0.x range, flowing through the CRS305 media switch. Streams are PTP-timestamped against the SMPTE 2059 domain 127 clock.

Phase 1 starts with AES67/ST 2110-30 audio using GStreamer — a 1kHz sine wave test tone sent as 24-bit/48kHz stereo L24 RTP multicast from Stream-PC to SERVER-PC. Phase 2 adds ST 2110-20 uncompressed video (1080p60 at ~3Gbps) and ST 2110-40 ancillary data over 10GbE. SDP files describe each stream with PTP clock references.

Software tools include GStreamer (native 2110 sender/receiver), FFmpeg (cbcrc/olzzon forks for 2110), Intel Media Transport Library (DPDK-accelerated on ConnectX-3), and the Intel MTL OBS Plugin for direct 2110 I/O in OBS.

Timeline

  • 2026-04-03: Media transport architecture designed. Multicast groups assigned (239.1.0.x).
  • 2026-04-03: GStreamer sender/receiver commands drafted for AES67 audio.
  • 2026-04-03: SDP file template created for audio stream.
  • 2026-04-03: Future expansion documented: FFmpeg, Intel MTL, OBS integration.

Current State

No media streams running yet — waiting for hardware delivery and PTP sync (Phase 1 Tasks 1-7). Audio stream commands and SDP files are drafted.

Planned first stream (AES67 audio):

  • Multicast group: 239.1.0.1, port 5004
  • Codec: L24 (24-bit linear PCM), 48kHz, stereo
  • RTP payload type: 97
  • PTP reference: IEEE1588-2008 domain 127

Bandwidth requirements:

  • 1080p60 uncompressed video: ~3 Gbps
  • AES67 stereo audio: ~2.3 Mbps
  • 10GbE link capacity: 9.4 Gbps usable

Key Decisions

  • 2026-04-03: GStreamer as primary media tool — native ST 2110-20/30/40 support, cross-platform, free.
  • 2026-04-03: Audio first, then video — audio is simpler and proves the PTP+multicast pipeline before adding 3Gbps video.
  • 2026-04-03: Multicast range 239.1.0.x — administratively scoped, won’t conflict with anything.

Experiments & Results

ExperimentStatusFindingSource
AES67 audio (GStreamer)PlannedStream-PC → 239.1.0.1 → SERVER-PCPhase 1 plan
ST 2110-20 video (GStreamer)Phase 21080p60 over 10GbEArchitecture doc
Intel MTL + DPDKFutureHW-accelerated 2110 on ConnectX-3Future expansion
OBS 2110 input/outputFutureIntel MTL OBS PluginFuture expansion

Gotchas & Known Issues

  • GStreamer Windows install is complex — use Chocolatey (choco install gstreamer gstreamer-devel -y) for cleanest setup.
  • 1080p60 uncompressed needs ~3Gbps sustained — start with 720p if bandwidth constrained.
  • SDP files must reference correct PTP clock ID — update ts-refclk field with actual grandmaster clock ID.
  • Intel MTL requires Linux + DPDK — not available on Windows. SERVER-PC needs Linux for this.

Open Questions

  • Can GStreamer on Windows generate compliant ST 2110-20 video, or is Linux required?
  • What’s the actual CPU load of software-based 1080p60 2110 encoding on Ryzen 9?
  • Should NDI bridging (software) be set up alongside 2110 for monitoring convenience?

Sources