Uso de Brightcove Player para TVE
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.
Campo XML RSS | Campo de Video Cloud |
---|---|
channel |
|
item-title |
|
guid |
|
rating |
|
rating-scheme |
|
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"
}