MovieLabs Digital Distribution Framework—MDDF
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


MovieLabs Digital Distribution Framework—MDDF

1 What's New

2 Overview

3 Status

4 Software Organization & Roadmap

5 Executable Packages

6 Installing and Running

  1. Downloading
  2. Java
  3. OS-X
  4. Windows
  5. Linux

7 Past Releases

What's New

  • 2018-Aug-08: mddf-tool v1.4 has been released as both an executable jar and as native executables.


This repository contains Java software supporting the creation and usage of MDDF files including

  • Avails
  • Common Media Manifest (CMM)
  • Media Manifest Core (MMC)
  • Media Entertainment Core (MEC)

Information on the MovieLabs Digital Distribution Framework and the various MDDF standards is available at

Status and Relationship to Other MovieLabs Github Repositories:

The software in this repository is intended to replace that contained in the following MovieLabs repositories:

  • availslib
  • availstool
  • cpe-preprocessing

Software Organization & Roadmap:

There are two projects within this repository:

  • mddf-lib: this implements all core (i.e., non-UI) functionality that can be used to generate, validate, or transform MDDF files.
  • mddf-tools: implements standalone applications for performing MDDF-related tasks.

The applications in mddf-tools are implemented on top of mddf-lib and any developers intending to develop their own mddf support applications are encouraged to do the same.

The mddf-tools software currently implements two applications:

  • Avails Validator Tool: may be used to

    • validate an Avails file specified as either XML or XLSX
    • translate an XLSX-formatted Avails to the equivalent XML
    • translate an XML-formatted Avails to the equivalent XLSX
  • Manifest Validator: validates that a CMM, MMC, or MEC file conforms with:

    • the CMM schema
    • recommended 'Best Practices'
    • a specific profile


Available Formats:

Binary releases are available in two forms:

  • as Native Executables for Windows, OS-X, and Linux systems. Each executable is specific to the processing of either Avails or Manifest files.

  • as an executable Java jar which supports the processing of either Avails or Manifest files. [NOTE: Version prior to v1.1.3 were not released as executable jars.]

Note that the executable jar provides all of the capabilities available via the two native excutable packages. In addition, the jar provides a command line interface (CLI) that may be used either from a terminal window or in conjunction with scheduled jobs (e.g., via crontab).

Refer to for a list of specific enhancements and bug fixes for any given release.


mddf-lib and Java jars:

Stable releases of the mddf-lib will have a two-part version or a three-part version ID. Interim development and evaluation (i.e., BETA) releases will include an "rcN" suffix.


  • v1.3 or v2.0 identify stable releases
  • v2.0.1.rc2 is a Beta release of v2.0.1

Executable jars are created for both stable and BETA releases and track the version number of the underlying mddf-lib.

Example: mddf-tool-v3.1.jar would based on, and compatible with, v3.1 of mddf-lib.

Native executables:

Beginning with the release of v1.3 of mddf-lib, native executables are assigned versions that append a letter to the the underlying mddf-lib version.


  • an Avails Validator with a version of v1.3.a is based on v1.3 of the mddf-lib.
  • a Manifest Validator with a version of v1.3.2.c is based on v1.3.2 of the mddf-lib.

Prior to July 2017 and the release of v1.3 of the mddf-lib, the native executables were assigned a version ID independent of the mddf-lib version.

Installing and Running:

The use of the Java executable Jar is highly recommended as it is always the most up-to-date version and provides the full range of capabilities. Native executables for OS-X, Windows, and Linux are also provided but will not be available for all developmental candidate releases. A single Java jar file provides support for both the Avails and Manifest Validators. This is in contrast to the OS-specific executables in which there is a separate executable for each validation tool.

See Available Formats for download locations for all versions.


Executable jar files may be downloaded from the ./binaries directory of this repository. The native executables may be downloaded from one of two sources:

Java Executable Jar:

The mddf-tool jar may be used on any machine that supports Java 1.8 or a more recent jvm. A single jar file provides support for both the Avails and Manifest Validators. This is in contrast to the OS-specific executables in which there is a separate executable for each validation tool.

Once the jar file has been downloaded, it may be run using the standard Java command:

java -jar ./{path-to-directory}/mddf-tool-v{version}.jar -i

The -i argument indicates the toolkit should be started in interactive mode. A Tool Launcherdialog will appear that allows the user to select the MDDF tool they wish to use (e.g., the Avails Validator). To see all supported arguments, use -h


Due to issues with Apple's Gatekeeper security mechanism and JavaFX applications, OS-X executables are provided in the form of zip files. Unlike with the Java jars, a separate file must be downloaded and installed for each MDDF tool.

  1. unzip the downloaded file(s) to the desired location (e.g. /Applications)
  2. make the applications executable. Open a terminal and enter the following:
  cd {install-directory}
  chmod -R a+x ./
  chmod -R a+x ./

The application may now be launched via the Finder. An error message that “the application can’t be opened” indicates Step #2 was not performed correctly.


Executables for Windows environments are provided in the form of standard .exe files and require no special steps to install or run. The .msi formatted distro is not supported.


Linux executables are provided in bothrpm and deb distro formats.

Release History:

  • **2018-Aug-08: mddf-tool v1.4 released.

  • 2018-Jul-27: mddf-tool v1.4_rc2 released as an executable jar for testing and evaluation.

  • 2018-Jul-05: mddf-tool v1.4_rc1 released as an executable jar for testing and evaluation.

  • 2018-Mar-22: mddf-tool v1.3.2 released.

  • 2017-Dec-18: mddf-tool v1.3.1 released.

  • 2017-Nov-13: mddf-tool v1.3 released.

  • 2017-Oct-13: mddf-tool v1.3.rc4 released for testing and evaluation.

  • 2017-Sep-21: mddf-tool v1.3.rc3 released for testing and evaluation.

  • 2017-May-09: mddf-tool v1.2 released.

  • 2017-May-01: mddf-tool v1.1.3.rc8 released as an executable jar for testing and evaluation.

  • 2017-Apr-21: mddf-tool v1.1.3.rc6 released as an executable jar for testing and evaluation.

  • 2017-Apr-18: mddf-tool v1.1.3.rc4 released as an executable jar for testing and evaluation.

  • 2017-Mar-29: mddf-tool released as an executable jar. Processing of either Avails or Manifest files is supported.

  • 2017-Mar-02: mddf-lib v1.1.2 released.

  • 2017-Feb-13: mddf-lib v1.1.1 released. This provides several fixes relating to the translation of Avails from XLSX to XML.

  • 2017-Jan-30: mddf-lib v1.1 released.