Dans cette rubrique, vous apprendrez comment Brightcove Player implémente la gestion des droits numériques (DRM). Le document montre d'abord comment implémenter le plugin DRM, puis est suivi des détails du plugin et de la manière dont il est implémenté.
Introduction
Brightcove adopte les technologies suivantes pour fournir du contenu protégé par DRM à la plus grande variété de navigateurs et d'appareils:
- MPEG-DASH avec DRM CENC natifs / EME pris en charge
- HLS avec FairPlay
Pour utiliser DRM avec Brightcove Player, vous devez:
- Produire du contenu compatible DRM
- Activez Brightcove Player pour utiliser le plugin DRM
- Dans certains cas, configurez le plugin DRM pour utiliser votre serveur de licences
Terminologie
Implémenter avec le module Players
Pour implémenter le plug-in DRM dans Studio et activer DRM en fonction de la configuration de votre compte, procédez comme suit:
- Ouvrez le JOUEURS module et créez un nouveau lecteur ou localisez le lecteur auquel vous souhaitez ajouter la fonctionnalité DRM.
- Cliquez sur le lien correspondant au lecteur pour ouvrir ses propriétés.
- Cliquez sur Lecture dans le menu de navigation de gauche.
- Ensuite, vérifiez le Activer DRM case à cocher.
- Pour publier le lecteur, cliquez sur Publier et intégrer > Publier les modifications.
- Pour fermer la boîte de dialogue ouverte, cliquez sur Fermer.
Architecture du plugin DRM
Le plugin DRM (videojs-drm ) est un wrapper autour de deux plugins:
- videojs-silverlight
- videojs-contrib-eme
le videojs-drm La version 5 du plugin utilise les capacités de lecture DASH intégrées du lecteur. Cela utilise VHS, qui est la version suivante et renommée du module intégré videojs-contrib-hls brancher.
À compter du joueur 6.26.0, le joueur prend en charge DASH multipériode. Pour les versions antérieures du lecteur, le lecteur Shaka est requis pour DASH multi-période.
Si vous souhaitez utiliser le lecteur Shaka pour la lecture DASH, comme il l'a fait dans la version 4, vous pouvez inclure le script suivant avec videojs-drm script version 5:
https://players.brightcove.net/videojs-shaka/1/videojs-shaka.js
le videojs-silverlight Le plugin permet la lecture du contenu DASH sur certains navigateurs Internet Explorer.
le videojs-contrib-eme Le plugin permet la lecture du contenu FairPlay HLS.
Technologies de lecture utilisées
Brightcove Player utilise différentes technologies de lecture DRM avec différents navigateurs. Les informations suivantes décrivent les technologies DRM utilisées avec Brightcove Player:
- Fair-play: Système DRM d'Apple
- PlayReady: Système DRM de Microsoft
- Widevine: Système DRM de Google
Le tableau suivant détaille la relation entre le navigateur (dernière version), le format et la technologie de lecture utilisée dans Brightcove Player:
Navigateur | Format | Technologie de lecture DRM | Type de rendu utilisé pour fournir du contenu DRM |
---|---|---|---|
Bureau Chrome | HLS ou DASH avec Widevine | EME | HLS ou MPEG-DASH |
Chrome Mobile1 | HLS ou DASH avec Widevine | EME | HLS ou MPEG-DASH |
Internet Explorer2 | HLS ou DASH avec PlayReady | EME | HLS ou MPEG-DASH |
Edge | HLS ou DASH avec Widevine | EME | HLS ou MPEG-DASH |
Safari | HLS avec FairPlay | Natif | HLS |
Firefox | HLS ou DASH avec Widevine | EME | HLS ou MPEG-DASH |
1La lecture DRM à l'aide de Chrome Mobile sur iOS n'est pas prise en charge.
Produire du contenu DRM
Vous devez effectuer deux étapes pour créer du contenu compatible DRM:
- Contactez votre responsable de compte pour que vos comptes soient activés par DRM. Vous pouvez ensuite configurer votre compte avec les clés de licence et les profils d'ingestion appropriés pour permettre la création de contenu protégé par DRM.
-
Produisez du contenu protégé par DRM. Vous pouvez choisir de télécharger un nouveau contenu ou de ré-encoder le contenu existant en tant que DRM. Cela se fait en sélectionnant le Profil d'acquisition qui produit la technologie de cryptage souhaitée.
Vous devrez produire un contenu protégé par DRM qui utilise soit des manifestes MPEG-DASH avec des vidéos segmentées et chiffrées, soit du contenu HLS FairPlay.
Implémentation de la lecture FairPlay dans le code
Implémentation de la lecture Widevine dans le code
Prise en charge d'autres fournisseurs DRM
Le plugin a implémenté un chemin qui permet aux clients d'implémenter la prise en charge d'autres fournisseurs DRM. Ceci est surtout utile pour Fairplay, car Fairplay nécessite une logique personnalisée nécessaire pour obtenir les informations de licence. Ajout d'un vendor.name
à keySystems
sur une source donnée tentera d'utiliser cette logique et inclura les informations de certificat et de licence nécessaires. Un exemple pour Azure suit:
player.ready(function(){
player.eme();
player.src({
src: 'http://example.com/src-url.m3u8'
type: '',
keySystems: {
'com.apple.fps.1_0': {
vendor: {
name: 'azure'
},
certificateUri: 'https://example.com/your-certificate-uri.cer',
licenseUri: 'https://example.com/your-license-uri'
}
}
});
});
Voici un exemple pour castLabs:
var player = videojs.getPlayer('myPlayerID');
player.ready(function(){
player.eme();
player.src({
src: 'http://example.com/src-url.m3u8'
type: '',
keySystems: {
'com.apple.fps.1_0': {
vendor: {
name: 'castlabs',
options: {
authToken: 'your-auth-token',
customData: 'your-custom-data'
}
}
certificateUri: 'https://example.com/your-certificate-uri.cer',
licenseUri: 'https://example.com/your-license-uri'
}
}
});
});
Cet exemple charge les sources Widevine et PlayReady:
player.src({
type: 'application/dash+xml',
src: '<some src>',
keySystems: {
'com.widevine.alpha': '<license url>',
'com.microsoft.playready': '<license url>'
}
});
Activer le débogage
Pour activer le débogage de votre contenu DRM DASH, ajoutez les scripts shaka suivants à votre Brightcove Player:
<!-- Script for the drm plugin -->
<script src="https://players.brightcove.net/videojs-drm/5/videojs-drm.min.js"></script>
<!-- Script for the shaka plugin -->
<script src="https://players.brightcove.net/videojs-shaka/1/videojs-shaka.js"></script>
<!-- Script for shaka debug plugin -->
<script src="https://players.brightcove.net/videojs-shaka/1/videojs-shaka.debug.js"></script>
Voici un exemple de débogage au chargement du lecteur:
Voici un exemple de débogage après le début de la lecture de la vidéo:
DASH-IF
Le lecteur Brightcove prend en charge les ressources DASH Industry Forum (DASH-IF), en passant les données Brightcove vers Native / EME. Voir http://dashif.org pour plus d'informations sur DASH-IF. Les liens DASH-IF suivants sont également utiles lors de l'utilisation de DASH:
Restrictions de lecture
Pour configurer le lecteur Brightcove afin d'utiliser les restrictions de lecture, cliquez ici.
Problèmes connus
- le Par défaut (affichage automatique) paramètre de légende dans Médias modules PISTE DE TEXTE La section n'est pas prise en charge lorsqu'elle est utilisée avec DRM et les légendes dans le manifeste. Les sous-titres dans le manifeste sont utilisés avec les produits Brightcove Dynamic Delivery et SSAI, par exemple. Une solution de contournement pour ce problème consiste à utiliser la
<track>
balise avec l'implémentation Advanced Brightcove Player. Ceci est détaillé dans le Ajout de légendes aux vidéos par programme document. Notez que vous devez utiliser l'default
attribut avec la<track>
balise. - Ressources DRM et Chrome: Lors de l'utilisation de l'implémentation du lecteur Standard (iframe) avec le plugin DRM,
allow="encrypted-media"
est nécessaire pour pouvoir lire des éléments DRM dans Chrome.<iframe src="https://players.brightcove.net/123456789/BydO6uuuu_default/index.html?videoId=5783262319001" allowfullscreen width="640" height="360" allow="encrypted-media"></iframe>
- Événement spécial pour Silverlight / IE11: Dans la plupart des cas, si vous souhaitez interagir par programmation avec le lecteur, vous attendez soit le
ready
ouloadedmetadata
événement à envoyer. Cependant, si vous souhaitez interagir par programmation avec le lecteur lors de l'utilisation de la technologie Silverlight dans IE11, ET lire du contenu DRM, vous devez attendre lecanplay
un événement. - Sur iOS, seul Safari fournit les API de navigateur DRM nécessaires (EME), les WebViews ne prennent actuellement pas en charge EME. Par conséquent, Fairplay DRM ne fonctionnera que sur Safari.
Changelog
Voir le Notes de version du plug-in DRM.
Pour les notes de version historiques, voir le changelog ici.