Resumen
Este tutorial explica a nivel de API cómo crear un trabajo de transmisión en vivo en Brightcove en vivo y luego crea RTMP salidas y volver a transmitirlas a YouTube Live y Facebook Live.
Este tutorial usará curl para realizar las solicitudes de API, pero puede realizarlas fácilmente en Insomnia , Postman u otros clientes REST en su lugar.
Crea un trabajo en vivo
Primero, crearemos un trabajo en vivo. Necesitarás un API-KEY
para la API en vivo. Si no lo hace y está interesado en obtener acceso, comuníquese con su Gerente de Éxito del Cliente.
-
Copie y pegue lo siguiente curl comando en un editor de texto:
curl -X POST \ https://api.bcovlive.io/v1/jobs \ -H 'Content-Type: application/json' \ -H 'x-api-key: ' \ -d '{ "live_stream": true, "region": "", "outputs": [{ "label": "hls360p", "live_stream": true, "height": 360, "video_bitrate": 365, "segment_seconds": 6, "keyframe_interval": 60 }, { "label": "hls432p", "live_stream": true, "height": 432, "video_bitrate": 730, "segment_seconds": 6, "keyframe_interval": 60 }, { "label": "hls540p", "live_stream": true, "height": 540, "video_bitrate": 2000, "segment_seconds": 6, "keyframe_interval": 60 }, { "label": "hls720p3M", "live_stream": true, "height": 540, "video_bitrate": 2000, "segment_seconds": 6, "keyframe_interval": 60 }, { "label": "hls720p4.5M", "live_stream": true, "height": 540, "video_bitrate": 4500, "segment_seconds": 6, "keyframe_interval": 60 }] }'
-
Reemplazar:
con la región disponible más cercana a su codificador, consulte regiones disponibles más cercanas a su codificador. Por ejemplo:
us-west-2
con su clave API en vivo de Brightcove. Por ejemplo:
abcdfeg-this-is-a-fake-api-key-FgJajjasd12hJHsZ
- Después de realizar esos cambios, copie y pegue el código en Terminal o en cualquier aplicación de línea de comandos que use y ejecútelo.
-
La respuesta debería ser algo como esto:
{ "id": "3b6871bf2f344acaa6b397d09b476018", "outputs": [... removed for simplicity ...], "stream_url": "rtmp://ep1-usw2.bcovlive.io:1935/3b6871bf2f344acaa6b397d09b476018", "stream_name": "alive", "static": false, "encryption": {}, "playback_url": "https://bcovlive-a.akamaihd.net/3b6871bf2f344acaa6b397d09b476018/us-west-2/NA/playlist.m3u8", "playback_url_dvr": "https://bcovlive-a.akamaihd.net/3b6871bf2f344acaa6b397d09b476018/us-west-2/NA/playlist_dvr.m3u8" }
Estos trabajos crearán 5 representaciones. basado en Recomendaciones de Apple.
Configura tu codificador
Los pasos que se muestran aquí supondrán una Caja viva elemental codificador, que se utilizó para probar los pasos de este tutorial. Si tiene un codificador diferente, la configuración debería ser similar.
Los ajustes más importantes para este caso son:
- Configurar la fuente del código de tiempo como "reloj del sistema"
- Establecer "Frecuencia de código de tiempo de OnFi" en 1
- Marque "inserción de código de tiempo" dentro del video
- Muy recomendado: Velocidad de fotogramas = seguir la fuente
Esta es la configuración que usamos para este experimento:
Prueba de reproducción
Puedes usar esto Página de demostración de VideoJS HLS para probar la reproducción, simplemente pegue el valor playback_url
devuelto en la respuesta del trabajo de creación:
Agregue la transmisión en vivo a YouTube en vivo
Suponemos aquí que tiene una cuenta de YouTube habilitada para transmisión en vivo.
-
Haz clic en " Activar» y verás lo siguiente:
-
Haga clic en "Transmisión en vivo del codificador":
-
Configure los metadatos de YouTube de su evento en vivo y use los datos de "Configuración del codificador" para conectar la transmisión en vivo de Brightcove a YouTube:
-
Ahora que tenemos configurado YouTube en vivo, crearemos la salida RTMP para él desde nuestro trabajo en vivo.
-
Copia el curl comando a continuación en un editor de texto:
curl -X POST \ https://api.bcovlive.io/v1/jobs//rtmpouts \ -H 'Content-Type: application/json' \ -H 'x-api-key: ' \ -d '{ "url": "rtmp://a.rtmp.youtube.com/live2/" }'
-
Reemplazar:
con su identificación de trabajo en vivo de Brightcove. En nuestro ejemplo, este valor sería
3b6871bf2f344acaa6b397d09b476018
- su valor, desde la respuesta a su solicitud para crear el trabajo en vivo, será diferente.para su clave API en vivo de Brightcove. Por ejemplo:
abcdfeg-this-is-a-fake-api-key-FgJajjasd12hJHsZ
para el nombre o la clave de la transmisión que proporciona YouTube
- Pegue el código editado en su aplicación de línea de comandos y ejecútelo.
-
La respuesta debería ser algo como esto:
{ "connection_info": { "host": "a.rtmp.youtube.com", "port": 1935, "application": "live2", "streamName": "" }, "duration_history": [], "rtmp_out_id": "27aacdfa5bcf4436ade0519e6a748aba", "stream_start": 1542902218238 }
-
Para probar la reproducción de YouTube, puede ir a YouTube. Mi canal:
Agregue la transmisión en vivo a Facebook en vivo
Suponemos aquí que tiene una cuenta de Facebook habilitada para transmisión en vivo.
-
Hacer clic Video en vivo
-
Hacer clic conectar y la clave de transmisión para obtener los datos necesarios para conectar su trabajo en vivo de Brightcove:
-
A continuación, cree una salida en vivo para el trabajo en vivo de Brightcove utilizando la "URL del servidor" y la "clave de transmisión" de Facebook. Copia el curl comando a continuación y péguelo en un editor de texto:
curl -X POST \ https://api.bcovlive.io/v1/jobs//rtmpouts \ -H 'Content-Type: application/json' \ -H 'x-api-key: ' \ -d '{ "url": "rtmp://live-api-s.facebook.com:80/rtmp/" }'
-
Reemplazar:
con su identificación de trabajo en vivo de Brightcove. En nuestro ejemplo, este valor sería
3b6871bf2f344acaa6b397d09b476018
- su valor, desde la respuesta a su solicitud para crear el trabajo en vivo, será diferente.con su clave API en vivo de Brightcove. Por ejemplo:
abcdfeg-this-is-a-fake-api-key-FgJajjasd12hJHsZ
con el nombre de la transmisión que te da Facebook
-
La respuesta debería ser algo como esto:
{ "connection_info": { "host": "live-api-s.facebook.com", "port": 80, "application": "rtmp", "streamName": "" }, "duration_history": [], "rtmp_out_id": "59323c3d1e2b44748755853193fb126c", "stream_start": 1542904101097 }
-
Para probar su transmisión en vivo de Facebook, haga clic en "Transmitir en vivo" en su página web de Facebook.