Qu’est-ce qu’Encrypted Media Extensions ?
Encrypted Media Extensions est une API de navigateur qui coordonne la lecture de médias protégés avec un module de déchiffrement de contenu et un service de licences. Elle permet la lecture de médias HTML protégés par DRM sans anciens plug-ins.
Fonctionnement d’Encrypted Media Extensions
EME fournit au code exécuté dans le navigateur un moyen standardisé de découvrir un système de clés pris en charge, de créer des sessions de clés multimédias et d’échanger des messages opaques liés aux licences. Le déchiffrement lui-même reste à l’intérieur d’un module de déchiffrement de contenu fourni par le navigateur ou la plateforme. Les octets chiffrés peuvent arriver par un chargement multimédia ordinaire ou une chaîne adaptative ; EME est donc distinct du transport et de la sélection des segments. Il se situe dans la couche de contrôle de la lecture, entre les médias protégés conditionnés, un service de licences et la chaîne de décodage de confiance de l’appareil.
Points clés
- EME spécifie la coordination entre le navigateur et le CDM, mais ne définit ni mécanisme DRM, ni protocole de licence, ni politique commerciale. Ces détails restent propres au système de clés et au service sélectionnés.
- L’événement encrypted expose des données d’initialisation qu’une application transmet à une MediaKeySession ; les messages de session sont ensuite envoyés à un service de licences et les mises à jour qui en résultent sont renvoyées au CDM.
- La prise en charge est négociée au moyen de requestMediaKeySystemAccess à partir des types de contenu et des capacités. La seule présence de l’API ne prouve pas qu’un codec, un niveau de robustesse ou un mode de session requis est utilisable.
Quand Encrypted Media Extensions est utile
Les développeurs web choisissent un système DRM compatible EME en fonction de sa prise en charge par le navigateur, l’appareil et le serveur de licences. La lecture échoue lorsque le module de déchiffrement de contenu ou l’accès aux clés requis n’est pas disponible.