ApsaraVideo Media Processing (MPS) prend en charge deux méthodes de lecture vidéo : par URL de lecture et par ID multimédia.
Méthodes de lecture
-
Lecture de vidéos basée sur leurs URL de lecture
Scénario : les vidéos transcodées disposent d'URL de sortie spécifiques. Transmettez directement l'URL OSS ou l'URL CDN au SDK ApsaraVideo Player.
Avantage : le serveur génère les URL de lecture et le client les utilise directement.
Inconvénient : le serveur doit implémenter l'authentification OSS ou CDN et concaténer les URL de lecture avec les noms de domaine. Le client ne peut pas basculer automatiquement ou manuellement entre les résolutions.
-
Lecture de vidéos basée sur leurs ID multimédias
Avantage : chaque fichier multimédia d'entrée possède un ID multimédia unique. Vous pouvez associer plusieurs formats de sortie et résolutions à un ID multimédia, ce qui permet la lecture multi-formats et le changement automatique de résolution.
Méthode de lecture : utilisez Security Token Service (STS) de Resource Access Management (RAM) pour lire les vidéos par ID multimédia. STS n'utilise pas les autorisations de votre compte Alibaba Cloud. À la place, STS accorde des autorisations limitées et temporaires aux utilisateurs RAM ou aux rôles RAM, empêchant ainsi l'abus d'autorisations et les fuites de données.
RemarquePour des raisons de sécurité, les vidéos chiffrées doivent être lues par ID multimédia. Les lecteurs HTML5 ne peuvent pas lire les vidéos chiffrées. Utilisez un lecteur Flash pour les vidéos chiffrées sur les clients web.
Vous pouvez utiliser un workflow multimédia pour créer un fichier vidéo à la demande (VOD) à partir d'un flux en direct. Pour lire le fichier VOD, appelez l'opération QueryMediaListByURL afin de rechercher l'ID multimédia en spécifiant l'URL du fichier VOD. Pour plus d'informations, consultez la section Overview.
Lecture de vidéos par URL de lecture
Implémentez l'authentification OSS ou CDN et concaténez les URL de lecture avec les noms de domaine sur le serveur. Transmettez ensuite l'URL OSS ou l'URL CDN au SDK ApsaraVideo Player. Pour plus d'informations sur l'authentification, consultez la section Authentification de la lecture de cette rubrique.
Lecture de vidéos par ID multimédia
Pour lire des vidéos chiffrées par ID multimédia, utilisez STS de RAM. Pour plus d'informations sur STS, consultez la section STS de cette rubrique.
Pour chiffrer une vidéo :
-
Créez un service de jetons pour émettre des jetons MtsHlsUriToken.
ImportantLe service de jetons émet des MtsHlsUriTokens.
-
Créez un service de déchiffrement qui appelle l'API Decrypt de KMS pour obtenir et renvoyer la clé de déchiffrement (DK) au lecteur.
ImportantKMS renvoie la clé de données chiffrée en Base64. Votre service doit la décoder en Base64 avant de la renvoyer au lecteur.
Appelez QueryMediaList pour obtenir l'URL du fichier M3U8. Ajoutez le MtsHlsUriToken et renvoyez l'URL au lecteur.
Le lecteur envoie une requête contenant le MtsHlsUriToken au CDN pour récupérer le fichier M3U8. Le CDN réécrit le fichier pour inclure votre URI de clé et la clé de données chiffrée (EDK), puis le renvoie. Le lecteur demande la clé de déchiffrement et lit la vidéo.
STS
Pour utiliser STS, attachez les stratégies requises à un rôle RAM lors de l'autorisation d'un utilisateur RAM. Pour plus d'informations, consultez la section Create and authorize a RAM role.
Après avoir créé et autorisé l'utilisateur RAM, demandez un jeton de sécurité. Pour plus d'informations, consultez la section Request a security token. Pour des exemples de SDK STS dans d'autres langages, consultez les sections STS SDK for Java, STS SDK for .NET, STS SDK for Python, STS SDK for Node.js et STS SDK for Go.
Authentification de la lecture
Le tableau suivant décrit les paramètres du SDK ApsaraVideo Player.
|**Paramètre**
|
**Description**
|
**Type**
|
**Obligatoire**
| | --- | --- | --- | --- | |
vid
|
L'ID multimédia.
|
String
|
Oui
| |
source
|
L'URL de lecture.
|
String
|
Oui
| |
accId
|
L'AccessKey ID utilisé pour demander un jeton de sécurité.
|
String
|
Oui
| |
accSecret
|
Le secret AccessKey utilisé pour demander un jeton de sécurité.
|
String
|
Oui
| |
stsToken
|
Le jeton de sécurité.
|
String
|
Oui
| |
domainRegion
|
La région dans laquelle se trouve le workflow multimédia, par exemple China (Shanghai) ou China (Hangzhou).
|
String
|
Oui
| |
authInfo
|
Les informations d'authentification. La valeur est une chaîne JSON. Pour plus d'informations sur le contenu de la chaîne JSON, consultez la description ci-dessous.
|
String
|
Oui
|
Le paramètre authInfo est une chaîne JSON comportant trois champs :
ExpireTime : l'heure d'expiration de l'authentification. Assurez-vous que l'authentification est valide lorsque vous obtenez l'URL de lecture. Sinon, vous ne pourrez pas lire la vidéo. L'heure est exprimée au format UTC. Toute heure non UTC doit être convertie en UTC. Utilisez le format ISO 8601 : yyyy-MM-ddTHH:mm:ssZ. Exemple : 2021-03-25T23:59:59Z.
MediaId : l'ID multimédia du fichier traité par MPS.
-
Signature : la signature d'authentification permettant de filtrer les requêtes falsifiées.
Pour calculer la signature :
-
Définissez les paramètres sous forme de paires clé-valeur.
ExpireTime="2017-03-25T23:59:59Z" MediaId="5aa0276ff6204ace950f75acf9e6187b" -
Créez une chaîne de signature.
Triez les paires clé-valeur par ordre alphabétique et joignez-les avec des esperluettes (&) pour créer la chaîne de signature. Les valeurs doivent utiliser l'encodage d'URL UTF-8 conforme à la norme RFC 2396. Pour plus d'informations, consultez la section URL encoding.
ExpireTime=2017-03-25T23%3A59%3A59Z&MediaId=5aa0276ff6204ace950f75acf9e6187b -
Calculez la signature.
Calculez le HMAC_SHA1 binaire de la chaîne de signature, puis encodez le résultat en Base64.
Sur les systèmes de type UNIX, utilisez la commande base64 d'OpenSSL. Si la clé d'authentification est
secret, exécutez la commande suivante :$echo -n 'ExpireTime=2017-03-25T23%3A59%3A59Z&MediaId=5aa0276ff6204ace950f75acf9e6****' | openssl sha1 -binary -hmac 'secret' | base64 z7mmSRuTXo4mydiWhRtbu8JKDpM= -
Générez les informations d'authentification.
{ "ExpireTime":"2017-03-25T23:59:59Z", "MediaId":"5aa0276ff6204ace950f75acf9e6****", "Signature":"z7mmSRuTXo4mydiWhRtbu8JKDpM=" }
-
Lecteur
MPS Player est intégré à ApsaraVideo Player. Pour plus d'informations, consultez la section Introduction to player SDK.
Vous pouvez passer à ApsaraVideo Player Pro selon vos besoins.