Descripción general: API de Brightcove Live

En esta descripción general, aprenderá para qué sirve la API en vivo y cómo usarla. Los temas incluidos en este documento incluyen regiones de AWS y CDN compatibles, eventos y canales en vivo, e inserción de metadatos cronometrados ID3 en una transmisión en vivo.

Introducción

La Live API es una API basada en REST que le permite crear y administrar eventos de transmisión en vivo. Las características opcionales incluyen:

  • Inserción de anuncios del lado del servidor ( SSAI )
  • AES-128 cifrado
  • Cree activos de video a pedido a partir de clips tomados de la transmisión en vivo
  • DVR capacidad
  • Múltiple CDNs

También vea el Referencia de API.

URL base

La URL base para el Live API es:

https://api.bcovlive.io

Encabezados

Al realizar una solicitud a Live API, deberá autenticarse con una clave de API. Para obtener la clave de Live API, abra una ticket de atención al cliente. La clave se pasa en un X-API-KEY encabezamiento. A Content-Type También se requiere el encabezado:

X-API-KEY : YOUR_APIKey
      Content-Type: application/json

Regiones de AWS admitidas

Se admiten las siguientes regiones de AWS:

Regiones de AWS admitidas
Localización Nombre de AWS Soporte SSAI
Oregón us-west-2
Virginia us-east-1
Tokio ap-northeast-1
Singapur ap-southeast-1
Sydney ap-southeast-2
Bombay ap-south-1 <
Frankfurt eu-central-1
Irlanda eu-west-1

Tenga en cuenta que los trabajos SEP están limitados por cuenta donde el límite estándar es 3, excepto por el nosotros-oeste-2 : su limitación es hasta 10. Todas las limitaciones se establecen por cuenta y no por región.

CDN compatibles

Las siguientes CDN son compatibles con la transmisión en vivo:

  • Akamai
  • Cloudfront

Otras CDN basadas en archivos deberían funcionar, pero no se han probado y no se admiten activamente.

Canales y horario de eventos

Hay dos opciones de compra para Live:

  • Comprar horas de eventos de tiempo de transmisión
  • Comprar canales de transmisión

También puede comprar canales y horarios de transmisión de eventos. Comuníquese con su Gerente de Éxito del Cliente para obtener más información sobre las ofertas.

Estados facturables

La facturación de trabajos en vivo se aplica a Activo estados:

Estados activos (se aplica facturación)

  • waiting
  • processing
  • disconnected

Estados inactivos (no aplica facturación)

  • standby
  • cancelling
  • finishing
  • cancelled
  • finished
  • failed

Autenticación de token

Brightcove ofrece la opción de agregar autenticación de token a las URL de reproducción de transmisión de video en vivo. Si desea agregar autenticación de token, Póngase en contacto con el soporte de Brightcove. La autenticación de token puede demorar hasta tres días en configurarse.

El TTL (tiempo de vida) de los tokens se puede establecer en cualquier valor desde una hora hasta 365 días. El tiempo que establezca el TTL dependerá de los tipos de transmisiones en vivo que implemente. Sin embargo, tenga en cuenta que el TTL es una configuración para toda la cuenta y se aplicará a todas las transmisiones en vivo.

DVR capacidad

Las transmisiones en vivo de Brightcove DVR capacidad. Para utilizar esta capacidad, debe:

  • Utilizar el playback_url_dvr URL para reproducción
  • Utilice un reproductor que tenga DVR capacidad

La capacidad de DVR está limitada a 86.400 segundos.

La DVR La transmisión permanecerá disponible durante 7 días después de que se complete la transmisión en vivo.

Endpoints y operaciones

Las principales operaciones para el Live API están creando y administrando transmisiones en vivo y generan clips VOD a partir de transmisiones en vivo. Estas operaciones se llevan a cabo a través de solicitudes a los siguientes puntos finales, que se explican con más detalle en el resto del documento.

Creación y gestión de trabajos

Creando clips

Manejo de SSAI

Creación y gestión de trabajos

Estas operaciones le permiten crear un trabajo en vivo, obtener sus detalles y detenerlo. También hay un punto final para crear un punto de referencia inmediato para una pausa publicitaria.

Crear un trabajo en vivo

POST https://api.bcovlive.io/v1/jobs

Este punto final se utiliza para crear transmisiones en vivo a través de un POST pedido. Además de especificar las propiedades de la transmisión en vivo, la solicitud también puede especificar los clips de VOD que se generarán a partir de la transmisión en vivo (esto también se puede hacer más tarde a través de la punto final). Los detalles de los campos que se pueden incluir en el cuerpo de la solicitud se dan en el Referencia de API.

Protocolo de entrada

Brightcove Live admite varios protocolos de entrada. Utilizar el protocol en el cuerpo de la solicitud cuando crea el trabajo para especificar el que utilizará. Los valores admitidos son:

  • rtmp(el valor por defecto)
  • rtp
  • rtp-fec
  • srt

El protocolo RTMP es para entregar un flujo en formato FLV. Los otros protocolos son para entregar MPEG2-TS.

Si utiliza rtp , rtp-fec o srt , también debe especificar un cidr_whitelist (ver itinerario entre recesos).

Si lo utiliza rtmp, puede especificar un ip_whitelist para la entrada, pero esto no es obligatorio.

Cuerpo de solicitud de ejemplo para trabajo RTP + FEC:

{
    "live_stream":true,
    "region":"us-west-2",
    "reconnect_time":300,
    "outputs":[
      {
        "label": "hls720p",
        "live_stream": true,
        "height": 720,
        "video_bitrate": 800,
        "segment_seconds": 6,
        "keyframe_interval": 90
      }
    ],
    "protocol": "rtp-fec",
    "cidr_whitelist": ["127.0.0.1/32"]
}

La Live API Inicio rápido lo guía a través de la creación de un trabajo de transmisión en vivo y la configuración de Brightcove Player para reproducirlo.

Lista de trabajos en vivo

GET https://api.bcovlive.io/v1/jobs

Este punto final se utiliza para enumerar sus transmisiones en vivo a través de un GET pedido. El punto final admite la paginación, la clasificación y el filtrado de búsqueda. Los detalles de los campos que se pueden incluir en el cuerpo de la solicitud se dan en el Referencia de API y alguna información adicional se puede encontrar en Obtener una lista de trabajos en vivo o VOD.

Obtenga detalles del trabajo en vivo

GET https://api.bcovlive.io/v1/jobs/:jobId

Este punto final le permite obtener información detallada sobre una transmisión en vivo, que también se muestra cuando crea originalmente el trabajo. Ver el Referencia de API para obtener detalles de los campos de respuesta.

Inserción manual de un punto de inserción de anuncios

POST https://api.bcovlive.io/v1/jobs/:jobId/cuepoint

Normalmente, su codificador enviará puntos de referencia para pausas publicitarias, pero también puede crear una pausa publicitaria inmediata enviando una solicitud a este punto final. Ver el Referencia de API para detalles.

Tenga en cuenta que un timecode en la forma DD:HH:MM:SS es necesario para el punto de referencia.

Detener un trabajo en vivo

PUT https://api.bcovlive.io/v1/jobs/:jobId/cancel

Utilice este punto final para detener una transmisión en vivo de inmediato. Una vez cancelada, no se puede reiniciar una transmisión en vivo. Ver el Referencia de API para detalles.

Creando clips

Puede crear clips de video a pedido a partir de una transmisión en vivo y almacenarlos en una cuenta de Video Cloud, o enviarlos al depósito S3 o la dirección FTP. Puede definir los clips cuando crea la transmisión en vivo o crearlos más tarde utilizando el punto final que se describe a continuación. También vea el Crear clips guía.

Crear clip VOD

POST https://api.bcovlive.io/v1/vods

Los puntos de inicio y finalización de los clips se pueden definir en términos de compensaciones desde el inicio de la transmisión o marcas de tiempo de UNIX. Los detalles de los campos del cuerpo de la solicitud se pueden encontrar en el Referencia de API.

Obtener una lista de trabajos VOD (clip)

Para obtener una lista de sus trabajos de VOD para clips, consulte Obtener una lista de trabajos en vivo o VOD y el Referencia de API.

Gerente SSAI

Uso de la inserción de anuncios del lado del servidor ( SSAI), puede insertar tantas pausas publicitarias como desee en su transmisión en vivo. También puede ingerir activos de pizarra (clips VOD) para llenar cualquier tiempo publicitario no utilizado con un mensaje de respuesta o lo que desee.

Más detalles de la configuración SSAI puede encontrarse en Inserción de anuncios en el servidor con Brightcove Live API y el Referencia de API.

Obtener configuraciones de anuncios de la cuenta

GET https://api.bcovlive.io/v1/ssai/applications/:account_id

Este punto final le permite obtener todas las configuraciones de anuncios que se han configurado para una cuenta. Los detalles de los campos de respuesta se pueden encontrar en el Referencia de API.

Crear configuración de anuncios

POST https://api.bcovlive.io/v1/ssai/application

Cree una configuración de anuncios que defina cómo se recuperarán los anuncios para SSAI. Los detalles de los campos del cuerpo de la solicitud se pueden encontrar en el Referencia de API.

Obtener configuración de anuncios

GET https://api.bcovlive.io/v1/ssai/application/:application_id

Utilice este punto final para obtener los detalles de una configuración de anuncios que ha creado. Los detalles de los campos de respuesta se pueden encontrar en el Referencia de API.

Actualizar la configuración de anuncios

PUT https://api.bcovlive.io/v1/ssai/application/account/:application_id

Actualice los detalles de la configuración de un anuncio. Los detalles de los campos del cuerpo de la solicitud se pueden encontrar en el Referencia de API.

Obtenga activos de origen de medios de pizarra

GET https://api.bcovlive.io/v1/ssai/slates/:ACCOUNT_ID

Obtenga los activos de medios de pizarra que se han definido para una cuenta. Los activos de medios de pizarra se utilizan para completar el tiempo de pausa publicitaria que no se llena con anuncios. Los detalles de los campos de respuesta se pueden encontrar en el Referencia de API.

Ingestión de activos de origen de medios de pizarra

POST https://api.bcovlive.io/v1/ssai/slates

Agregue un recurso multimedia para pizarras para llenar el tiempo de pausa publicitaria sin completar. Los detalles de los campos del cuerpo de la solicitud se pueden encontrar en el Referencia de API.

Eliminar recurso de origen de medios de pizarra

DELETE https://api.bcovlive.io/v1/ssai/slates/:SLATE_MSA_ID

Elimina un recurso multimedia de lista.

Puntos de entrada estáticos

La función Static Entry Points (SEP) permite un trabajo en vivo de larga duración que se puede activar y desactivar mientras se mantienen las URL de los puntos de entrada y las URL de reproducción estáticas y reutilizables. Esta característica permite a los clientes configurar su codificador en sus instalaciones o en el campo y permite al cliente crear su propia lógica de programación para canales o programas en vivo. Ver Puntos de entrada estáticos para detalles.

También hay un programador que le permite programar la activación y/o desactivación de trabajos SEP. Ver Descripción general: Programador en vivo.

Subtítulos

Si los subtítulos están dentro de la señal de entrada h264 (señalados correctamente en el paquete de datos de usuario), se pasan a las salidas h264.

Si está utilizando un codificador en vivo Elemental de transmisión, puede obtener subtítulos de SDI (EIA-608 / CEA-608) u otras fuentes (SCTE-20, SCC, Teletexto, DVB-Sub, Ancillary, ARIB, TTML, SCTE-27, STL, SRT, SMI) y colóquelos en la transmisión h264 que nos envía. Otros codificadores de grado de transmisión probablemente puedan hacer lo mismo, pero no los hemos probado formalmente.

Insertar metadatos temporizados ID3

Esta información se ha movido a Insertar metadatos cronometrados ID3.

Limitaciones

  • Para que los trabajos en vivo creados con la API aparezcan y no se puedan utilizar en el módulo activo, debe incluir el videocloud objeto en el cuerpo de la solicitud al crear el trabajo.

    Por ejemplo:

    {
      "live_stream": true,
      "region": "eu-central-1",
      "reconnect_time": 1800,
      "live_sliding_window_duration_ms": 0,
      "outputs": [
        { "label": "hls720p", "live_stream": true, "width": 1280, "height": 720, "video_codec": "h264", "h264_profile": "high", "video_bitrate": 2100, "segment_seconds": 4, "keyframe_interval": 60 }
        ,
        { "label": "hls540p", "live_stream": true, "width": 960, "height": 540, "video_codec": "h264", "h264_profile": "main", "video_bitrate": 1500, "segment_seconds": 4, "keyframe_interval": 60 }
        ,
        { "label": "hls360p", "live_stream": true, "width": 640, "height": 360, "video_codec": "h264", "h264_profile": "main", "video_bitrate": 800, "segment_seconds": 4, "keyframe_interval": 60 }
      ],
      "videocloud": {
        "video":
          { "name": "live event UI", "description": "live event UI", "long_description": "", "tags": [], "reference_id": "", "state": "ACTIVE" }
        }
      }
  • La conexión inicial del codificador proporciona la información de ancho de banda que se creará con la lista de reproducción en vivo. Si la conexión inicial es baja, incluso si la configuración del trabajo tuvo un alto rendimiento, la lista de reproducción seguirá manteniendo la misma información en la lista de reproducción hasta que se haga lo siguiente:
    • El codificador se reinicia
    • Es posible que también deba borrarse la caché de CDN
  • Actualmente, la velocidad de fotogramas para los flujos de entrada está limitada a 30 FPS. Si está interesado en utilizar una velocidad de fotogramas más alta, comuníquese con Soporte.
  • De forma predeterminada, la resolución del flujo de entrada está limitada a 1080p.
  • Al desconectarse y volver a conectarse, la configuración de la transmisión debe permanecer igual. Cualquier cambio en la cantidad de canales de audio, resoluciones o configuraciones de códec dará como resultado un comportamiento impredecible.
  • Aunque puede agregar DASH y MP4 para fuentes remotas para videos de Video Cloud, Live actualmente admite HLS solo.
  • Solo el audio AAC es compatible con las transmisiones de entrada.
  • Un máximo de 5 activos esperando, sin comenzar Se permiten trabajos en cualquier momento.

    Limitaciones adicionales en trabajos concurrentes:

    • El número de channel (24x7) trabajos está limitado a 0 o un número bajo por región (dependiendo del tipo de cuenta).
    • El número de concurrentemente corriendo event Los puestos de trabajo están limitados por región, generalmente a 100.
    • El número de concurrentemente esperando para conectarse event Los trabajos se limitan a 5.
    • El número de puestos de trabajo SEP por región está limitado a 3 o 10 (consulte Regiones de AWS admitidas).

    El equipo de soporte puede ajustar cualquiera de estos límites a nivel de cuenta. Comuníquese con su Gerente de Éxito del Cliente si necesita capacidad adicional.

  • La dirección "RTMP" devuelta como stream_url for Live jobs es una transmisión en vivo HD de Akamai, no una transmisión FMS RTMP heredada; no es compatible con versiones anteriores de Internet Explorer.
  • Las transmisiones en vivo se entregan a través de HTTPS, y si su cuenta de Brightcove no está habilitada para HTTPS, el reproductor de Brightcove no podrá cargar la transmisión en vivo. Si su cuenta no tiene habilitada la compatibilidad con HTTPS para el servicio de origen, Póngase en contacto con el soporte de Brightcove para habilitar la compatibilidad con HTTPS para el servicio de origen a fin de evitar problemas de reproducción.
  • Cuando se utiliza una interpretación transmuxed dentro de una salida HLS de tasa de bits múltiple, segment_size se puede incluir cuando se transmuxing, pero debe configurarse de modo que sea un múltiplo de la GOP tamaño del flujo de entrada. Entonces, si la entrada es de 30 fps con fotogramas clave cada 60 fotogramas, la GOP el tamaño es de 2 segundos y el tamaño del segmento debe ser múltiplo de 2. Si no hace esto, los segmentos de la corriente serán de diferentes tamaños.

    También, keyframe_interval debería no ser especificado en cualquier salida.

  • Cuando utilice su propia ubicación de origen FTP o S3, su CDN debe configurarse para volver a su ubicación de origen. El sistema Brightcove Live no validará las ubicaciones de origen de las CDN proporcionadas en la solicitud de trabajo.