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
| Experiment | Status | Finding | Source |
|---|---|---|---|
| AES67 audio (GStreamer) | Planned | Stream-PC → 239.1.0.1 → SERVER-PC | Phase 1 plan |
| ST 2110-20 video (GStreamer) | Phase 2 | 1080p60 over 10GbE | Architecture doc |
| Intel MTL + DPDK | Future | HW-accelerated 2110 on ConnectX-3 | Future expansion |
| OBS 2110 input/output | Future | Intel MTL OBS Plugin | Future 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-refclkfield 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?