Overview

MediaX is a real-time video streaming library implementing industry-standard protocols for defence and industrial applications.

Architecture

MediaX Architecture

Standards Compliance

MediaX implements the following standards:

Standard Description
RFC 4421 RTP Payload Format for Uncompressed Video (RGB24, YUV422, Mono8/16)
RFC 3984 RTP Payload Format for H.264 Video
RFC 7798 RTP Payload Format for H.265/HEVC Video
RFC 2974 Session Announcement Protocol (SAP)
RFC 4566 Session Description Protocol (SDP)
AIA GigE Vision 2.x Industrial camera discovery (GVCP) and streaming (GVSP)
EMVA GenICam 3.x Camera XML device description (SFNC)
DEF STAN 00-082 VIVOE — Video and Imagery over Ethernet for Defence (GVA/GSA)

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

Colourspace Conversion

Convert between pixel formats with CPU scalar, AVX2 SIMD (auto-detected), and CUDA GPU implementations:

  • RGB24 ↔ YUV422, RGBA, BGRA, Mono8
  • Bayer demosaic (RGGB / GRBG / GBRG / BGGR) → RGB24
  • RGB24 → Bayer raw (CFA packing)
  • Image scaling (bilinear)

Use Cases

  • Defence vehicle video systems (GVA/VIVOE)
  • Industrial machine vision with GigE Vision cameras
  • Broadcast and surveillance
  • AI/ML video processing pipelines

Support