Uso de Brightcove Player para TVE

Este tema proporciona información sobre Video Cloud Adobe Primetime integración para soluciones de TV Everywhere (TVE). Las instrucciones a continuación simplifican la entrada de datos y la administración de metadatos de video al eliminar la duplicación innecesaria de valores y al generar automáticamente los valores de solicitud XML que necesita el cliente de Adobe Pass en función de campos personalizados individuales.

Configuración de la cuenta

El uso de Video Cloud con TVE requiere alguna configuración de cuenta por parte de Brightcove Support. Si quieres utilizar TVE, Póngase en contacto con el soporte de Brightcove para detalles.

Campos requeridos

Para esta integración, es posible que desee crear uno o más de los siguientes campos personalizados en su cuenta. Los nombres a continuación son los interno nombres para los campos: puede usar lo que quiera para los nombres de visualización.

  • bcadobepassrequestorid
  • bcadobepasstitle
  • bcadobepassreferenceid
  • bcadobepassrating
  • bcadobepassratingscheme

En la siguiente sección, verá cómo se usan estos campos, si están presentes, y qué valores se usan en su lugar si no lo están.

Autogeneración de resourceID y requestorID campos

Cuando un usuario recupera un video a través de la API de reproducción de una cuenta habilitada para TVE, la API devolverá un valor para bcadobepassrequestorid de acuerdo con las siguientes reglas:

  • Si un valor de campo personalizado para bcadobepassrequestorid existe en el video, la API devolverá el valor a nivel de video.
  • Si no se establece ningún valor para el bcadobepassrequestorid , la API devolverá el valor de ID del solicitante almacenado en la configuración de la cuenta.

 

Cuando un usuario recupera un video a través de la API de reproducción de una cuenta habilitada para TVE, la API devolverá un valor para bcadobepassresourceid de acuerdo con las siguientes reglas:

  • Si un valor de campo personalizado para bcadobepassresourceid existe en el video, la API devolverá el valor a nivel de campo
  • Si no se establece ningún valor para el bcadobepassresourceid campo, la API devolverá un valor calculado según los campos y el formato XML que se indican a continuación.

El generado bcadobepassresourceid El campo debe seguir el formato MRSS especificado por Adobe y utilizado en casi todas las integraciones con Comcast.

<rss version='2.0' xmlns:media='http://search.yahoo.com/mrss/'>
<channel>
<title>channel</title>
<item><title>item-title</title>
<guid>guid</guid>
<media:rating scheme='urn:rating-scheme'>rating</media:rating></item>
</channel>
</rss>

Los valores incluidos en el MRSS deben basarse en las siguientes reglas.

Campos RSS de TVE
Campo XML RSS Campo de Video Cloud
channel
  • Si está presente, use bcadobepassrequestorid
  • Si no está presente, use el valor establecido en la configuración de la cuenta
item-title
  • Si está presente, use bcadobepasstitle
  • Si no está presente, utilice name
guid
  • Si está presente, use bcadobepassreferenceid
  • Si no está presente, utilice reference_id
rating
  • Si está presente, use bcadobepassrequestorid
  • Enviar solo si ambos bcadobepassrating y bcadobepassratingscheme están presentes
rating-scheme
  • Si está presente, use bcadobepassrating
  • Enviar solo si ambos bcadobepassrating y bcadobepassratingscheme están presentes

Configurar el reproductor

El siguiente código proporciona un modelo para configurar Brightcove Player para TVE.

<!doctype html>
<html>
<head>
  <title>TVE Example</title>
</head>
<body>
  <!-- Make sure your player doesn't have a video associated with it
  and don't use data-video-id to assign one. We'll request a video
  from the catalog by hand, detect that it's TVE content, trigger TVE
  authentication and then load the video into the player. -->
  <video-js id="tve-player"
    data-account="account1234"
    data-player="player-id"
    controls>
  </video-js>
  <script src="//players.brightcove.net/account1234/player-id_default/index.min.js"></script>
  <script>
  var player = videojs.getPlayer('tve-player');
  player.ready(function() {
    player.catalog.getVideo('ref:tve-video', function(error, video) {
      if (error) {
        // showErrorMessage() would be defined by you somewhere else
        // in the page
        return showErrorMessage(error);
      }
      // You can tell whether a video is TVE protected by checking to
      // see if the video sources contain URLs. If they don't, you need
      // to authenticate your viewer and re-request the video with their
      // TVE credentials.
      if (video.sources && video.sources[0].src) {
        // This is not a TVE video so it can be played back immediately
        return player.catalog.load(video);
      }
      // From here on, we're definitely dealing with a TVE video.
      // You need to provide an implementation for authenticateWithTVE()
      // to get a TVE token. See the documentation from your TVE provider
      // for details on how to do that.
      autenticateWithTVE(function(error, tveToken) {
        if (error) {
          return showErorMessage(error);
        }
        // Now that we have the token, we can re-request the video and get playable URLs.
        player.catalog.tveToken = tveToken;
        player.catalog.getVideo('ref:tve-video', function(error, video) {
          if (error) {
            return showErrorMessage(error);
          }
          player.catalog.load(video);
        });
      });
    });
  });
  </script>
</body>
</html>

Respuesta a solicitud sin autenticación

A continuación se muestra una respuesta de muestra de la API de reproducción cuando no se ha proporcionado la autenticación de TVE. Como verá, las fuentes de video no están disponibles, pero hay otros metadatos de video presentes para permitir que el reproductor muestre una vista previa del contenido.

{
  "sources": [

    ],
  "description": "The short description can be used to give more information about your video and will appear in many standard Brightcove Player templates.",
  "poster_sources": [
    {
      "src": "http://f1.media.brightcove.com/8/96980657001/96980657001_207574837001_commonRedpoll-still.jpg?pubId=3840518800001&videoId=3843070012001"
    },
    {
      "src": "https://f1.media.brightcove.com/8/96980657001/96980657001_207574837001_commonRedpoll-still.jpg?pubId=3840518800001&videoId=3843070012001"
    }
  ],
  "tags": [
    "sample"
  ],
  "cue_points": [

  ],
"errors": [
      {
        "error_subcode": "TVE_AUTH",
        "error_code": "SOURCES_RESTRICTED",
        "message": "Video sources are restricted by access policy.",
        "restricted_fields": [
          "sources"
        ]
      }
    ],
    "custom_fields": {
    "bcadobepassresourceid": "
    
    
        
        anotherRefId
        XXX
        ",
    "bcadobepassrequestorid": "asdfasf",
    "bcadobepassrating": "XXX",
    "bcadobepassreferenceid": "anotherRefId",
    "bcadobepasstitle": "PassTitle",
    "bcadobepassratingscheme": "TV-14"
  },
  "account_id": "3840518800001",
  "name": "Sample Video 2",
  "reference_id": null,
  "long_description": null,
  "duration": 29960,
  "economics": "AD_SUPPORTED",
  "published_at": "2014-10-16T16:35:24.520Z",
  "text_tracks": [

  ],
  "updated_at": "2017-05-26T01:48:41.396Z",
  "thumbnail": "http://f1.media.brightcove.com/8/96980657001/96980657001_180424037001_commonRedpoll-thumbnail.jpg?pubId=3840518800001&videoId=3843070012001",
  "poster": "http://f1.media.brightcove.com/8/96980657001/96980657001_207574837001_commonRedpoll-still.jpg?pubId=3840518800001&videoId=3843070012001",
  "offline_enabled": false,
  "link": null,
  "id": "3843070012001",
  "ad_keys": null,
  "thumbnail_sources": [
    {
      "src": "http://f1.media.brightcove.com/8/96980657001/96980657001_180424037001_commonRedpoll-thumbnail.jpg?pubId=3840518800001&videoId=3843070012001"
    },
    {
      "src": "https://f1.media.brightcove.com/8/96980657001/96980657001_180424037001_commonRedpoll-thumbnail.jpg?pubId=3840518800001&videoId=3843070012001"
    }
  ],
  "created_at": "2014-10-16T16:35:24.520Z"
}