Descripción general: API EPG

Este tema proporciona una descripción general de la API de EPG, que se utiliza con Cloud Playout.

Introducción

Hay dos API relacionadas con Playout en la nube:

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:

Permisos de la API de EPG
Permisos de la API de EPG

Parámetros de solicitud EPG

Los siguientes parámetros de consulta opcionales se pueden agregar a la solicitud EPG:

Parámetros de consulta de la API de 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

  1. 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.
  2. 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.
  3. Ambas cosas start y end 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.
  4. Ambas cosas start y end 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

  1. Las marcas de tiempo de inicio y finalización están en hora UTC.
  2. La category y keyword 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

  1. La EPG se genera con el mejor esfuerzo / cerca de la precisión.
  2. 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.
  3. 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.
  4. 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.
  5. Los consumidores de la EPG deberían solicitarla lo más cerca posible del tiempo real para obtener la versión más precisa.