Procédure
Vérifier une copie avec un manifeste ASC MHL
Un manifeste ASC MHL est un fichier XML qui liste chaque fichier d'un lot avec sa taille et son empreinte, calculées au départ. Pour contrôler une copie reçue, on recalcule les empreintes de ses fichiers et on les compare à celles du manifeste. Cette page montre comment le lire, comment faire cette comparaison avec trois outils, et ce qu'elle n'établit pas.
Par asa cinema · mis à jour le 22 septembre 2026
Deux manifestes à télécharger
Ils viennent d'une livraison réelle du 4 juillet 2026 : un DCP de 2,9 Go en six fichiers. Seuls les noms de machine ont été remplacés. Les empreintes, les tailles et la structure sont celles de l'envoi.
Ce sont deux manifestes isolés : ils servent à lire le format et à comparer des valeurs.
Pour une vérification avec MediaVerify ou ascmhl, ces outils ont besoin du
dossier ascmhl/ complet, avec son historique, à côté des fichiers reçus.
Qu'est-ce qu'un manifeste ASC MHL
ASC MHL, pour ASC Media Hash List, est une spécification de l'American Society of Cinematographers. Elle sert à suivre les copies successives de fichiers, de la carte mémoire du tournage jusqu'à l'archivage. La spécification et l'outil de référence sont publics, sous licence MIT, sur github.com/ascmitc/mhl.
Le fichier est du XML lisible, avec l'extension .mhl et l'espace de noms
urn:ASC:MHL:v2.0. Les empreintes peuvent être calculées en xxHash (XXH64, ou XXH3
en 64 et 128 bits), MD5, SHA1 ou C4. XXH64 est beaucoup plus rapide que MD5 sur des
centaines de gigaoctets. Il sert à détecter les erreurs de copie, non à protéger contre une
falsification.
Le format est public et documenté, et plusieurs outils indépendants le lisent.
Lire une entrée
Chaque fichier du lot correspond à un bloc <hash>. Celui du fichier
audio, dans exemple-depart.mhl :
<!-- un fichier du lot -->
<hash>
<path size="28085542" lastmodificationdate="2026-07-04T09:28:43+02:00">
AUDIO_4b094b13-62f5-48d0-9e5b-fe00042f8917.mxf
</path>
<xxh64 action="original" hashdate="2026-07-04T09:39:07.872338+02:00">
e7111ba47d09f468
</xxh64>
</hash>
Quatre informations suffisent : le chemin du fichier, sa taille exacte en octets, son
empreinte, et la date à laquelle l'empreinte a été calculée. action="original"
indique que c'est la première fois qu'une empreinte est calculée pour ce fichier.
En tête du fichier, le bloc <roothash> résume le lot en deux
empreintes : l'une pour le contenu, l'autre pour la structure, c'est-à-dire les noms et
l'arborescence. Les comparer entre deux manifestes est le moyen le plus rapide de savoir si
deux lots sont identiques.
Ce qui change d'un manifeste à l'autre
Deux manifestes du même lot, l'un calculé au départ et l'autre à l'arrivée, ne sont jamais identiques mot pour mot. Certaines valeurs doivent rester les mêmes, d'autres changent normalement. Dans les deux fichiers d'exemple :
| Champ | Départ | Arrivée | |
|---|---|---|---|
| Empreinte de contenu du lot | 5f731ed57c575058 | 5f731ed57c575058 | identique |
| Empreinte de structure | 5d0bf4dcd67daeea | 5d0bf4dcd67daeea | identique |
| Empreinte du fichier audio | e7111ba47d09f468 | e7111ba47d09f468 | identique |
| Taille du fichier audio | 28085542 | 28085542 | identique |
| Date de création du manifeste | 09:39:09 +02:00 | 07:49:35 +00:00 | change |
| Nom de la machine | poste-dit.local | serveur-sweep | change |
| Date de modification du fichier | 09:28:43 +02:00 | 07:49:32 +00:00 | change |
La date de modification dépend de l'outil de copie et de ses réglages : certains la conservent, d'autres non. Elle ne dit rien du contenu, qui se juge sur l'empreinte et la taille.
Renommer un fichier modifie aussi le manifeste, puisqu'il liste les fichiers par leur nom.
Exemple : on renomme le PKL d'un DCP de pkl_ en PKL_ pour
contourner un refus à l'ingest (en anglais). Le contenu
ne change pas d'un octet, mais le manifeste d'origine cite encore l'ancien nom : pour lui,
l'ancien fichier manque et le nouveau est inconnu. Avant de conclure à une altération, vérifiez
ce qui a été modifié volontairement.
Vérifier une copie : trois méthodes
Les deux premières n'utilisent aucun outil de sweep.
MediaVerify, de Pomfort
Gratuit, pour macOS et Windows, avec une interface graphique. On lui donne le dossier
reçu, avec son sous-dossier ascmhl/ ; il lit l'historique, recalcule les
empreintes et affiche le résultat fichier par fichier. C'est l'outil courant chez les DIT et dans les laboratoires.
pomfort.com/mediaverify
ascmhl, l'outil de référence de l'ASC
Gratuit et libre, en ligne de commande. Il travaille sur un dossier qui contient son
historique, le sous-dossier ascmhl/.
# installation
pip3 install --upgrade ascmhl
# lire l'historique d'un dossier
ascmhl info -v /chemin/du/dossier/ascmhl/
# revérifier le dossier
ascmhl create /chemin/du/dossier/
ascmhl create relit tous les fichiers et compare leurs empreintes à
l'historique. Il signale chaque fichier qui ne correspond pas et chaque fichier manquant,
puis enregistre une nouvelle génération.
À la main, avec xxhsum
Pour un fichier à la fois, sans autre outil. xxhsum s'installe avec
brew install xxhash sur macOS, ou apt install xxhash sur Debian et
Ubuntu.
xxhsum -H64 AUDIO_4b094b13-62f5-48d0-9e5b-fe00042f8917.mxf
# e7111ba47d09f468 AUDIO_4b094b13-62f5-48d0-9e5b-fe00042f8917.mxf
La valeur affichée doit être celle du manifeste. Nous avons refait le calcul sur le
fichier d'origine pour cette page : il donne bien e7111ba47d09f468. Par défaut,
xxhsum affiche l'empreinte dans le même ordre d'octets que le manifeste, il n'y a rien à
convertir. Vérifiez aussi que la taille correspond.
Ce qu'un manifeste ne dit pas
Une fois les empreintes recalculées et comparées, une correspondance indique que les fichiers n'ont pas changé depuis le calcul d'origine. Trois choses restent hors de portée de cette comparaison.
Qui l'a écrit. Un manifeste n'est pas signé. Si quelqu'un remplace à la fois des fichiers et leurs empreintes, le manifeste restera cohérent. Il sert à suivre les copies d'un lot. Il ne permet pas d'en authentifier l'origine.
La qualité du contenu. Un DCP mal masterisé reste cohérent avec son propre manifeste. L'intégrité des fichiers, leur conformité à la norme et la capacité du film à être projeté sont trois questions différentes.
L'usage qu'on en fait. Recevoir un manifeste ne sert à rien tant que personne ne l'utilise pour vérifier sa copie.
Et chez sweep
L'empreinte de chaque fichier est calculée sur le poste de l'expéditeur. Le serveur relit ensuite la copie reçue et la compare avant d'ouvrir le téléchargement. Le manifeste part avec la livraison, pour que chaque destinataire puisse vérifier sa propre copie comme décrit plus haut. Comment se passe un envoi.