Inicio rápido: Uso de salidas RTMP para eventos en directo

Este tutorial lo guiará a través de la creación de salidas RTMP para configurar eventos en vivo en YouTube Live y Facebook Live.

Resumen

diagrama de bloques general
Diagrama de bloques

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.

  1. 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
        }]
      }'
    
  2. 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
  3. 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.
  4. 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:

configuración-de-trabajo-en-vivo-elemental
Configuración elemental en vivo

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:

videojs-hls-reproducción
Página de demostración de reproducción de VideoJS HLS

Agregue la transmisión en vivo a YouTube en vivo

Suponemos aquí que tiene una cuenta de YouTube habilitada para transmisión en vivo.

  1. Haz clic en " Activar» y verás lo siguiente:

    youtube-go-live
    YouTube en vivo
  2. Haga clic en "Transmisión en vivo del codificador":

    codificador de youtube en vivo
    Fuente en vivo del codificador de YouTube
  3. 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:

    configuración del codificador de youtube
    Configuración del codificador de YouTube
  4. Ahora que tenemos configurado YouTube en vivo, crearemos la salida RTMP para él desde nuestro trabajo en vivo.

  5. 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/"
    }'
  6. 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
  7. Pegue el código editado en su aplicación de línea de comandos y ejecútelo.
  8. 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
            }
  9. Para probar la reproducción de YouTube, puede ir a YouTube. Mi canal:

    youtube-mi-canal-reproducción
    YouTube mi reproducción de 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.

  1. Hacer clic Video en vivo

  2. Hacer clic conectar y la clave de transmisión para obtener los datos necesarios para conectar su trabajo en vivo de Brightcove:

    facebook-live-config
    Configuración en vivo de Facebook
  3. 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/"
    }'
  4. 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
  5. 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
    }
  6. Para probar su transmisión en vivo de Facebook, haga clic en "Transmitir en vivo" en su página web de Facebook.

    reproducción de facebook