Contactez le support | État du système
Contenu des pages

    Description du service de gestion des droits de lecture

    Dans cette rubrique, vous apprendrez à gérer la lecture vidéo à l'aide du service de gestion des droits de lecture de Brightcove.

    introduction

    Le service de gestion des droits de lecture de Brightcove offre un moyen évolutif et expressif de gérer la lecture vidéo.

    Si vous n'êtes pas familier avec cette fonction, consultez le Aperçu: Gestion des droits de lecture document.

    Processus de validation

    Les droits de lecture sont appliqués par ordre de spécificité et de correspondance. Une règle d'autorisation annule le reste des règles car elles sont moins spécifiques que celle qui autorise la règle.

    Vous pouvez autoriser une adresse IP spécifique pour éviter une règle de pays pour cette adresse IP. Vous pouvez également vouloir bloquer une adresse IP différente qui serait normalement autorisée par la restriction du pays. Il peut donc être judicieux d'avoir les deux block-ips et allow-ips dans la même définition des droits de lecture. Il en va de même pour les autres règles.

    Vous pouvez avoir des règles d'autorisation et de blocage pour la plupart des droits. Les pays sont les seuls où il n'est peut-être pas logique d'avoir les deux.

    Les organigrammes suivants montrent comment fonctionne le processus de validation.

    Playback Rights validation
    Validation des droits de lecture

    Flux de travail

    Pour gérer les restrictions de lecture, procédez comme suit:

    1. Configurez votre compte
    2. Définir des restrictions
    3. Associer des restrictions à une vidéo
    4. Optionnel: Définir des restrictions au niveau de l'utilisateur

    5. Configurez votre lecteur

    Configurez votre compte

    Cette fonctionnalité est disponible pour un ensemble spécifique de clients ayant accès à la phase de disponibilité limitée du service de gestion des droits de lecture. Contactez votre gestionnaire de compte pour plus de détails.

    Générer des identifiants OAuth

    Obtenir votre BC_TOKEN et numéro de compte.

    1. Connectez-vous à Video Cloud Studio. Dans le Administrateur liste déroulante, sélectionnez Information sur le compte. Copiez votre identifiant de compte.
    2. Avec n'importe quelle page de Studio ouverte, ouvrez les outils de développement pour le navigateur, accédez à la console et collez le code suivant:

      var cookiesArray = document.cookie.split(";"), cookiesObj = {}, i, tmpArray = [];
      for (i = 0; i < cookiesArray.length; i++) {
          tmpArray = cookiesArray[i].split("=");
          if (tmpArray[0].indexOf('BC_TOKEN') > -1) {
              cookiesObj.BC_TOKEN = tmpArray[1];
          }
      }
      window.prompt("BC_TOKEN:", cookiesObj.BC_TOKEN);

      et appuyez sur retour.

    3. Vous devriez voir apparaître une invite contenant votre BC_TOKEN

    Demander les identifiants du client

    Ajoutez des autorisations de compte pour l'API des droits de lecture.

    1. Le moyen le plus simple de créer des informations d'identification client pour l'API des droits de lecture consiste à utiliser cette application en ligne et assurez-vous d'inclure ces autorisations lorsque vous créez les informations d'identification:
      Playback Rights Permissions
      Autorisations des droits de lecture
    2. Si vous préférez générer vos identifiants à l'aide de OAuth API directement, continuez avec les étapes suivantes.
    3. Voici un exemple de demande client OAuth avec les autorisations nécessaires. Voir Obtenir votre BC_TOKEN pour plus d'informations sur l'obtention de votre BC_TOKEN.

      curl \\ --include \\ --header "Autorisation: BC_TOKEN votre BC_TOKEN " \\ --data { name=demo&maximum_scope=[{ "identity": { "type": "video-cloud-account", "account-id": votre identifiant de compte }, "operations": [ "video-cloud/playback-auth/playback-rights/read", "video-cloud/playback-auth/playback-rights/write", "video-cloud/video/read", " video-cloud/video/create", "video-cloud/video/update", "video-cloud/video/delete", "video-cloud/playback-auth/key/read", "video-cloud/playback- auth/key/write" ] }] } \\ https://oauth.brightcove.com/v4/client_credentials
    4. À partir de la réponse de l'API, copiez le client_id et client_secret. Vous les utiliserez pour générer un jeton d'accès lorsque vous effectuerez des demandes auprès de l'API des droits de lecture.

    Définir des restrictions

    Utilisez l'API des droits de lecture pour définir les restrictions de lecture vidéo.

    API des droits de lecture

    Chaque objet de restriction des droits de lecture peut être utilisé avec une ou plusieurs vidéos.

    URL de base

    L'URL de base de l'API est:

    https://playback-rights.api.brightcove.com/v1

    Chemin du compte

    Dans tous les cas, des demandes seront faites pour un compte Video Cloud spécifique. Ainsi, vous ajouterez toujours le terme comptes suivi de votre identifiant de compte à l'URL de base:

    https://playback-rights.api.brightcove.com/v1/accounts/{accountID}

    Autorisation

    Un jeton d'accès pour les demandes est requis et doit être présent dans l'en-tête Authorization:

    Authorization: Bearer {access_token}

    Le jeton d'accès est un jeton d'accès OAuth2 temporaire qui doit être obtenu auprès du service Brightcove OAuth. Pour plus de détails sur la façon d'obtenir les informations d'identification client et de les utiliser pour récupérer des jetons d'accès, consultez le Présentation de Brightcove OAuth.

    Autorisations

    Les demandes à l'API des droits de lecture doivent être effectuées à partir de informations d'identification du client avec les autorisations suivantes :

    • video-cloud/playback-auth/playback-rights/read
    • video-cloud/playback-auth/playback-rights/write

    Gérer les restrictions

    L'API des droits de lecture prend en charge les requêtes suivantes. Pour plus de détails sur l'API, consultez le Référence de l'API des droits de lecture.

    Créer de nouveaux droits de lecture

    POST /v1/accounts/{accountID}/playback_rights
      Content-Type: application/json
      Body: {playback rights object}
    

    Pour une liste des champs valides, consultez le Corps de la demande section.

    Exemple de boucle

    Créer un droit de lecture valide uniquement pour l'Australie.

    curl -X POST \\ https://playback-rights.api.brightcove.com/v1/accounts/{your_account_id}/playback_rights\\ -H' Autorisation : Porteur {access_token}'  \\ -H' Type de contenu : application/json'  \\ -ré '{ "geo": { "allowed_countries": [ "AU" ] } }'
    Réponse de l'API

    Sauver la playback_rights_id valeur pour une utilisation ultérieure. Vous pouvez trouver cette valeur dans la réponse de l'API. Soit:

    • En-tête de réponse:

      Les playback_rights_id la valeur peut être trouvée dans le Location champ de la réponse d'en-tête. Cela devrait ressembler à ceci :

      Location: /v1/accounts/your account_id/playback_rights/your playback_rights_id
          
    • Corps de réponse

      Les playback_rights_id La valeur peut être trouvée dans le corps de la réponse en tant que id champ. Cela devrait ressembler à ceci :

      {
        "id": "your playback_rights_id",
        "geo": {
        "allowed_countries": [
          "MX",
          "US"]
      }

    Obtenez tous les droits de lecture pour un compte

    GET /v1/accounts/{accountID}/playback_rights

    Obtenez un droit de lecture spécifique pour un compte

    GET /v1/accounts/{accountID}/playback_rights/{playbackRightsID}

    Mettre à jour un droit de lecture spécifique:

    PUT /v1/accounts/{accountID}/playback_rights/{playbackRightsID}
      Content-Type: application/json
      Body: {playback rights object}

    Pour une liste des champs valides, consultez le Corps de la demande section.

    Supprimer un droit de lecture spécifique:

    DELETE /v1/accounts/{accountID}/playback_rights/{playbackRightsID}

    Corps de la demande

    Voici un exemple de tous les champs que vous pouvez inclure dans le corps de la requête:

    {
      "geo": {
      "allowed_countries": [
        "MX",
        "US"
      ],
      "blocked_countries": [
        "JP",
        "CN"
      ],
      "allowed_zip_codes": [
        "US-90210"
      ],
      "blocked_zip_codes": [
        "US-72810"
      ],
      "allowed_dmas": [
        501
      ],
      "blocked_dmas": [
        803
      ]
    },
    "blocked_proxies": {
      "anonymous": true,
      "public": true,
      "corporate": true,
      "transparent": true
    },
    "allowed_domains": [
      "www.google.com",
      "www.brightcove.com"
    ],
    "blocked_domains": [
      "www.ooyala.com"
    ],
    "start_time": 1572905011,
    "end_time": 1672905011,
    "allowed_ips": [
      "192.168.1.1"
    ],
    "blocked_ips": [
      "192.168.1.1"
    ],
    "allowed_days": [
      "mon",
      "tue"
    ],
    "allowed_hours": [
      "5-6"
    ],
    "allow_insecure": true,
    "disabled": false,
    "name": "Optional playback right name"
    }
    

    Voici les détails du champ :

    Champ Taper La description
    allowed_countries, blocked_countries Chaîne de caractères Tableau de codes de pays à deux lettres, qui suivent la norme ISO 3166-1 alpha-2. Pour une liste de valeurs, voir le Éléments de code officiellement attribués.
    allowed_zip_codes, blocked_zip_codes Chaîne de caractères Tableau de codes postaux, qui sont précédés du pays à deux lettres et du trait d'union. par exemple ["US-90045"].
    Le code de pays à deux lettres doit être en majuscules et suivre la norme ISO 3166-1 alpha-2, comme indiqué dans le Éléments de code officiellement attribués.
    allowed_dmas, blocked_dmas Entier Tableau des numéros de zone de marché désignée (DMA) de Nielsen. Pour une liste de valeurs, voir le Codes DMA document.
    blocked_proxies: anonymous booléen L'adresse IP du client n'est pas disponible. Comprend les services qui changent d'emplacement pour battre les DRM, les points TOR, les proxys temporaires et d'autres services de masquage.
    blocked_proxies: public booléen Plusieurs utilisateurs mandatés à partir d'un emplacement permettant un accès Internet public.
    blocked_proxies: corporate booléen Généralement considéré comme inoffensif, mais l'emplacement peut être une préoccupation. Identifiez si plusieurs utilisateurs sont mandatés via un ou plusieurs emplacements centraux et peuvent partager une seule adresse IP apparente sur le réseau.
    blocked_proxies: transparent booléen L'adresse IP du client est disponible via les en-têtes HTTP, bien que la valeur ne soit pas nécessairement fiable (par exemple, elle peut être usurpée).
    allowed_domains, blocked_domains Chaîne de caractères Gamme de noms de domaine
    start_time, end_time Entier Temps d'époque
    allowed_ips, blocked_ips Entier Tableau d'adresses ipv4/ipv6 ou blocs CIDR.
    allowed_days Chaîne de caractères Tableau de noms en minuscules de 3 lettres pour les jours pendant lesquels la ressource est autorisée à être récupérée. Un ou plusieurs de: mon, tue, wed, thu, fri, sat, sun
    allowed_hours Entier Tableau d'heures à partir de l'horloge de 24 heures (commençant à 0 et jusqu'à 47) pendant lesquelles la ressource est autorisée à être récupérée. 0 à 23 pour le jour en cours et 24 à 47 pour la date de fin du jour suivant. Si un bloc d'heures autorisé commence le jour précédent et se termine le jour suivant, une notation 24+ est requise.

    Exemple : la valeur de 3-4 dans cet en-tête signifie que la ressource est disponible de 3h00 UTC à 3h59 UTC
    allow_insecure booléen Défaut: false
    Régler ceci sur true rend le jeton JWT facultatif.
    disabled booléen Défaut: false
    Régler ceci sur true désactive le droit de lecture, permettant la lecture pour tout le monde.
    name Chaîne de caractères Nom du droit de lecture en option

    Associer des restrictions à une vidéo

    Utilisez le CMS API pour associer un identifiant de droits de lecture à une vidéo. Vous utiliserez l'identifiant des droits de lecture que vous avez créé à l'étape précédente.

    CMS API

    Chaque objet de restriction des droits de lecture peut être utilisé avec une ou plusieurs vidéos.

    URL de base

    L'URL de base de l'API est:

    https://cms.api.brightcove.com/v1

    Chemin du compte

    Dans tous les cas, des demandes seront faites pour un compte Video Cloud spécifique. Ainsi, vous ajouterez toujours le terme comptes suivi de votre identifiant de compte à l'URL de base:

    https://cms.api.brightcove.com/v1/accounts/{accountId}

    Autorisation

    Un jeton d'accès pour les demandes est requis et doit être présent dans l'en-tête Authorization:

    Authorization: Bearer {access_token}

    Le jeton d'accès est un jeton d'accès OAuth2 temporaire qui doit être obtenu auprès du service Brightcove OAuth. Pour plus de détails sur la façon d'obtenir les informations d'identification client et de les utiliser pour récupérer des jetons d'accès, consultez le Présentation de Brightcove OAuth.

    Autorisations

    Les demandes à l'API des droits de lecture doivent être effectuées à partir de informations d'identification du client avec les autorisations suivantes :

    • video-cloud/video/read
    • video-cloud/video/update

    Gérer les restrictions

    Les CMS API prend en charge les nombreux types de requêtes. Pour mettre à jour une vidéo, utilisez les éléments suivants:

    Mettre à jour une vidéo:

    Associer un playback_rights_id avec une vidéo. Cet identifiant doit exister dans l'API des droits de lecture, que vous avez créée à l'étape précédente.

    PATCH /v1/accounts/{account_id}/videos/{video_id}
      Content-Type: application/json
      Body: {video object}
    
    Exemple de boucle

    Ajoutez un playback_rights_id à une vidéo.

    curl -X PATCH \\ https://cms.api.brightcove.com/v1/accounts/votre account_id/vidéos/votre video_id \\ -H' Autorisation : Porteur votre access_token'  \\ -H' Type de contenu : application/json'  \\ -d '{ "playback_rights_id": "votre playback_rights_id " }'

    Obtenez une vidéo spécifique:

    GET /v1/accounts/{account_id}/videos/{video_ids}

    Pour plus de détails sur l'utilisation de l'API, consultez le Référence de CMS API.

    Définir des restrictions au niveau de l'utilisateur

    Si vous voulez des restrictions au niveau de l'utilisateur, vous aurez besoin d'un Jeton Web JSON (JWT) configuré avec des revendications associées à vos restrictions.

    Pas

    Créer un Jeton Web JSON (JWT) à transmettre à votre lecteur, procédez comme suit:

    1. Déterminer les restrictions

      Déterminez le type de restrictions au niveau de l'utilisateur que vous souhaitez utiliser dans la liste ci-dessous. Incluez les revendications JWT nécessaires lorsque vous créez votre Jeton Web JSON (JWT).

      Limites de l'appareil

      Lorsqu'une demande de licence DRM est effectuée, l'appareil de l'utilisateur est enregistré et un identifiant unique est attribué. La limite d'appareils est vérifiée et appliquée à chaque demande de licence. Pour utiliser cette restriction, générez un JWT avec l'ID utilisateur actuel (uid).

      Pour plus de détails, consultez le Implémentation des limites de périphérique document.

      Limites de flux simultanés

      Lorsqu'une demande de licence DRM est effectuée, l'appareil de l'utilisateur est enregistré et un identifiant unique est attribué. À chaque demande de licence, l'identifiant de l'appareil est vérifié pour s'assurer qu'il ne regarde qu'un nombre spécifié de flux vidéo en même temps.

      Pour plus de détails, consultez le Limitation des flux simultanés par spectateur document.

      Mots clés

      Basé sur tags réclamation, le Jeton Web JSON (JWT) précisera le groupe de vidéos que l'utilisateur est autorisé à regarder. Vous pouvez regrouper des vidéos avec des balises en utilisant le Module média dans le Video Cloud Studio de Brightcove.

      Le service d'autorisation de lecture vérifiera les balises associées à chaque vidéo. Si au moins une des balises correspond à la liste du jeton JWT, la vidéo est visible.

      Les balises du jeton JWT seront répertoriées sous la forme d'un tableau de balises.

    2. Créer un Jeton Web JSON

      Pour créer un jeton à utiliser lors de la communication avec le Playback API de Brightcove, consultez le Créer un Jeton Web JSON (JWT) document.

    Configurez votre lecteur

    Par défaut, Brightcove Player communique avec le Playback API Brightcove (PAPI). Un nouveau système pour gérer les restrictions de lecture se trouve devant le Playback API. Pour configurer votre lecteur, consultez ce qui suit:

    Lecteur Web

    Pour configurer le lecteur Web Brightcove, consultez le Utilisation des droits de lecture avec Brightcove Player document.

    Lecteur Android natif

    Pour configurer le lecteur natif pour Android, consultez le Utilisation des droits de lecture avec les SDK natifs document.

    Lecteur iOS natif

    Pour configurer le lecteur natif pour iOS, consultez le Utilisation des droits de lecture avec les SDK natifs document.

    Votre propre Lecteur

    Si votre contenu se trouve dans la bibliothèque Video Cloud, mais que vous utilisez votre propre lecteur, vous pouvez appeler le Playback API comme indiqué dans le Aperçu: Playback API document. Remplacez l'URL de base par ce qui suit:

    https://edge-auth.api.brigthcove.com

    Au lieu d'utiliser une clé de stratégie, vous utiliserez le jeton JWT pour l'authentification:

    Authorization: Bearer {JWT}

    Voici un exemple de Curl:

    curl -X GET\\ -H' Autorisation : Porteur {JWT}'  \\ https://edge-auth.api.brightcove.com/playback/v1/accounts/{your_account_id}/vidéos/{your_video_id}

    Dernière mise à jour de la page le 14 Feb 2022