Media Exchange Layer (MXL) HANDS ON
January 25, 2026 · View on GitHub
Welcome to this guided workshop around the MXL SDK. MXL is an open source SDK to enable seamless real-time in memory exchange of video, audio, and timed metadata between media functions within modern, software-driven, distributed media production environments.
As the media industry transitions from traditional hardware-based setups to virtualized and containerized production environments, the need for scalable, interoperable software solutions has never been greater. The MXL Project aims to establish an open framework for real-time media exchange, reducing infrastructure complexity and ensuring seamless integration across compute nodes, production clusters, and broadcast platforms. MXL provides an implementation of the Media Exchange Layer defined in the Dynamic Media Facility Reference Architecture as published by the EBU.
The MXL Project will provide the foundation for:
- Interoperable software-based media production – Enabling broadcasters to optimize workflows by seamlessly integrating diverse production tools and compute environments.
- Accelerating industry-wide adoption of software-defined infrastructure – Helping media companies adopt software solutions for all tiers of production and for all levels of complexity, including workflows that are latency or quality sensitive.
Preparation Windows 11 - Getting WSL (Alma) and Docker ready
Preparation Windows 11 - Getting WSL (Ubuntu) and Docker ready
Preparation Mac - Getting Docker installed and creating a RamDisk
Exercise 1 - Single writer and single domain
Exercise 2 - Multiple writers and multiple domains
Exercise 3 - Add VNC client for GUI and changing the attribute of one of the writer app
Exercise 4 - Explore audio and video with the portable references apps.
TODO
- Upgrade images to latest MXL version
- Create a git pipeline that will automatically update the images to the latest MXL code
Authors
- Felix Poulin: initial idea
- Mathieu Rochon: Exercise design
- Anthony Royer: Exercise design
- Sunday Nyamweno: Exercise design and implementation
⚖️ License
This repository is dual-licensed.
- All code, configuration, and script files (e.g.,
.sh,.yaml, Dockerfiles) are licensed under the Apache License 2.0. - All documentation and media files (e.g.,
.md,.jpg,.ts) are licensed under the Creative Commons Attribution 4.0 International License.
Please see the main LICENSE file for more details.