Verwenden des Brightcove Players für TVE
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.
RSS XML-Feld | Video Cloud-Feld |
---|---|
channel |
|
item-title |
|
guid |
|
rating |
|
rating-scheme |
|
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"
}