Please note that there are currently efforts on the way of specifying a version 2 of MHL (as “ASC MHL”) at the Advanced Data Management Subcommittee of the ASC Motion Imaging Technology Council at the American Society of Cinematographers (ASC).
Resources on theasc.com:
- 📄 ASC MHL Specification page (with committe draft for public review)
- 📄 ASC MHL One-Sheet page
You can follow the progress of implementation of the new reference implementation for ASC MHL here: https://github.com/ascmitc/mhl.
The information on this webpage is about the “original” MHL specification and will soon be updated.
MHL file structure
MHL files are a written in an straight forward XML format. In addition, they contain information about each file together with creator info.
Below is an example of a basic MHL file.
Download XML Schema
XML Schema: MediaHashList_v1_1.xsd (v1.1 2016-05-20)
Supported Hash Formats
MHL file naming convention
The reference implementation names the created MHL file as follows:
where the placeholders are substituted with the following:
- <foldername> – name of the current directory, e.g. ‘Movies’
- <date> – current date in format YYYY-MM-DD, e.g. ‘2013-05-10’
- <time> – current time in format HHMMSS, e.g. ‘111527’
The current directory is the folder you were in when calling the MHL tool
Users/example/Movies usr$ mhl create Example.mov > MHL file path(s): > /Users/example/Movies/Movies_2013-05-10_111527.mhl
MHL file location
The MHL tool requires the MHL file to be placed along the path of the referenced file. This allows for an easy discovery when looking for an MHL file for a specific file.
For example, when creating a MHL file for the file
the MHL file can be put in the following locations:
/Example/Movies/ /Example/ /
By default, the MHL file is located in the current directory you were in when calling the MHL tool (see section ‘MHL file naming’ above). You can manually specify the location of the MHL file, by passing the ‘–output-path’ option to the MHL tool.