Réponses aux questions fréquentes concernant le chiffrement HLS, le chiffrement propriétaire Alibaba Cloud et le chiffrement DRM dans ApsaraVideo VOD.
Chiffrement HLS
Qu'est-ce que MtsHlsUriToken et comment l'obtenir ?
Le paramètre MtsHlsUriToken est un paramètre personnalisé. Dans le cadre du chiffrement HLS standard, une fois la chaîne de chiffrement intégrée au flux HLS, l'adresse d'un serveur de déchiffrement est ajoutée au manifeste M3U8. Pour restreindre l'accès à la vidéo à des utilisateurs spécifiques, le serveur de déchiffrement exige un mécanisme d'authentification. Le paramètre MtsHlsUriToken ajoute une couche d'authentification à votre serveur de déchiffrement. Un paramètre spécial est alors généré selon cette logique d'authentification et transmis pour la vérification du déchiffrement.
Pour configurer le chiffrement, mettez en place un service d'émission de jetons qui génère le MtsHlsUriToken (étape 1 de la section Chiffrement HLS).
Comment utiliser la clé générée ?
L'opération GenerateKMSDataKey renvoie une clé chiffrée (CiphertextBlob) et une clé en texte clair (Plaintext). Transmettez uniquement la clé chiffrée à ApsaraVideo VOD, comme indiqué dans la section EncryptConfig : spécifie les configurations pour le chiffrement HLS de la documentation SubmitTranscodeJobs.
Mettez en cache la clé chiffrée générée et la clé en texte clair.
Une clé de service ne peut ni être supprimée ni mise à jour après sa création. Elle sert uniquement à générer des clés de chiffrement.
Comment transmettre un jeton au service de déchiffrement ?
Utilisez un nom de domaine Alibaba Cloud CDN pour la lecture. Transmettez le paramètre MtsHlsUriToken lors de la demande d'une adresse M3U8. Le système réécrit automatiquement le MtsHlsUriToken pour le service de déchiffrement et envoie la requête.
Comment vérifier qu'une vidéo chiffrée se lit correctement ?
Utilisez la Plateforme de diagnostic du lecteur Alibaba Cloud pour tester la lecture de fichiers M3U8 chiffrés via HLS. Saisissez l'URL M3U8 et la valeur MtsHlsUriToken (si elle est définie) afin de vérifier le déchiffrement et la lecture.
Autres FAQ
-
Message d'erreur API
Si l'opération SubmitTranscodeJobs renvoie l'erreur KeyNotFound, contactez le support technique d'ApsaraVideo VOD pour créer une clé de service dans la région requise, telle que Chine (Pékin) ou Chine (Shanghai). La clé de service est utilisée pour générer des clés de chiffrement.
-
Fichier non chiffré
Si le fichier de sortie n'est pas chiffré, accédez à votre modèle de transcodage et confirmez que l'option Video Encryption est activée et que Alibaba Cloud Proprietary Cryptography est sélectionné.
-
Clé personnalisée
Les chaînes personnalisées ne peuvent pas servir de clés de chiffrement. Générez la clé en texte clair en appelant l'opération GenerateKMSDataKey.
-
Échec du chiffrement
En cas d'échec du chiffrement HLS et du transcodage sans production de sortie, vérifiez que la clé générée par l'opération GenerateKMSDataKey est bien de type AES_128.
-
Échec du déchiffrement
Si une vidéo chiffrée via HLS ne parvient pas à se déchiffrer lors de la lecture, assurez-vous que le service de déchiffrement décode en Base64 la clé en texte clair renvoyée par DecryptKMSDataKey avant de l'envoyer au lecteur. Sans ce décodage, le déchiffrement échoue.
-
Fichiers chiffrés en double
Si des fichiers chiffrés en double apparaissent, vérifiez si l'opération SubmitTranscodeJobs a été appelée plusieurs fois. Le chiffrement HLS et le transcodage ne peuvent être lancés que manuellement.
Chiffrement DRM
Erreur « Submit transcode job failed » avec le chiffrement DRM
Symptôme : lorsque vous soumettez une tâche de transcodage avec chiffrement DRM, la tâche échoue avec le code d'erreur TranscodeJob.SubmitFailed.
Cause :
Les tâches de transcodage chiffrées par DRM ne peuvent pas être déclenchées depuis la console ApsaraVideo VOD > Media Library > Audio/Video > Media Processing > Transcoding Template Group Processing après le chargement d'une vidéo.
Solution :
Ajoutez un groupe de modèles de transcodage chiffré par DRM à un workflow et utilisez-le pour le transcodage. Consultez la section Workflows.
Erreur « Can not found user info » lors du chargement d'un certificat DRM
Symptôme : lorsque vous chargez un certificat DRM, l'action échoue avec le code d'erreur NotUserInfoExist.
Solution :
Vérifiez qu'un bucket VOD activé existe dans la région de votre certificat DRM. Consultez la section Activation des buckets VOD.
Comment résoudre l'erreur 503 renvoyée lors de la lecture FairPlay
Le navigateur Safari renvoie une erreur 503 lors de la lecture d'une vidéo chiffrée par DRM. Le navigateur Chrome utilise la méthode Widevine pour lire la même vidéo sans problème. Suivez les étapes ci-dessous pour diagnostiquer le problème :
Vérifiez le statut du certificat FairPlay : Connectez-vous à la console ApsaraVideo VOD, accédez à Configuration Management> Media Processing Configuration> DRM Certificate Management, et vérifiez si le certificat FairPlay a été chargé et s'il est dans un état normal. Si la liste des certificats est vide ou si le certificat a expiré, demandez et chargez à nouveau le certificat FairPlay.
Vérifiez les paramètres du certificat : Assurez-vous que les valeurs ASK et PassPhrase saisies lors du chargement du certificat correspondent aux informations du certificat de développeur Apple. L'ASK est fourni par Apple, et la PassPhrase est la clé permettant de déchiffrer la clé privée ; elle doit correspondre exactement aux informations fournies lors de la demande du certificat.
Diagnostiquez la requête de licence : Ouvrez les outils de développement (F12) dans le navigateur Safari, basculez vers l'onglet Network, lancez la lecture de la vidéo chiffrée par DRM et filtrez les requêtes de licence. Examinez le code d'état de la réponse et le corps de la réponse. Les erreurs 503 indiquent généralement que le service de licence DRM est temporairement indisponible ou que la configuration du certificat entraîne le rejet de la requête par le serveur.
Effectuez un diagnostic différencié par navigateur : La lecture de la même vidéo dans le navigateur Chrome en mode Widevine fonctionne correctement, ce qui indique qu'il n'y a aucun problème avec le chiffrement DRM et le transcodage. Le problème se situe donc au niveau de la configuration du certificat FairPlay ou du côté du service de licence Apple.
Autres FAQ sur le chiffrement
Comment vérifier si une vidéo est chiffrée et quelle méthode de chiffrement est utilisée ?
Vous pouvez effectuer cette vérification depuis la console ou en appelant une API.
Méthode 1 (console) : Connectez-vous à la console ApsaraVideo VOD. Dans le volet de navigation de gauche, choisissez Media Library > Audio/Video. Recherchez la vidéo et cliquez sur Manage. Sur la page des détails de la vidéo, cliquez sur l'onglet Video URL et consultez la colonne Format. Si le format est mp4, la vidéo n'est généralement pas chiffrée. Si le format est m3u8 et que l'URL de lecture contient des paramètres de chiffrement, la vidéo utilise le chiffrement HLS.
Méthode 2 (API) : Appelez l'opération GetPlayInfo et examinez les paramètres de la réponse. Le champ Encrypt indique si la vidéo est chiffrée (0 : non chiffrée, 1 : chiffrée). Si Encrypt vaut 1, consultez le champ EncryptType pour déterminer la méthode de chiffrement : AliyunVoDEncryption indique un chiffrement propriétaire Alibaba Cloud, et HLSEncryption indique un chiffrement HLS.
Comment résoudre l'erreur DRM License InvalidParameter.ResourceNotFound qui ne survient que sur certains appareils ?
Cette erreur survient généralement parce que le client n'a pas réussi à obtenir ou à configurer correctement le certificat DRM (License). Bien que la License elle-même soit valide, les appareils concernés n'ont pas terminé les étapes de téléchargement et de configuration. Vérifiez que tous les clients ont correctement téléchargé et configuré le fichier License conformément à la documentation. Vous pouvez comparer les appareils affectés avec ceux qui fonctionnent normalement pour diagnostiquer le problème.
Le chiffrement DRM et le chiffrement propriétaire Alibaba Cloud peuvent-ils coexister pour la même ressource vidéo ?
Oui. Les flux chiffrés par DRM et ceux utilisant le chiffrement propriétaire Alibaba Cloud peuvent coexister sous le même videoId. Il n'est pas nécessaire de charger à nouveau la vidéo pour générer des flux de l'autre type de chiffrement.
Lors de la lecture de la vidéo, spécifiez le type de chiffrement correspondant au flux que vous souhaitez lire :
Pour lire le flux chiffré propriétaire Alibaba Cloud sur une application, définissez
encryptType: 1.Pour lire le flux chiffré par DRM sur le web, définissez
isDrm: true.
Pourquoi la lecture web avec un jeton STS échoue-t-elle parfois et revient-elle à un mauvais type de chiffrement ?
Cela peut se produire lorsqu'une vidéo possède à la fois un ancien et un nouveau flux de transcodage. Si GetPlayInfo ne renvoie que le nouveau flux et que le lecteur ne gère pas correctement le scénario de flux mixtes, la lecture peut revenir au flux chiffré propriétaire Alibaba Cloud et échouer.
Pour résoudre ce problème, appelez l'opération DeleteStream afin de supprimer le flux chiffré propriétaire de la vidéo, conservez uniquement le flux chiffré par DRM, puis essayez à nouveau la lecture.
Une fois un flux vidéo supprimé, il ne peut pas être restauré. Agissez avec prudence.
Pourquoi la lecture HLS échoue-t-elle ou s'arrête-t-elle après la fermeture de la console de développement lors de l'utilisation d'une ancienne version du SDK Web Player ?
Les anciennes versions du SDK ApsaraVideo Player pour le web (par exemple, la version 2.20.0) sont incompatibles avec les noyaux plus récents du navigateur Edge. Cette incompatibilité peut provoquer des erreurs de chargement HLS, ou la lecture peut cesser de fonctionner après la fermeture de la console de développement du navigateur.
Pour résoudre ce problème, mettez à jour le SDK ApsaraVideo Player pour le web vers la dernière version, et assurez-vous d'avoir demandé une License gratuite pour autoriser la lecture.