Verwenden des Brightcove Players für TVE

Dieses Thema enthält Informationen zu Video Clouds Adobe Primetime Integration für TV Everywhere (TVE) -Lösungen. Die folgenden Anweisungen vereinfachen die Dateneingabe und Verwaltung von Videometadaten, indem unnötige Doppelwerte vermieden und die vom Adobe Pass-Client benötigten XML-Anforderungswerte basierend auf einzelnen benutzerdefinierten Feldern automatisch generiert werden.

Kontokonfiguration

Für die Verwendung von Video Cloud mit TVE ist eine Kontokonfiguration durch den Brightcove-Support erforderlich. Wenn Sie TVE verwenden möchten, Wenden Sie sich an den Brightcove-Support für Details.

Benötigte Felder

Für diese Integration möchten Sie möglicherweise eines der folgenden benutzerdefinierten Felder in Ihrem Konto erstellen. Die folgenden Namen sind die intern Namen für die Felder - Sie können für die Anzeigenamen beliebig verwenden.

  • bcadobepassrequestorid
  • bcadobepasstitle
  • bcadobepassreferenceid
  • bcadobepassrating
  • bcadobepassratingscheme

Im folgenden Abschnitt sehen Sie, wie diese Felder verwendet werden, falls vorhanden, und welche Werte stattdessen verwendet werden, wenn dies nicht der Fall ist.

Automatische Generierung von resourceID und requestorID Felder

Wenn ein Benutzer ein Video über die Wiedergabe-API von einem TVE-fähigen Konto abruft, gibt die API einen Wert für zurück bcadobepassrequestorid nach folgenden Regeln:

  • Wenn ein benutzerdefinierter Feldwert für bcadobepassrequestorid Wenn das Video vorhanden ist, gibt die API den Wert auf Videoebene zurück.
  • Wenn für das kein Wert eingestellt ist bcadobepassrequestorid In diesem Feld gibt die API den in den Kontoeinstellungen gespeicherten Anforderer-ID-Wert zurück.

 

Wenn ein Benutzer ein Video über die Wiedergabe-API von einem TVE-fähigen Konto abruft, gibt die API einen Wert für zurück bcadobepassresourceid nach folgenden Regeln:

  • Wenn ein benutzerdefinierter Feldwert für bcadobepassresourceid Wenn das Video vorhanden ist, gibt die API den Wert auf Feldebene zurück
  • Wenn für das kein Wert eingestellt ist bcadobepassresourceid Feld gibt die API einen berechneten Wert zurück, der auf den unten angegebenen Feldern und dem XML-Format basiert.

Das erzeugte bcadobepassresourceid Das Feld sollte dem von Adobe angegebenen MRSS-Format entsprechen und in fast allen Integrationen mit Comcast verwendet werden.

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

Die im MRSS enthaltenen Werte sollten auf den folgenden Regeln basieren.

TVE RSS-Felder
RSS XML-Feld Video Cloud-Feld
channel
  • Falls vorhanden, verwenden Sie bcadobepassrequestorid
  • Wenn nicht vorhanden, verwenden Sie den in den Kontoeinstellungen festgelegten Wert
item-title
  • Falls vorhanden, verwenden Sie bcadobepasstitle
  • Wenn nicht vorhanden, verwenden name
guid
  • Falls vorhanden, verwenden Sie bcadobepassreferenceid
  • Wenn nicht vorhanden, verwenden reference_id
rating
  • Falls vorhanden, verwenden Sie bcadobepassrequestorid
  • Nur senden, wenn beides bcadobepassrating und bcadobepassratingscheme sind anwesend
rating-scheme
  • Falls vorhanden, verwenden Sie bcadobepassrating
  • Nur senden, wenn beides bcadobepassrating und bcadobepassratingscheme sind anwesend

Player konfigurieren

Der folgende Code enthält ein Modell zum Konfigurieren des Brightcove-Players für 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>

Antwort auf Anfrage ohne Authentifizierung

Unten finden Sie eine Beispielantwort von der Wiedergabe-API, wenn keine TVE-Authentifizierung bereitgestellt wurde. Wie Sie sehen werden, sind die Videoquellen nicht verfügbar, es sind jedoch andere Videometadaten vorhanden, damit der Player eine Vorschau des Inhalts anzeigen kann.

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