MFLOW / DOCUMENTATIONv0.4.1

Build with
MFlow.

Documentation for the native, open-source C++20 media engine. Start with installation, learn the CLI, understand the pipeline model, and follow the architecture as MFlow grows.

← Back to MFlow
01 / GET STARTED

Quick start

MFlow 0.4.1 provides user-local installation, so the CLI can be used from a terminal without requiring administrator privileges.

Get the source

$ git clone https://github.com/reqeuss/MFlow.git
$ cd MFlow

Build

$ cmake -S . -B build
$ cmake --build build --config Release
Release assets and installation instructions can change as the project moves through its 0.4.x development cycle. Check the GitHub release before distributing a build.
02 / COMMAND LINE

CLI

The mflow command is the main entry point. MFlow 0.4.1 focuses on a clean, user-local command-line workflow.

$ mflow version
MFlow 0.4.1

$ mflow info
packets      ✓
streams      ✓
timestamps   ✓
media probe  ✓
versionPrint the installed MFlow version and verify which build is active.
infoInspect the current engine capabilities and platform information.
benchmarkRun the scheduler and pipeline performance benchmark exposed by the project.
helpUse the CLI help output as the authoritative list of commands for the installed build.
03 / CORE

Core concepts

PacketsUnits of media data carrying payload and timing information through the processing system.
StreamsLogical media streams that describe and group related packet data.
TimestampsPTS, DTS and duration metadata used to preserve media timing as data moves through the engine.
MediaContextThe native context around media processing, designed to coordinate reusable engine components.
04 / PIPELINES

Pipeline model

MFlow is designed around explicit processing stages. A typical flow can be understood as source → transform → sink.

┌────────┐       ┌────────────┐       ┌────────┐
│ Source │ ───→  │ Transform  │ ───→  │  Sink  │
└────────┘       └────────────┘       └────────┘
   input             process            output

Stages are intended to stay independent so the engine can evolve from foundational packet and stream processing toward demuxing, muxing, decoding, encoding and hardware-accelerated pipelines.

05 / ARCHITECTURE

Native architecture

MFlow is being built as an independent native media engine rather than requiring an external multimedia executable as its core runtime.

C++20Modern C++ foundation for a cross-platform native engine.
Packet & StreamReusable media data structures introduced in the 0.4.x line.
Buffered I/ONative I/O foundations for future media containers and demuxers.
SchedulerParallel execution foundations inherited from the early MFlow architecture.
06 / ROADMAP

Where MFlow is going

v0.4.x — Media foundationsTimestamp ordering, native MP4 parsing, demuxer/muxer foundations, raw video frames and audio samples.
v0.5.x — Codec foundationsDecoder/encoder abstractions, pixel formats, audio formats and first constrained native codecs.
Future — Full engineH.264, H.265, AV1, AAC, Opus, zero-copy processing, GPU pipelines and hardware acceleration.
07 / OPEN SOURCE

Contributing

MFlow is developed in public. The repository is the source of truth for code, issues, releases and contribution workflow.

$ git checkout -b feature/my-change
$ git add .
$ git commit -m "feat: describe my change"
$ git push origin feature/my-change

Before opening a pull request, build the project and run the relevant tests or benchmarks. Keep changes focused and document behavior that affects users or contributors.

Open the repository ↗
08 / HELP

Support & links