Descripción general: API de Brightcove Live
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 en el 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
Todas las solicitudes se autentican mediante una clave API que se le proporcionará cuando configure su cuenta. 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:
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 de SEP están limitados por cuenta donde el límite estándar es 3, excepto por el us-west-2 que su limitación es de 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 cuenta para obtener más información sobre las ofertas.
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
- Crear un trabajo en vivo
- Lista de trabajos en vivo
- Obtenga detalles del trabajo en vivo
- Inserción manual de un punto de inserción de anuncios
- Detener un trabajo en vivo
Creando clips
Manejo de SSAI
- Obtener configuraciones de anuncios de la cuenta
- Crear configuración de anuncios
- Obtener configuración de anuncios
- Actualizar la configuración de anuncios
- Obtenga activos de origen de medios de pizarra
- Ingestión de activos de origen de medios de pizarra
- Eliminar recurso de origen de medios de pizarra
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 predeterminado)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
(consulte Enrutamiento entre dominios sin clase).
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
Usando 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.
Subtítulos
Si hay subtítulos dentro de la señal de entrada h264 (correctamente señalada en el paquete user_data), estos 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 cronometrados 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 cuenta si necesita capacidad adicional.
- El número de
- 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 laGOP
tamaño del flujo de entrada. Entonces, si la entrada es de 30 fps con fotogramas clave cada 60 fotogramas, laGOP
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.