Contacta con el soporte | Estado del sistema
Contenido de la página

    Implementación del servicio de administración de derechos de reproducción

    En este tema, aprenderá a administrar la reproducción de video mediante el servicio de administración de derechos de reproducción de Brightcove.

    Introducción

    El servicio de administración de derechos de reproducción de Brightcove proporciona una forma escalable y expresiva de administrar la reproducción de video.

    Si no está familiarizado con esta función, consulte la Descripción general: Gestión de los derechos de reproducción documento.

    Proceso de validacion

    Los derechos de reproducción se aplican en orden de especificidad y coincidencia. Una regla de permiso niega el resto de las reglas, ya que son menos específicas que la que permite la regla.

    Es posible que desee permitir una dirección IP específica para evitar una regla de país para esa dirección IP. Es posible que también desee bloquear una IP diferente que normalmente estaría permitida por la restricción del país. Entonces, puede tener sentido tener ambos block-ips y allow-ips en la misma definición de derechos de reproducción. Lo mismo es válido para otras reglas.

    Puede tener reglas de permitir y bloquear para la mayoría de los derechos. Los países son los únicos en los que podría no tener sentido tener ambos.

    Los siguientes diagramas de flujo muestran cómo funciona el proceso de validación.

    Playback Rights validation
    Validación de derechos de reproducción

    Flujo de trabajo

    Para administrar las restricciones de reproducción, siga estos pasos:

    1. Configurar tu cuenta
    2. Definir restricciones
    3. Asociar restricciones con un video
    4. Opcional: Definir restricciones a nivel de usuario

    5. Configura tu reproductor

    Configurar tu cuenta

    Esta función está disponible para un conjunto específico de clientes con acceso a la fase de disponibilidad limitada del servicio de gestión de derechos de reproducción. Póngase en contacto con su administrador de cuentas para obtener más

    Generar credenciales de OAuth

    Conseguir su BC_TOKEN y número de cuenta.

    1. Inicie sesión en Video Cloud Studio. En el Administración desplegable, seleccione Información de la cuenta. Copia tu ID de la cuenta.
    2. Con cualquier página de Studio abierta, abra las herramientas de desarrollo para el navegador, vaya a la Consola y pegue el siguiente código:

      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);

      y presione regresar.

    3. Debería ver aparecer un mensaje que contiene su BC_TOKEN

    Solicitar credenciales de cliente

    Agregue permisos de cuenta para la API de derechos de reproducción.

    1. La forma más sencilla de crear credenciales de cliente para la API de derechos de reproducción es utilizar esta aplicación en línea y asegúrese de incluir estos permisos cuando cree las credenciales:
      Playback Rights Permissions
      Permisos de derechos de reproducción
    2. Si prefiere generar sus credenciales usando la OAuth API directamente, continúe con los siguientes pasos.
    3. A continuación, se muestra un ejemplo de una solicitud de cliente OAuth con los permisos necesarios. Ver Obteniendo tu BC_TOKEN para obtener información sobre cómo obtener su BC_TOKEN.

      curl \\ --include \\ --header "Autorización: BC_TOKEN tu BC_TOKEN "\\ --data {name = demo & maximum_scope = [{" identity ": {" type ":" video-cloud-account "," account-id ": su identificación de cuenta }, "operaciones": ["video-nube / reproducción-autenticación / reproducción-derechos / lectura", "video-nube / reproducción-autenticación / reproducción-derechos / escritura", "video-nube / video / lectura", " 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. De la respuesta de la API, copie el client_id y client_secret. Los utilizará para generar un token de acceso al realizar solicitudes a la API de derechos de reproducción.

    Definir restricciones

    Utilice la API de derechos de reproducción para definir restricciones de reproducción de video.

    API de derechos de reproducción

    Cada objeto de restricción de derechos de reproducción se puede usar con uno o más videos.

    URL base

    La URL base de la API es:

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

    Ruta de la cuenta

    En todos los casos, se realizarán solicitudes para una cuenta de Video Cloud específica. Por lo tanto, siempre agregará el término cuentas seguido de la identificación de su cuenta a la URL base:

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

    Autorización

    Se requiere un token de acceso para las solicitudes y debe estar presente en el encabezado de Autorización:

    Authorization: Bearer {access_token}

    El token de acceso es un token de acceso OAuth2 temporal que debe obtenerse del servicio Brightcove OAuth. Para obtener detalles sobre cómo obtener credenciales de cliente y usarlas para recuperar tokens de acceso, consulte la Descripción general de Brightcove OAuth.

    Permisos

    Las solicitudes a la API de derechos de reproducción deben realizarse desde credenciales del cliente con los siguientes permisos:

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

    Administrar restricciones

    La API de derechos de reproducción admite las siguientes solicitudes. Para obtener detalles de la API, consulte la Referencia de la API de derechos de reproducción.

    Crear nuevos derechos de reproducción

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

    Para obtener una lista de campos válidos, consulte la Cuerpo de la solicitud sección.

    Ejemplo de rizo

    Crear derecho de reproducción válido solo para Australia.

    curl -X POST \\ https://playback-rights.api.brightcove.com/v1/accounts/{your_account_id} playback_rights \\ -H 'Autorización: Portador {access_token}'  \\ -H 'Tipo de contenido: aplicación / json'  \\ -D '{ "geo": { "allowed_countries": [ "AU" ] } } '
    Respuesta de API

    Salva el playback_rights_id valor para uso posterior. Puede encontrar este valor en la respuesta de la API. Ya sea:

    • Encabezado de respuesta:

      La playback_rights_id El valor se puede encontrar en el Location campo de la respuesta del encabezado. Debería ser similar a esto:

      Location: /v1/accounts/your account_id/playback_rights/your playback_rights_id
          
    • Cuerpo de respuesta

      La playback_rights_id El valor se puede encontrar en el cuerpo de la respuesta como el id campo. Debería ser similar a esto:

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

    Obtenga todos los derechos de reproducción para una cuenta

    GET /v1/accounts/{accountID}/playback_rights

    Obtenga una reproducción específica adecuada para una cuenta

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

    Actualizar un derecho de reproducción específico:

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

    Para obtener una lista de campos válidos, consulte la Cuerpo de la solicitud sección.

    Eliminar un derecho de reproducción específico:

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

    Cuerpo de la solicitud

    A continuación, se muestra un ejemplo de todos los campos que puede incluir en el cuerpo de la solicitud:

    {
      "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"
    }
    

    Aquí están los detalles del campo:

    Campo Tipo Descripción
    allowed_countries, blocked_countries Cuerda Matriz de códigos de país de dos letras, que siguen el estándar ISO 3166-1 alpha-2. Para obtener una lista de valores, consulte la Elementos de código asignados oficialmente.
    allowed_zip_codes, blocked_zip_codes Cuerda Matriz de códigos postales, que tienen como prefijo el país de dos letras y un guión. p.ej ["US-90045"].
    El código de país de dos letras debe estar en mayúsculas y seguir el estándar ISO 3166-1 alpha-2, como se muestra en la Elementos de código asignados oficialmente.
    allowed_dmas, blocked_dmas Entero Matriz de números de Área de mercado designada (DMA) de Nielsen. Para obtener una lista de valores, consulte la Códigos DMA documento.
    blocked_proxies: anonymous Booleano La dirección IP del cliente no está disponible. Incluye servicios que cambian de ubicación para vencer a DRM, puntos TOR, proxies temporales y otros servicios de enmascaramiento.
    blocked_proxies: public Booleano Múltiples usuarios proxy desde una ubicación que permite el acceso público a Internet.
    blocked_proxies: corporate Booleano Generalmente se considera inofensivo, pero la ubicación puede ser una preocupación. Identifique si varios usuarios son proxy a través de una ubicación o ubicaciones centrales y pueden compartir una única dirección IP aparente de red.
    blocked_proxies: transparent Booleano La dirección IP del cliente está disponible a través de encabezados HTTP, aunque el valor no es necesariamente confiable (por ejemplo, puede ser falsificado).
    allowed_domains, blocked_domains Cuerda Matriz de nombres de dominio
    start_time, end_time Entero Época
    allowed_ips, blocked_ips Entero Matriz de direcciones ipv4 / ipv6 o bloques CIDR.
    allowed_days Cuerda Matriz de nombres en minúsculas de 3 letras para los días en que se permite recuperar el recurso. Uno o más de: mon, tue, wed, thu, fri, sat, sun
    allowed_hours Entero Matriz de horas del reloj de 24 horas (comenzando en 0 y hasta 47) durante las cuales se permite recuperar el recurso. De 0 a 23 para el día actual y de 24 a 47 para la fecha de finalización del día siguiente. Si un bloque de horas permitidas comienza el día anterior y termina al día siguiente, se requiere una notación de más de 24 horas.

    Ejemplo: el valor de 3-4 en este encabezado significa que el recurso está disponible desde las 3:00 am UTC hasta las 3:59 am UTC
    allow_insecure Booleano Defecto: false
    Estableciendo esto en true hace que el token JWT sea opcional.
    disabled Booleano Defecto: false
    Estableciendo esto en true desactiva el derecho de reproducción, lo que permite la reproducción para todos.
    name Cuerda Nombre derecho de reproducción opcional

    Asociar restricciones con un video

    Utilizar el CMS API para asociar un ID de derechos de reproducción con un video. Utilizará el ID de derechos de reproducción que creó en el paso anterior.

    CMS API

    Cada objeto de restricción de derechos de reproducción se puede usar con uno o más videos.

    URL base

    La URL base de la API es:

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

    Ruta de la cuenta

    En todos los casos, se realizarán solicitudes para una cuenta de Video Cloud específica. Por lo tanto, siempre agregará el término cuentas seguido de la identificación de su cuenta a la URL base:

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

    Autorización

    Se requiere un token de acceso para las solicitudes y debe estar presente en el encabezado de Autorización:

    Authorization: Bearer {access_token}

    El token de acceso es un token de acceso OAuth2 temporal que debe obtenerse del servicio Brightcove OAuth. Para obtener detalles sobre cómo obtener credenciales de cliente y usarlas para recuperar tokens de acceso, consulte la Descripción general de Brightcove OAuth.

    Permisos

    Las solicitudes a la API de derechos de reproducción deben realizarse desde credenciales del cliente con los siguientes permisos:

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

    Administrar restricciones

    los CMS API admite los muchos tipos de solicitudes. Para actualizar un video, use lo siguiente:

    Actualizar un video:

    Asociar un playback_rights_id con un video. Esta identificación debe existir en la API de derechos de reproducción, que creó en el paso anterior.

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

    Agrega un playback_rights_id a un video.

    curl -X PATCH \\ https://cms.api.brightcove.com/v1/accounts/su account_id videos /tu video_id \\ -H 'Autorización: Portador su access_token'  \\ -H 'Tipo de contenido: aplicación / json'  \\ -d '{"playback_rights_id": "su playback_rights_id "} '

    Obtenga un video específico:

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

    Para obtener detalles completos sobre el uso de la API, consulte la Referencia de la CMS API.

    Definir restricciones a nivel de usuario

    Si desea restricciones a nivel de usuario, necesitará un Token web JSON (JWT) configurado con reclamos asociados con sus restricciones.

    Pasos

    Para crear un Token web JSON (JWT) para pasar a su reproductor, siga estos pasos:

    1. Determinar restricciones

      Determine el tipo de restricciones a nivel de usuario que desea utilizar de la lista a continuación. Incluya las reclamaciones de JWT necesarias cuando cree su Token web JSON (JWT).

      Límites de dispositivos

      Cuando se realiza una solicitud de licencia DRM, el dispositivo del usuario se registra y se asigna una identificación única. El límite de dispositivos se comprueba y se aplica con cada solicitud de licencia. Para usar esta restricción, genere un JWT con el ID de usuario actual (uid).

      Para obtener más detalles, consulte la Implementación de límites de dispositivos documento.

      Límites de transmisión simultánea

      Cuando se realiza una solicitud de licencia DRM, el dispositivo del usuario se registra y se asigna una identificación única. Con cada solicitud de licencia, se verifica la identificación del dispositivo para asegurarse de que solo esté viendo una cantidad específica de secuencias de video al mismo tiempo.

      Para obtener más detalles, consulte la Limitación de transmisiones simultáneas por espectador documento.

      Etiquetas

      Basado en el tags reclamar, el Token web JSON (JWT) especificará el grupo de videos que el usuario tiene derecho a ver. Puede agrupar videos con etiquetas usando el Módulo de medios en Brightcove's Video Cloud Studio.

      El Servicio de Autorización de Reproducción verificará las etiquetas asociadas con cada video. Si al menos una de las etiquetas coincide con la lista del token JWT, el video se puede ver.

      Las etiquetas del token JWT se enumerarán como una matriz de etiquetas.

    2. Crear un Token web JSON

      Para crear un token para usar al comunicarse con la Playback API de Brightcove, consulte la Creando un Token web JSON (JWT) documento.

    Configura tu reproductor

    De forma predeterminada, Brightcove Player se comunica con Brightcove Playback API (PAPI). Un nuevo sistema para administrar las restricciones de reproducción se encuentra frente a la Playback API. Para configurar su reproductor, consulte lo siguiente:

    Reproductor web

    Para configurar el reproductor web de Brightcove, consulte la Uso de los derechos de reproducción con Brightcove Player documento.

    Reproductor nativo de Android

    Para configurar el reproductor nativo para Android, consulte la Uso de derechos de reproducción con los SDK nativos documento.

    Reproductor nativo de iOS

    Para configurar el reproductor nativo para iOS, consulte la Uso de derechos de reproducción con los SDK nativos documento.

    Tu propio reproductor

    Si su contenido está en la biblioteca de Video Cloud, pero está utilizando su propio reproductor, puede realizar llamadas a la Playback API como se muestra en la Descripción general: Playback API documento. Reemplace la URL base con lo siguiente:

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

    En lugar de utilizar una clave de política, utilizará el token JWT para la autenticación:

    Authorization: Bearer {JWT}

    Aquí hay un ejemplo de Curl:

    curl -X GET \\ -H 'Autorización: Portador {JWT}'  \\ https://edge-auth.api.brightcove.com/playback/v1/accounts/{your_account_id} videos /{your_video_id}

    Página actualizada por última vez el 20 Aug 2022