Introducción
Hay dos API relacionadas con Playout en la nube:
- La API de EPG le permite recuperar una guía de programación electrónica para un canal de Cloud Playout. Cloud Playout genera EPG que se adhiere al estándar XML TV como se describe en el esquema que se encuentra en https://repository.data2type.de/XMLTV/v_1.47/html/index.html.
- La API de canales le permite recuperar información sobre sus canales de Cloud Playout que puede mostrar en su interfaz de usuario o página web. Ver Descripción general: API de canales
Autenticación
Las API de Cloud Playout utilizan Sistema Brightcove OAuth para autenticar solicitudes a través de un token de acceso que se pasa en un encabezado de autorización con la solicitud:
Authorization: Bearer {access token}
Los tokens de acceso se recuperan mediante la API de OAuth; consulte Obtener tokens de acceso para detalles. También necesitará credenciales de cliente para autenticar las solicitudes de tokens de acceso. Estos se pueden crear en la sección de administración de Studio; consulte Administrar las credenciales de la API. Los permisos que necesitarán sus credenciales para la API de EPG son:
Parámetros de solicitud EPG
Los siguientes parámetros de consulta opcionales se pueden agregar a la solicitud EPG:
Parámetro | Valor predeterminado | Descripción |
---|---|---|
start |
(14 days prior to now) | La fecha y hora a partir de la cual se pueden consultar y devolver las respuestas de EPG en formato de fecha ISO 8601 |
end |
(now - the current date-time) | La fecha y hora hasta la cual se pueden consultar y devolver las respuestas de EPG en formato de fecha ISO 8601 |
limit |
(all programs) | Un valor entero que controla el número de programas devueltos en una solicitud. Tenga en cuenta que el valor límite (predeterminado: 100) puede evitar que se devuelvan todos los programas del período de tiempo especificado. Ver Prácticas recomendadas de la API de EPG para más información |
include_ads |
false | Establezca esto en verdadero para incluir anuncios en la respuesta. |
Notas
- La
start
/end
la ventana no puede exceder los 14 días. El inicio puede tener un retraso de 14 días desde la fecha y hora actual para consultar la EPG histórica. También puede futuros datos de EPG hasta 14 días a partir de la fecha y hora actual. - Si la diferencia entre la hora de finalización y la hora de inicio es superior a 14 días, la API genera solo 14 días desde la hora solicitada hasta la hora de finalización o 14 días, lo que ocurra primero.
- Ambas cosas
start
yend
puede aceptar valores de fecha y hora con y sin desplazamientos de zona horaria; si no se incluye ningún desplazamiento de zona horaria, se asume UTC. -
Ambas cosas
start
yend
debe estar codificado en URI:Codificación URI Muestra ISO 8601 Codificado en URI 2020-07-24 15:30:00
2020-07-24%2015%3A30%3A00
2020-07-24 15:30:00 +0530
2020-07-24%2015%3A30%3A00%20%2B0530
Ejemplo de respuesta de la API de EPG
A continuación se muestra una respuesta de muestra de la API:
<?xml version="1.0" encoding="utf-8"?>
<tv source-info-name="Cloudplayout Schedules" source-info-url="https://www.cloudplayout.qa.brightcove.com">
<channel id="9fb8032ff2fe4f55b388d8969c22ca58">
<display-name>MyCloudChannel</display-name>
<icon src="https://bc-cloudplayout-prod.s3.amazonaws.com/default_channel_image.png"/>
</channel>
<programme channel="9fb8032ff2fe4f55b388d8969c22ca58" start="20201120132000" stop="20201120132228">
<title>Frozen</title>
<desc>FrozenMultiLanguage</desc>
<length units="seconds">147.605</length>
<icon src="https://cf-images.us-east-1.qa.boltdns.net/v1/jit/6063799219001/43d57501-b98a-4708-bdd1-a09081f7a585/main/1280x720/1m13s802ms/match/image.jpg" width="1280" height="720"/>
<category>video</category>
<keyword>eyJ2aWRlb19pZCI6IjcwNzAwNDQxMDk2MjAyIiwib3JkZXIiOjEsInRhZ3MiOiJjaGlsZHJlbixjb21lZHkiLCJjdXN0b21fbWV0YWRhdGEiOnsicmVnaW9uIjoiYWZyaWNhIiwic29uZ3MiOjV9fQ==</keyword>
</programme>
<programme channel="9fb8032ff2fe4f55b388d8969c22ca58" start="20201120132228" stop="20201120133228">
<title>LiveDemo</title>
<desc>Live Demo</desc>
<length units="seconds">600.0</length>
<icon src="https://img.brightcove.com/cloudplayout/live-icon.jpg" width="1280" height="720"/>
<category>live</category>
<keyword>eyJ2aWRlb19pZCI6IjcwNzAxNDg0MjA3MjAyIiwib3JkZXIiOjIsInRhZ3MiOiJjcC1saXZlLXBsYWNlaG9sZGVyLGR1cmF0aW9uLTAwOjEwOjAwIiwiY3VzdG9tX21ldGFkYXRhIjp7InJlZ2lvbiI6Im5vcnRoIGFtZXJpY2EifX0=</keyword>
</programme>
<programme channel="9fb8032ff2fe4f55b388d8969c22ca58" start="20201120133228" stop="20201120133327">
<title>ChildrenComedy</title>
<desc>ChildrenComedy</desc>
<length units="seconds">59.164</length>
<icon src="https://cf-images.us-east-1.qa.boltdns.net/v1/jit/6063799219001/9430773f-76f5-476e-964d-a13b40cab90a/main/1280x720/29s582ms/match/image.jpg" width="1280" height="720"/>
<category>video</category>
<keyword>eyJ2aWRlb19pZCI6IjcwNzAxMjE2NDgyMjAyIiwib3JkZXIiOjMsInRhZ3MiOiJyb21hbmNlIiwiY3VzdG9tX21ldGFkYXRhIjp7InJlZ2lvbiI6ImFzaWEiLCJzb25ncyI6NX19</keyword>
</programme>
<programme>
...
</programme>
</tv>
Notas
- Las marcas de tiempo de inicio y finalización están en hora UTC.
- La
category
ykeyword
Las entradas son para propósitos internos.
Los datos de EPG contienen múltiples datos de programas donde cada programa representa detalles sobre el video o activo en vivo:
<program channel = "27963aa756294a7c98ca1c2c459d4ba2" start = "20201118232206" stop = "20201118232305">
<title> Comedia infantil </title>
<desc> Comedia infantil </desc>
<length> unidades = "segundos"> 59.164 </length>
<icon> src = "https://cf-images.us-east-1.qa.boltdns.net/v1/jit/6063799219001/9430773f-76f5-476e-964d-a13b40cab90a/main/1280x720/29s582ms/match/ image.jpg "width =" 1280 "height =" 720 "> </icon>
<category> video </category>
<keyword>eyJ2aWRlb19pZCI6IjcwNzAxMjE2NDgyMjAyIiwib3JkZXIiOjEsInRhZ3MiOiJjaGlsZHJlbixjb21lZHkiLCJjdXN0b21fbWV0YWRhdGEiOnsicmVnaW9uIjoiYWZyaWNhIiwic29uZ3MiOjV9fQ==</keyword>
</programme>
Aquí el keyword
contiene valor json codificado en base64. El valor decodificado del keyword
se muestra a continuación.
video_id
: es el identificador del video como en Video Cloud.order
: es el orden del activo en la lista del programa Cloud Playout.tags
: separados por comas (si los hay) - asociado con el video correspondiente en la nube de video.- metadatos personalizados: (si los hay, representados como pares de nombre/valor) asociados con el video correspondiente en video cloud.
{
"video_id":"70701216482202",
"order":1,
"tags":"children,comedy",
"custom_metadata":{
"region":"africa",
"songs":5
}
}
La EPG y los parachoques
Cómo maneja la EPG los parachoques
La EPG no incluirá los parachoques en sí. Las duraciones de los parachoques se reflejarán de la siguiente manera:
- Las duraciones de los parachoques previos al video se agregan al siguiente duración del video
- Las duraciones de los parachoques post-roll se agregan al anterior duración del video
Problemas potenciales
Hay dos cosas que puede hacer que harán que la EPG sea inexacta:
- Etiquetado de videos para que sean pre-roll (
cp-preroll-bumper
) Y post-rollo (cp-postroll-bumper
) hará que la EPG sea inexacta porque depende de la etiqueta decidir dónde agregar la duración. Si el video tiene ambas etiquetas, la duración del bumper se agregará tanto al video anterior como al siguiente. - Puede mover los parachoques en la lista del programa Cloud Playout, pero si los organiza de manera que un parachoques de pre-roll sea seguido inmediatamente por un parachoques de post-roll, se reproducirán ambos parachoques, pero la API de EPG los ignorará y el programa para eso. el período de tiempo estará vacío.
limitaciones
- La EPG se genera con el mejor esfuerzo / cerca de la precisión.
- Cuando la EPG se construye inicialmente a partir de la lista de reproducción, puede haber un error de hora de inicio, ya que Cloud Playout tarda algún tiempo en iniciar el cambio.
- Es posible que la EPG no sea coherente para cada recuperación cuando se modifica la lista de reproducción, porque se construye dinámicamente en función de la información actual que contiene. Algunas acciones que alterarán la EPG incluyen reordenar la lista de reproducción o agregar / eliminar activos en la lista de reproducción.
- Si ocurre algún mal funcionamiento en la conmutación y el tiempo de conmutación no es exacto, podría haber una inexactitud de tránsito para la futura EPG. Algunos ejemplos de acciones que podrían causar esto serían un cambio de lista de reproducción o la eliminación del activo activo actual en la lista de reproducción.
- Los consumidores de la EPG deberían solicitarla lo más cerca posible del tiempo real para obtener la versión más precisa.