Descripción general: API de canales

Con los puntos finales de Channel Manager, puede crear un canal de reproducción en la nube, agregar activos & eventos en vivo a la lista de reproducción, luego active, inicie, detenga y elimine el canal.

Requisitos

  • Una aplicación registrada con ámbitos de autenticación de API de Cloud Playout habilitados en video-cloud. (Studio UI -> Admin -> API Authentication)

Creación de un flujo de trabajo de CloudPlayoutChannelManager

A continuación, se muestra el flujo de trabajo típico de administración de canales de Cloud Playout:

  • Crear canal
  • Agregue activos y eventos en vivo a la lista de reproducción
  • Activar el canal
  • Iniciar el canal
  • Detener el canal
  • Eliminar el canal

A parte de estos, Obtener canal es útil para comprobar la información y el estado del canal.

Crear canal

Para crear un canal, necesitamos atributos obligatorios como nombre del canal, hora de inicio, grupo de entrada y salida, región y live_profile. Se prefieren los valores de fecha y hora en el formato de fecha ISO 8601 (UTC o con diferencia horaria).

Solicitud de muestra

Solicitud

Hacer una POST solicitud de:

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

Encabezados

Content-Type: application/json
Authorization: Bearer {token}

Cuerpo de la solicitud: ejemplo general

{
  "name": "channel name",
  "start_time": "2021-06-29T08:30:50.344Z",
  "input_group": [
    {
      "input_type": "playlist (or rtmp or slate)",
      "input_id": "dummy",
      "loop_on_completion": false
    }
  ],
  "live_profile": "your live profile",
  "output_group": [
    {
      "type": "rtmp or rtp",
      "ingest_locations": [
        {
          "pipeline_id": 1,
          "location": "bc_live or any live channel from your account"
        }
      ]
    },
    {
      "type": "s3",
      "ingest_locations": [
        {
          "pipeline_id": 1,
          "location": "s3 credential id"
        }
      ]
    }
  ],
  "region": "aws region"
}

Cuerpo de la solicitud: ejemplo con la pizarra predeterminada

{
  "input_group": [
    {
      "input_type": "slate"
    },
    {
      "input_type": "rtmp"
    }
  ]
}

Cuerpo de la solicitud: ejemplo con una pizarra personalizada

{
  "input_group": [
    {
      "input_type": "slate",
      "input_id": "slate_asset_id OR https_slate_mp4_url"
    },
    {
      "input_type": "rtmp"
    }
  ]
}
Respuesta de muestra
{
  "public_id": "79f0e7503fd64af3b7d2b0f825100f28",
  "name": "channel name",
  "description": "",
  "account_id": "Your account id",
  "state": "DRAFT",
  "status": null,
  "start_time": "2021-06-29 08:30:50 UTC",
  "stop_time": null,
  "input_groups": "playlist",
  "output_groups": "rtmp:s3",
  "loop_playlist": false,
  "playlist_id": "1703814612527248093",
  "channel_class": "single-pipeline",
  "ssai_enabled": true,
  "aws_region": "aws region",
  "message": null,
  "created_at": "2021-06-28 12:43:55 UTC",
  "updated_at": "2021-06-28 12:43:55 UTC",
  "image_url": "https://bc-cloudplayout-prod.s3.amazonaws.com/default_channel_image.png",
  "output_destinations": [
    "Brightcove Live"
  ],
  "channel_created_at": "2021-06-28 12:43:55 UTC",
  "channel_updated_at": "2021-06-28 12:43:55 UTC",
  "channel_created_by": "username@brightcove.com",
  "channel_updated_by": "username@brightcove.com"
}

Además de los campos obligatorios, hay campos que se pueden configurar como description , stop_time , ssai_enabled , image_id , mid_roll_import_enabled , mid_roll_slot_time , etc. Consulte los ejemplos del Referencia de la API de canales para crear canales con diferentes configuraciones.

Canal con redundancia Live

Creación de un grupo redundante de Brightcove Live en un módulo en vivo

Para crear un grupo redundante en vivo, consulte Uso de redundancia en vivo. Una vez que se crean grupos redundantes utilizando el documento anterior, puede usarlos en Cloud Playout.

Criterios de elegibilidad de grupos redundantes

Para estar disponible para su uso como destino de canal de Cloud Playout, el grupo redundante debe cumplir con los siguientes criterios:

  • El grupo redundante debe contener exactamente 2 trabajos activos.
  • Ambos trabajos en vivo en el grupo redundante deben ser de Punto de entrada estático tipo.
  • El grupo redundante (y los trabajos que contiene) debe estar en apoyar estado.
  • Si el canal Cloud Playout está habilitado para SSAI, el grupo redundante también debe estar habilitado para SSAI con RTP-FEC protocolo.

Obtención de grupos redundantes de Brightcove Live disponibles

Para recuperar una lista de grupos redundantes de Brightcove Live disponibles en su cuenta, haga una GET solicitud de:

https://cm.cloudplayout.brightcove.com/accounts/{account_id}/bc_channels?redundancy=true

Para limitar los resultados a grupos redundantes que están habilitados para SSAI, agregue el ssai=true parámetro:

https://cm.cloudplayout.brightcove.com/accounts/{account_id}/bc_channels?redundancy=true&ssai=true

Creación de un canal con redundancia Live

Puede crear un canal habilitado para redundancia de Brightcove Live utilizando el output_group campo en el cuerpo de la solicitud,

Cuerpo de solicitud de muestra

{
  "name": "channel name",
  "start_time": "2021-06-29T08:30:50.344Z",
  "input_group": [
    {
      "input_type": "playlist or rtmp or slate",
      "input_id": "dummy",
      "loop_on_completion": false
    }
  ],
  "live_profile": "your live profile",
  "output_group": [
    {
      "type": "rtmp or rtp",
      "ingest_locations": [
        {
          "pipeline_id": 1,
          "redundancy": true,
          "location": "bc_live/{EXISTING_BC_REDUNDANT_GROUP_ID}"
        }
      ]
    }
  ],
  "region": "aws region"
}

Respuesta de muestra

{
  "public_id": "79f0e7503fd64af3b7d2b0f825100f28",
  "name": "channel name",
  "description": "",
  "account_id": "Your account id",
  "state": "DRAFT",
  "status": null,
  "start_time": "2021-06-29 08:30:50 UTC",
  "stop_time": null,
  "input_groups": "playlist",
  "output_groups": "rtmp",
  "loop_playlist": false,
  "playlist_id": "1703814612527248093",
  "channel_class": "single-pipeline",
  "ssai_enabled": true,
  "aws_region": "aws region",
  "message": null,
  "created_at": "2021-06-28 12:43:55 UTC",
  "updated_at": "2021-06-28 12:43:55 UTC",
  "image_url": "https://bc-cloudplayout-prod.s3.amazonaws.com/default_channel_image.png",
  "output_destinations": [
    "Brightcove Live with Redundancy"
  ],
  "channel_created_at": "2021-06-28 12:43:55 UTC",
  "channel_updated_at": "2021-06-28 12:43:55 UTC",
  "channel_created_by": "username@brightcove.com",
  "channel_updated_by": "username@brightcove.com"
}

Actualización de un canal para habilitar o deshabilitar la redundancia en vivo

También puede habilitar o deshabilitar la redundancia para un canal existente. La clave es la redundancy bandera en el ingest_locations objeto. Para habilitar la redundancia, debe configurarlo en true , mientras que para deshabilitar la redundancia para el canal, puede establecerlo en false u omitirlo por completo, ya que false es el valor predeterminado.

Cuerpo de solicitud de muestra

Habilitar redundancia
{
  "output_group": [
    {
      "type": "rtmp or rtp",
      "ingest_locations": [
        {
          "pipeline_id": 1,
          "redundancy": true,
          "location": "bc_live/{EXISTING_BC_REDUNDANT_GROUP_ID}"
        }
      ]
    }
  ]
}
Deshabilitar redundancia
{
  "output_group": [
    {
      "type": "rtmp or rtp",
      "ingest_locations": [
        {
          "pipeline_id": 1,
          "location": "bc_live/{EXISTING_BC_REDUNDANT_GROUP_ID}"
        }
      ]
    }
  ]
}

Tenga en cuenta la falta redundancy arriba. O:

{
  "output_group": [
    {
      "type": "rtmp or rtp",
      "ingest_locations": [
        {
          "pipeline_id": 1,
          "redundancy": false,
          "location": "bc_live/{EXISTING_BC_REDUNDANT_GROUP_ID}"
        }
      ]
    }
  ]
}

Obtener detalles del canal

Para obtener los detalles del canal y verificar que esté usando redundancia, haga una GET solicitud de:

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

Ejemplo de respuesta (estado borrador)

{
  "public_id": "a7a58da9794a484a90a60c6c9b3a04a2",
  "name": "redundancy",
  "description": "test_cloudplayout_roebuck",
  "account_id": "70701684277202",
  "state": "DRAFT",
  "status": "",
  "start_time": "2022-02-17 12:53:48 UTC",
  "stop_time": null,
  "input_groups": "playlist",
  "output_groups": "rtmp",
  "loop_playlist": false,
  "playlist_id": "1725014456212124545",
  "channel_class": "single-pipeline",
  "ssai_enabled": null,
  "aws_region": "us-east-1",
  "message": "",
  "created_at": "2022-02-17 12:46:22 UTC",
  "updated_at": "2022-02-17 13:01:55 UTC",
  "image_url": "https://bc-cloudplayout-prod.s3.amazonaws.com/default_channel_image.png",
  "output_destinations": [
      "Brightcove Live with Redundancy"
  ],
  "channel_created_at": "2022-02-17 12:46:22 UTC",
  "channel_updated_at": "2022-02-17 12:46:22 UTC",
  "channel_created_by": "user@brightcove.com",
  "channel_updated_by": "user@brightcove.com",
  "import_captions_enabled": true,
  "live_profile": {
      "display_name": "Premium Live HD 1080p - Tier 2",
      "name": "premium-live-hd-1080p-tier-2",
      "date_created": "2018-06-04 18:16:44 UTC",
      "date_modified": "2018-06-04 18:16:44 UTC"
  },
  "channel_data": {
      "input_group": [
          {
              "input_type": "playlist",
              "value": "redundancy_testing_local",
              "description": "cloudplayout",
              "public_id": "1725014456212124545"
          }
      ],
      "output_groups": [
          {
              "type": "rtmp",
              "redundancy": true,
              "location": "bc_live/${Existing redundant group id}",
              "destination": "Brightcove Live with Redundancy"
          }
      ]
  }
}

Ejemplo de respuesta (estado programado)

Tenga en cuenta los múltiples destinos tanto en el channel_data y el outputs:

{
  "public_id": "e2d38b8304c84601b27630ae05b764b8",
  "name": "redundancy",
  "description": "test_cloudplayout_roebuck",
  "account_id": "70701684277202",
  "state": "SCHEDULED",
  "status": "Scheduled for start",
  "start_time": "2022-02-10 05:57:10 UTC",
  "stop_time": null,
  "input_groups": "playlist",
  "output_groups": "rtmp",
  "loop_playlist": false,
  "playlist_id": "1724281533777310596",
  "channel_class": "single-pipeline",
  "ssai_enabled": null,
  "aws_region": "us-east-1",
  "message": "",
  "created_at": "2022-02-09 10:36:51 UTC",
  "updated_at": "2022-02-09 10:49:03 UTC",
  "image_url": "https://bc-cloudplayout-prod.s3.amazonaws.com/default_channel_image.png",
  "output_destinations": [
      "Brightcove Live with Redundancy"
  ],
  "channel_created_at": "2022-02-09 10:36:51 UTC",
  "channel_updated_at": "2022-02-09 10:36:51 UTC",
  "channel_created_by": "Created by API",
  "channel_updated_by": "Updated by API",
  "import_captions_enabled": true,
  "live_profile": {
      "display_name": "Premium Live HD 1080p - Tier 2",
      "name": "premium-live-hd-1080p-tier-2",
      "date_created": "2018-06-04 18:16:44 UTC",
      "date_modified": "2018-06-04 18:16:44 UTC"
  },
  "channel_data": {
      "destinations": [
          {
              "id": "dest-rtmp-0",
              "url": "rtmp://d42f9b597f9f4cff90f3d48ddc665a02.sep-qa.a-live.io:1935/d42f9b597f9f4cff90f3d48ddc665a02",
              "stream_name": "alive"
          },
          {
              "id": "dest-rtmp-1",
              "url": "rtmp://2f84603cc5bf45babfc92e58f444eb0b.sep-qa.a-live.io:1935/2f84603cc5bf45babfc92e58f444eb0b",
              "stream_name": "alive"
          },
          {
              "id": "framecapture",
              "url": "s3://cloudplayout-preview/framecapture/e2d38b8304c84601b27630ae05b764b8/image",
              "stream_name": null
          }
      ],
      "input_specification": {
          "codec": "AVC",
          "maximum_bitrate": "MAX_20_MBPS",
          "resolution": "HD"
      },
      "output_groups": [
          {
              "type": "preview",
              "destination_url": "s3://cloudplayout-preview/framecapture/e2d38b8304c84601b27630ae05b764b8/image",
              "encoder_settings": [
                  {
                      "width": 640,
                      "height": 360,
                      "capture_interval": 5,
                      "capture_interval_units": "SECONDS"
                  }
              ]
          },
          {
              "type": "rtmp",
              "location_id": "374d4846292042af82c4c573e58bba39",
              "location": "redundancy_testing_local_group",
              "destination": "Brightcove Live with Redundancy",
              "playback_url": "https://playback-qa.a-live.io/r374d4846292042af82c4c573e58bba39/us-east-1/NA/playlist.m3u8",
              "playback_url_dvr": "https://playback-qa.a-live.io/r374d4846292042af82c4c573e58bba39/us-east-1/NA/playlist_dvr.m3u8",
              "outputs": [
                  {
                      "destination_url": "rtmp://d42f9b597f9f4cff90f3d48ddc665a02.sep-qa.a-live.io:1935/d42f9b597f9f4cff90f3d48ddc665a02/alive",
                      "location_id": "d42f9b597f9f4cff90f3d48ddc665a02",
                      "location": "redundancy_testing_local_2",
                      "encoder_settings": [
                          {
                              "width": 1920,
                              "height": 1080,
                              "bitrate": 4000000,
                              "gop_size": 60.0,
                              "gop_size_units": "FRAMES",
                              "profile": "HIGH",
                              "level": "H264_LEVEL_AUTO",
                              "scan_type": "PROGRESSIVE",
                              "framerate_control": "SPECIFIED"
                          }
                      ],
                      "stream_url": "rtmp://d42f9b597f9f4cff90f3d48ddc665a02.sep-qa.a-live.io:1935/d42f9b597f9f4cff90f3d48ddc665a02/alive",
                      "static": true,
                      "playback_url": "https://playback-qa.a-live.io/d42f9b597f9f4cff90f3d48ddc665a02/us-west-2/NA/playlist.m3u8",
                      "playback_url_dvr": "https://playback-qa.a-live.io/d42f9b597f9f4cff90f3d48ddc665a02/us-west-2/NA/playlist_dvr.m3u8"
                  },
                  {
                      "destination_url": "rtmp://2f84603cc5bf45babfc92e58f444eb0b.sep-qa.a-live.io:1935/2f84603cc5bf45babfc92e58f444eb0b/alive",
                      "location_id": "2f84603cc5bf45babfc92e58f444eb0b",
                      "location": "redundancy_testing_local_1",
                      "encoder_settings": [
                          {
                              "width": 1920,
                              "height": 1080,
                              "bitrate": 4000000,
                              "gop_size": 60.0,
                              "gop_size_units": "FRAMES",
                              "profile": "HIGH",
                              "level": "H264_LEVEL_AUTO",
                              "scan_type": "PROGRESSIVE",
                              "framerate_control": "SPECIFIED"
                          }
                      ],
                      "stream_url": "rtmp://2f84603cc5bf45babfc92e58f444eb0b.sep-qa.a-live.io:1935/2f84603cc5bf45babfc92e58f444eb0b/alive",
                      "static": true,
                      "playback_url": "https://playback-qa.a-live.io/2f84603cc5bf45babfc92e58f444eb0b/us-east-1/NA/playlist.m3u8",
                      "playback_url_dvr": "https://playback-qa.a-live.io/2f84603cc5bf45babfc92e58f444eb0b/us-east-1/NA/playlist_dvr.m3u8"
                  }
              ]
          }
      ],
      "input_group": [
          {
              "input_type": "playlist",
              "value": "redundancy_testing_local_cc",
              "description": "cloudplayout",
              "public_id": "1724281533777310596"
          }
      ]
  }
}

Habilitación de un canal para SSAI

Para habilitar un canal para SSAI (inserción de anuncios del lado del servidor), incluya ssai_enabled: true en el cuerpo de la solicitud cuando creó el canal. Si SSAI está habilitado para su cuenta, puede usarse para canales que incluyen VOD y/o contenido de transmisión en vivo.

Agregar contenido a la lista de reproducción

El siguiente paso es agregar contenido al contenido del canal. Para esto usarás el API de CMS (tenga en cuenta que esta es una versión abreviada del conjunto Referencia de la API de CMS incluyendo solo las operaciones relevantes para Cloud Playout y con descripciones que son más apropiadas para Cloud Playout).

Obtenga el playlist_id del canal (de la respuesta a la solicitud de creación de canal o de una solicitud de obtención de canal). Esta es la lista de reproducción en la que administramos nuestros activos para nuestro canal Cloud Playout.

Solicitud de muestra

Solicitud

Se utiliza una solicitud de actualización de video para agregar contenido. En el siguiente ejemplo, se agrega una colección de ID de video para crear una lista de reproducción manual, pero tenga en cuenta que también puede crear listas de reproducción inteligentes basadas en etiquetas de video, etc.

Hacer una PATCH solicitud de:

https://cms.api.brightcove.com/v1/accounts/{account_id}/playlists/{playlist_id}

Encabezados

Content-Type: application/json
Authorization: Bearer {token}

Cuerpo de la solicitud

{
  "video_ids": [
    "70702887566202",
    "70702887586202",
    "70702260704202",
    "70702260706202"
  ]
}
Respuesta de muestra
{
  "id": "1701632459864392160",
  "account_id": "Your account id",
  "created_at": "2021-06-04T10:39:32.934Z",
  "updated_at": "2021-06-04T12:29:06.793Z",
  "description": "cloudplayout",
  "favorite": false,
  "name": "cloudplayout_dvfdb",
  "reference_id": null,
  "type": "EXPLICIT",
  "video_ids": [
    "70702887566202",
    "70702887586202",
    "70702260704202",
    "70702260706202"
  ],
  "state": "READY"
}

Agregar evento en vivo

Para agregar un evento en vivo a un canal, crea un crear video solicitud a la API de CMS, teniendo cuidado de incluir algunas etiquetas especiales que lo identificarán como un evento en vivo de Cloud Playout.

Solicitud de muestra

Solicitud

Hacer una POST solicitud de:

https://cms.api.brightcove.com/v1/accounts/{account_id}/videos

Encabezados

Content-Type: application/json
Authorization: Bearer {token}

Cuerpo de la solicitud

{
  "name": "Name of the event",
  
    "tags": [
      "cp-live-placeholder",
      "duration-00:40:00"
    ]
  ,
  "description": "Description of the event"
}
Respuesta de muestra
{
  "id": "70702834583294",
  "account_id": "Your account id",
  "ad_keys": null,
  "clip_source_video_id": null,
  "complete": false,
  "created_at": "2021-06-04T11:00:48.551Z",
  "created_by": {
    "type": "user",
    "id": "76072843583",
    "email": "username@brightcove.com"
  },
  "cue_points": [
  ],
  "custom_fields": {
  },
  "delivery_type": "unknown",
  "description": "test description",
  "digital_master_id": null,
  "duration": null,
  "economics": "AD_SUPPORTED",
  "folder_id": null,
  "geo": null,
  "has_digital_master": false,
  "images": {
  },
  "link": null,
  "long_description": null,
  "name": "test live event",
  "original_filename": null,
  "projection": null,
  "published_at": "2021-06-04T11:00:48.565Z",
  "reference_id": null,
  "schedule": null,
  "sharing": null,
  "state": "ACTIVE",
  "tags": [
    "cp-live-placeholder",
    "duration-00:05:00"
  ],
  "text_tracks": [
  ],
  "updated_at": "2021-06-04T11:00:48.572Z",
  "updated_by": {
    "type": "user",
    "id": "76076294383",
    "email": "username@brightcove.com"
  },
  "playback_rights_id": "primary"
}

Consulte el Referencia de la API de CMS para Cloud Playout para obtener más ejemplos relacionados con la gestión de activos en Cloud Playout.

Agregar/administrar superposiciones

Cloud Playout admite dos tipos de superposiciones:

Para cada tipo, el flujo de trabajo es el siguiente:

  1. Crear un recurso de superposición

    Deberá proporcionar una URL pública para la imagen estática o dinámica. Asegúrese de incluir "type": "dynamic" si es una superposición dinámica.

  2. Asocie la superposición con un canal. Tenga en cuenta que hay puntos finales separados para asociar superposiciones estáticas y dinámicas:

Añadir/Administrar pizarras personalizadas

Las pizarras se utilizan para completar el tiempo muerto en la reproducción del canal que puede resultar de que el contenido del anuncio no llene completamente la duración de una pausa publicitaria o para completar el tiempo cuando se establece una hora de inicio difícil. Brightcove proporciona una lista predeterminada que se puede usar para cualquier canal, pero puede proporcionar una lista predeterminada en forma de video MP4 que se reproducirá automáticamente según sea necesario.

Se puede agregar una lista personalizada como activo (lo que la hace reutilizable para cualquier canal) o especificarse como una URL al crear el canal (consulte el cuerpo de solicitud de muestra anterior).

Consulte la referencia de la API para obtener detalles sobre cómo agregar una lista personalizada como activo de la cuenta.

Obtener canal

Podemos usar este punto final para verificar los detalles del canal y el estado del canal.

Solicitud de muestra

Solicitud

Hacer una GET solicitud de:

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

Encabezados

Content-Type: application/json
Authorization: Bearer {token}
Respuesta de muestra
{
  "public_id": "channel id",
  "name": "channel name",
  "description": "Channel created for testing Cloud Playout",
  "account_id": "Your account id",
  "state": "DRAFT",
  "status": null,
  "start_time": "2020-12-17 06:00:00 UTC",
  "stop_time": "2020-12-17 07:00:00 UTC",
  "input_groups": "playlist",
  "output_groups": "rtmp",
  "loop_playlist": true,
  "playlist_id": "1686204667297382886",
  "channel_class": "single-pipeline",
  "ssai_enabled": false,
  "aws_region": "us-east-1",
  "message": null,
  "created_at": "2020-12-16 03:41:22 UTC",
  "updated_at": "2020-12-17 04:53:30 UTC",
  "image_url": "https://bc-cloudplayout-prod.s3.amazonaws.com/default_channel_image.png",
  "output_destinations": [
    "Brightcove Live"
  ],
  "channel_created_at": "2020-12-16 03:41:22 UTC",
  "channel_updated_at": "2020-12-17 04:53:30 UTC",
  "channel_created_by": "username@brightcove.com",
  "channel_updated_by": "username@brightcove.com",
  "live_profile": {
    "display_name": "Standard Live HD 720p - Tier 1",
    "name": "standard-live-hd-720p-tier-1",
    "date_created": "2018-06-04 18:16:44 UTC",
    "date_modified": "2018-06-04 18:16:44 UTC"
  },
  "channel_data": {
    "input_group": [
      {
        "input_type": "playlist",
        "value": "cloudplayout_testChannel",
        "description": "Playlist created for Cloud Playout",
        "public_id": "1686204667297382886"
      }
    ],
    "output_groups": [
      {
        "type": "rtmp",
        "location": "bc_live",
        "destination": "Brightcove Live"
      }
    ]
  }
}

Activar un canal

Active un canal haciendo la siguiente solicitud. No se requiere ningún cuerpo de solicitud.

Solicitud de muestra

Solicitud

Hacer una POST solicitud de:

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

Encabezados

Content-Type: application/json
  Authorization: Bearer {token}
Respuesta de muestra
{
  "message":"Channel activation initiated"
}

Para comprobar el estado del canal, consulte Obtener sección de canal encima.

Iniciar un canal

Inicie un canal haciendo la siguiente solicitud. No se requiere ningún cuerpo de solicitud.

Solicitud de muestra

Solicitud

Hacer una POST solicitud de:

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

Encabezados

Content-Type: application/json
  Authorization: Bearer {token}
Respuesta de muestra
{
  "message":"Channel start initiated"
}

Para comprobar el estado del canal, consulte Obtener sección de canal encima.

Detener un canal

Detenga un canal haciendo la siguiente solicitud. No se requiere ningún cuerpo de solicitud.

Solicitud de muestra

Solicitud

Hacer una POST solicitud de:

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

Encabezados

Content-Type: application/json
  Authorization: Bearer {token}
Respuesta de muestra
{
  "message":"Channel stop initiated"
}

Para comprobar el estado del canal, consulte Obtener sección de canal encima. Una vez detenido, el canal estará en estado BORRADOR.

Eliminar un canal

Elimine un canal haciendo la solicitud a continuación. No se requiere ningún cuerpo de solicitud.

Solicitud de muestra

Solicitud

Hacer una DELETE solicitud de:

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

Encabezados

Content-Type: application/json
  Authorization: Bearer {token}
Respuesta de muestra
{
  "message":"Delete initiated"
}

Para comprobar el estado del canal, consulte Obtener sección de canal encima. Una vez que se ha eliminado el canal, ya no debería ver la información del canal de obtener canal por solicitud de identificación.

Obtener un registro de ejecución

Un registro de ejecución proporciona un registro de qué contenido (incluidos anuncios y parachoques) fue transmitido realmente por un canal de reproducción en la nube durante el día anterior. Los registros de ejecución son útiles para fines de auditoría y mantenimiento de registros.

Puede recuperar un registro de ejecución para un canal en formato JSON, XML o CSV enviando un GET solicitud de:

https://cm.cloudplayout.brightcove.com/accounts/{account_id}/cp_channels/{channel_id}/as_run_logs?format={format}

El valor de format debe ser json (por defecto), xml , o csv

Notas

  • El registro se construye independientemente del estado actual del canal.
  • El registro proporciona un registro del día anterior (24 horas). P.ej. Si la fecha actual es 2021-09-22 05:30:00 UTC , luego el registro de ejecución proporciona datos de reproducción del canal desde 2021-09-21 00:00:00 UTC a 2021-09-22 00:00:00 UTC.
  • Un activo en el que se reproduce un mid-roll se divide y se muestra en los datos de la siguiente manera:
    1. recurso VOD
    2. Recurso mid-roll (reproducido, por ejemplo, a los 45 segundos)
    3. activo de VOD con playhead_start_time = 00:00:45 , la posición desde la que continúa.
Muestra de registro: JSON
{
  "account_id": "Account ID",
  "channel_id": "62713ed768434ffbac9ce2ff974c9cb9",
  "channel_name": "TestChannelName",
  "from": "Query start time (UTC)",
  "to": "Query end time (UTC)",
  "events": [
    {
      "name": "Video Cloud Asset name",
      "id": "Video cloud video ID",
      "type": "LIVE | AD | VIDEO | PRE_ROLL_BUMPER | POST_ROLL_BUMPER | MIDROLL",
      "start_time": "2021-07-30 00:00:00.0 UTC",
      "end_time": "2021-07-30 01:00:00.0 UTC"
    },
    {
      "name": "AD Placeholder",
      "id": "Video cloud video ID",
      "type": "AD",
      "start_time": "2021-07-30 01:00:00.0 UTC",
      "end_time": "2021-07-30 01:05:00.0 UTC"
    },
    {
      "name": "Asset with a Midroll AD",
      "id": "6246656690001",
      "type": "VIDEO",
      "start_time": "2021-07-30 01:05:00.0 UTC",
      "end_time": "2021-07-30 01:10:00.0 UTC"
    },
    {
      "name": "Asset with a Midroll AD",
      "id": "6246656690001",
      "type": "MIDROLL",
      "start_time": "2021-07-30 01:10:00.0 UTC",
      "end_time": "2021-07-30 01:10:30.0 UTC"
    },
    {
      "name": "Asset with a Midroll AD",
      "id": "6246656690001",
      "type": "VIDEO",
      "start_time": "2021-07-30 01:10:30.0 UTC",
      "end_time": "2021-07-30 01:20:00.0 UTC",
      "playhead_start_time": "00:05:00"
    }
  ]
}
Muestra de registro: XML

   Account ID 
  62713ed768434ffbac9ce2ff974c9cb9
  TestChannelName
  Query start time (UTC)
  Query end time (UTC)


  Video Cloud Asset name
  Video cloud video ID
   LIVE | AD | VIDEO | PRE_ROLL_BUMPER | POST_ROLL_BUMPER | MIDROLL 
  2021-07-30 00:00:00.0 UTC
  2021-07-30 01:00:00.0 UTC


  AD Placeholder
  Video cloud video ID
  AD
  2021-07-30 01:00:00.0 UTC
  2021-07-30 01:05:00.0 UTC


  Asset with a Midroll AD
  6246656690001
  VIDEO
  2021-07-30 01:05:00.0 UTC
  2021-07-30 01:10:00.0 UTC


  Asset with a Midroll AD
  6246656690001
  MIDROLL
  2021-07-30 01:10:00.0 UTC
  2021-07-30 01:10:30.0 UTC


  Asset with a Midroll AD
  6246656690001
  VIDEO
  2021-07-30 01:10:30.0 UTC
  2021-07-30 01:20:00.0 UTC
  00:05:00


Respuesta de muestra: CSV
account_id, channel_id, channel_name, from, to, event:name, event:id, event:type, event:start_time, event:end_time, event:playhead_start_time