Flex Video¶
Flex Video is a video streaming system built on GStreamer that provides real-time video transcoding, streaming, and distribution capabilities.
Features¶
-
Video Transcoding
Transcode video streams between H.264, H.265, and AV1 codecs with configurable bitrate, resolution, and quality settings.
-
Camera Support
Automatic detection and configuration of V4L2 cameras with hot-plug monitoring and capability enumeration.
-
Stream Announcements
Auto-announce video feeds to CoT/ATAK, TAK Server, Lattice, and mDNS for seamless integration with tactical systems.
-
Screenshot Capture
Capture periodic AVIF still images or motion sequences from video streams for archival or review.
Quick Start¶
Get Flex Video running in minutes:
Architecture Overview¶
Flex Video consists of three main containers:
| Container | Purpose | Ports |
|---|---|---|
| flex-av1 | GStreamer video processing engine | 35391 (API), 8731 (RTSP) |
| flex-mtx | MediaMTX RTSP/RTMP/WebRTC server | 8554 (RTSP), 1935 (RTMP), 58080 (API) |
| flex-manager | Web UI and REST API | 8080 (Web), 3539 (API) |
┌─────────────────────────────────────────────────────────────────┐
│ Flex Video │
├─────────────────┬─────────────────┬─────────────────────────────┤
│ flex-manager │ flex-mtx │ flex-av1 │
│ ┌───────────┐ │ ┌───────────┐ │ ┌───────────────────────┐ │
│ │ Web UI │ │ │ RTSP │ │ │ GStreamer Pipeline │ │
│ │ :8080 │ │ │ :8554 │ │ │ │ │
│ └───────────┘ │ ├───────────┤ │ │ ┌─────┐ ┌─────┐ │ │
│ ┌───────────┐ │ │ RTMP │ │ │ │Decode├───►Encode│ │ │
│ │ REST API │ │ │ :1935 │ │ │ └─────┘ └─────┘ │ │
│ │ :3539 │ │ ├───────────┤ │ │ │ │
│ └───────────┘ │ │ WebRTC │ │ │ RTSP Server :8731 │ │
│ │ │ :58181 │ │ └───────────────────────┘ │
└─────────────────┴─────────────────┴─────────────────────────────┘
Next Steps¶
- Getting Started - Create your first pipeline
- Installation Guide - Deploy Flex Video
- API Reference - Integrate with the REST API