apoyo Contactar con asistencia técnica | estado del sistema Estado del Sistema
Contenido de la página

    Descripción general: API de Cloud Playout

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

    Introducción

    Hay dos API relacionadas con Cloud Playout:

    • 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.

    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 utilizando el OAuth API - ver 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 credenciales de API. Los permisos que necesitarán sus credenciales para la API de EPG son:

    Permisos de API EPG
    Permisos de API EPG

    URL de API

    Obtén todos los canales de Cloud Playout

    El siguiente punto final se puede utilizar para obtener una lista de todos los canales de Cloud Playout para una cuenta:

    https://cm.cloudplayout.brightcove.com/accounts/{account_id}/cp_channels

    La account_id es la Video Cloud ID de la cuenta.

    Obtener una EPG

    La URL de la solicitud de la API de EPG es:

    https://sm.cloudplayout.brightcove.com/accounts/{account_id}/channels/{channel_id}/epg

    La account_id es la Video Cloud ID de cuenta y el channel_id es el ID del canal creado en Studio.

    La ID del canal se puede encontrar en la respuesta a la solicitud para obtener todos los canales de Cloud Playout, o en la URL del navegador cuando se encuentra en la vista del canal de la sección Cloud Playout de Studio:

    https://studio.brightcove.com/products/videocloud/cloudplayout/channel/2c73c2112f794e6eb80be1284a495674

    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 por defecto Detalles
    start (14 días antes de ahora) 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 (ahora - la fecha y hora actual) La fecha y hora hasta la cual las respuestas EPG se pueden consultar y devolver en formato de fecha ISO 8601
    limit (todos los programas) Un valor entero que controla la cantidad de programas devueltos en una solicitud
    include_ads false Establezca esto en verdadero para incluir anuncios en la respuesta.

    <b>Notas</b>

    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 obtener datos EPG futuros 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. Tanto start e 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. Tanto start e end debe estar codificado en URI:
      URI Encoding
      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="http://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>

    <b>Notas</b>

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

    <programme channel="27963aa756294a7c98ca1c2c459d4ba2" start="20201118232206" stop="20201118232305">
    	<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" ></icon>
    	<category>video</category>
    	<keyword>eyJ2aWRlb19pZCI6IjcwNzAxMjE2NDgyMjAyIiwib3JkZXIiOjEsInRhZ3MiOiJjaGlsZHJlbixjb21lZHkiLCJjdXN0b21fbWV0YWRhdGEiOnsicmVnaW9uIjoiYWZyaWNhIiwic29uZ3MiOjV9fQ==</keyword>
    </programme>

    Aquí el keyword contiene el 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 video cloud.
    • 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
      }
    }

    Respuesta de la API de canales de muestra

    {
            "items": [
              {
                "public_id": "f8eb5f9ccfb84f81b4fb506a663c5545",
                "name": "Channel-4",
                "description": "Test Channel",
                "account_id": "1752604059001",
                "state": "RUNNING",
                "status": "Channel started",
                "start_time": "2021-01-03 15:31:12 UTC",
                "stop_time": null,
                "input_groups": "slate:rtmp:playlist",
                "output_groups": "rtmp",
                "loop_playlist": true,
                "playlist_id": "1687789969630819284",
                "channel_class": "single-pipeline",
                "ssai_enabled": false,
                "aws_region": "us-east-1",
                "message": "",
                "created_at": "2021-01-02 15:39:05 UTC",
                "updated_at": "2021-01-03 15:31:12 UTC",
                "image_url": "https://bc-cloudplayout-prod.s3.amazonaws.com/default_channel_image.png",
                "output_destinations": [
                  "Brightcove Live"
                ],
                "channel_created_at": "2021-01-02 15:39:05 UTC",
                "channel_updated_at": "2021-01-02 15:39:05 UTC",
                "channel_created_by": "rcrooks@brightcove.com",
                "channel_updated_by": "rcrooks@brightcove.com"
              },
              {
                "public_id": "42ecb67a9a964662a4071b4fffff0012",
                "name": "Test-6",
                "description": "Test Channel",
                "account_id": "1752604059001",
                "state": "SCHEDULED",
                "status": "Scheduled for start",
                "start_time": "2021-01-09 05:00:00 UTC",
                "stop_time": "2021-01-09 23:00:00 UTC",
                "input_groups": "slate:rtmp:playlist",
                "output_groups": "rtmp",
                "loop_playlist": true,
                "playlist_id": "1688070644726417934",
                "channel_class": "single-pipeline",
                "ssai_enabled": false,
                "aws_region": "us-east-1",
                "message": "",
                "created_at": "2021-01-05 18:00:18 UTC",
                "updated_at": "2021-01-06 19:08:41 UTC",
                "image_url": "https://bc-cloudplayout-prod.s3.amazonaws.com/default_channel_image.png",
                "output_destinations": [
                  "Brightcove Live"
                ],
                "channel_created_at": "2021-01-05 18:00:18 UTC",
                "channel_updated_at": "2021-01-06 19:06:46 UTC",
                "channel_created_by": "rcrooks@brightcove.com",
                "channel_updated_by": "rcrooks@brightcove.com"
              }
            ]
          }

    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 consistente 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.

    Página actualizada por última vez el 09 de enero de 2021