Utilisation du lecteur Brightcove pour TVE
Configuration du compte
L'utilisation de Video Cloud avec TVE nécessite une configuration de compte par le support Brightcove. Si vous souhaitez utiliser TVE, Contacter l'assistance Brightcove pour plus de détails.
Champs obligatoires
Pour cette intégration, vous souhaiterez peut-être créer un ou plusieurs des champs personnalisés suivants dans votre compte. Les noms ci-dessous sont les interne noms pour les champs - vous pouvez utiliser ce que vous voulez pour les noms d'affichage.
bcadobepassrequestorid
bcadobepasstitle
bcadobepassreferenceid
bcadobepassrating
bcadobepassratingscheme
Dans la section suivante, vous verrez comment ces champs sont utilisés, s'ils sont présents, et quelles valeurs sont utilisées à la place si elles ne le sont pas.
Génération automatique de resourceID
et requestorID
des champs
Lorsqu'un utilisateur récupère une vidéo via l'API de lecture d'un compte compatible TVE, l'API renvoie une valeur pour bcadobepassrequestorid
selon les règles suivantes:
- Si une valeur de champ personnalisé pour
bcadobepassrequestorid
existe sur la vidéo, l'API renverra la valeur au niveau de la vidéo. - Si aucune valeur n'est définie pour le
bcadobepassrequestorid
champ, l'API renverra la valeur de l'ID du demandeur stockée dans les paramètres du compte.
Lorsqu'un utilisateur récupère une vidéo via l'API de lecture d'un compte compatible TVE, l'API renvoie une valeur pour bcadobepassresourceid
selon les règles suivantes:
- Si une valeur de champ personnalisé pour
bcadobepassresourceid
existe sur la vidéo, l'API renverra la valeur au niveau du champ - Si aucune valeur n'est définie pour le
bcadobepassresourceid
, l'API renverra une valeur calculée basée sur les champs et le format XML indiqués ci-dessous.
Le généré bcadobepassresourceid
doit suivre le format MRSS spécifié par Adobe et utilisé dans presque toutes les intégrations avec 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>
Les valeurs incluses dans le MRSS doivent être basées sur les règles suivantes.
Champ XML RSS | Champ Video Cloud |
---|---|
channel |
|
item-title |
|
guid |
|
rating |
|
rating-scheme |
|
Configurer le lecteur
Le code suivant fournit un modèle de configuration du lecteur Brightcove pour 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>
Réponse à la demande sans authentification
Vous trouverez ci-dessous un exemple de réponse de l'API de lecture lorsque l'authentification TVE n'a pas été fournie. Comme vous le verrez, les sources vidéo ne sont pas disponibles, mais d'autres métadonnées vidéo sont présentes pour permettre au lecteur d'afficher un aperçu du contenu.
{
"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"
}