Overview¶
MediaX is a real-time video streaming library implementing industry-standard protocols for defence and industrial applications.
Architecture¶
┌─────────────────────────────────────────────────────────────┐
│ Application Layer │
│ (Your Application, Qt6 GUI, Python Scripts) │
├─────────────────────────────────────────────────────────────┤
│ MediaX API │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ RTP/SAP │ │ Video │ │ Qt6 │ │
│ │ Wrappers │ │ Renderer │ │ Bindings │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ Encoder Layer │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │Uncompres-│ │ H.264 │ │ H.265 │ │ AV1 │ │
│ │ sed │ │ (x264, │ │ (VAAPI) │ │ (Rust) │ │
│ │ │ │ VAAPI) │ │ │ │ │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
├─────────────────────────────────────────────────────────────┤
│ Transport Layer │
│ ┌─────────────────────┐ ┌─────────────────────┐ │
│ │ RTP Payloader │ │ RTP Depayloader │ │
│ │ (RFC 4175/3984) │ │ (RFC 4175/3984) │ │
│ └─────────────────────┘ └─────────────────────┘ │
│ ┌─────────────────────┐ │
│ │ SAP/SDP Announcer │ │
│ │ (RFC 2974/4566) │ │
│ └─────────────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ Network Layer │
│ UDP Multicast / Unicast │
└─────────────────────────────────────────────────────────────┘
Standards Compliance¶
MediaX implements the following standards:
| Standard | Description |
|---|---|
| RFC 4175 | RTP Payload Format for Uncompressed Video |
| RFC 3984 | RTP Payload Format for H.264 Video |
| RFC 2974 | Session Announcement Protocol (SAP) |
| RFC 4566 | Session Description Protocol (SDP) |
| DEF STAN 00-082 | VIVOE - Vehicle Integrated Video Over Ethernet |
Key Components¶
RTP Payloader/Depayloader¶
Handles packetization and depacketization of video frames for network transmission.
- Supports multiple colorspaces (RGB24, YUV422, Mono8, Mono16)
- Hardware acceleration for H.264/H.265
- Configurable packet sizes and timing
SAP/SDP Announcer/Listener¶
Automatic stream discovery on the network.
- Periodic SAP announcements (1 second interval)
- SDP session descriptions with stream metadata
- Multicast group management
Video Renderer¶
Display video using various backends:
- SDL2 (recommended, cross-platform)
- GTK4 (Linux desktop)
- Frame buffer (headless systems)
Language Bindings¶
- C++17 - Native API
- Python - SWIG bindings for AI/ML integration
- Qt6 - GUI application development
Use Cases¶
- Defence vehicle video systems (GVA/VIVOE)
- Industrial machine vision
- Broadcast and surveillance
- AI/ML video processing pipelines
Support¶
- Website: https://astutesys.com/support
- Email: [email protected]