Démarrage rapide : Utilisation des sorties RTMP pour les événements en direct

Ce tutoriel vous guidera à travers la création de sorties RTMP pour mettre en place des événements en direct sur YouTube Live et Facebook Live.

Aperçu

diagramme général-bloc-bloc
Diagramme

Ce tutoriel explique au niveau de l'API comment créer une tâche de streaming en direct dans Brightcove en direct puis créer RTMP sorties et les rediffuser sur YouTube Live et Facebook Live.

Ce tutoriel utilisera curl pour faire les requêtes API, mais vous pouvez facilement les faire dans Insomnia , Postman ou d'autres clients REST à la place.

Créer un emploi en direct

Tout d'abord, nous allons créer un emploi réel. Vous aurez besoin d'un API-KEY pour l'API en direct. Si ce n'est pas le cas et que vous souhaitez obtenir un accès, veuillez contacter votre Customer Success Manager.

  1. Copiez et collez la curl commande suivante dans un éditeur de texte :

    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. Remplacer :

    • avec la région disponible la plus proche de votre encodeur, voir régions disponibles les plus proches à votre encodeur. Par exemple : us-west-2
    • avec votre clé API live Brightcove. Par exemple : abcdfeg-this-is-a-fake-api-key-FgJajjasd12hJHsZ
  3. Après avoir apporté ces modifications, copiez et collez le code dans Terminal ou dans l'application de ligne de commande que vous utilisez et exécutez-le.
  4. La réponse devrait ressembler à ceci :

    {
        "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"
    }

Ce travail créera 5 rendus basé au Recommandations Apple.

Configurer votre encodeur

Les étapes indiquées ici supposeront une Live box élémentaire encodeur, qui a été utilisé pour tester les étapes de ce didacticiel. Si vous avez un autre encodeur, les paramètres doivent être similaires.

Les paramètres les plus importants pour ce cas sont les suivants :

  • Configurer la source du timecode en tant qu'"horloge système"
  • Réglez "Fréquence du code temporel OnFi" sur 1
  • Vérifiez "l'insertion du code temporel" dans la vidéo
  • Fortement recommandé : Framerate = suivre la source

Voici la configuration que nous avons utilisée pour cette expérience :

élémental-live-job-config
Configuration élémentaire en direct

Tester la lecture

Vous pouvez utiliser ceci Page de démonstration VideoJS HLS pour tester la lecture, collez simplement la valeur playback_url renvoyé dans la réponse de la tâche de création :

videojs-hls-lecture
Page de démonstration de lecture VideoJS HLS

Ajouter le flux en direct à YouTube en direct

Nous supposons ici que vous avez un compte YouTube activé pour la diffusion en direct.

  1. Cliquez sur Go Live, et vous devriez voir :

    youtube-go-live
    YouTube en ligne
  2. Cliquez sur "Encodeur live streaming" :

    youtube-encoder-live
    Source en direct de l'encodeur YouTube
  3. Configurez les métadonnées YouTube de votre événement en direct et utilisez les données "Configuration de l'encodeur" pour connecter le flux en direct Brightcove à YouTube :

    youtube-encoder-setup
    Configuration de l'encodeur YouTube
  4. Maintenant que nous avons configuré YouTube en direct, nous allons créer la sortie RTMP correspondante à partir de notre travail en direct.

  5. Copiez la curl commande ci-dessous dans un éditeur de texte :

    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. Remplacer :

    • avec votre identifiant de travail en direct Brightcove. Dans notre exemple, cette valeur serait la 3b6871bf2f344acaa6b397d09b476018suivante : votre valeur, issue de la réponse à votre demande de création de l'emploi réel, sera différente.
    • pour votre clé API live Brightcove. Par exemple : abcdfeg-this-is-a-fake-api-key-FgJajjasd12hJHsZ
    • pour le nom du flux / la clé que YouTube fournit
  7. Collez le code modifié dans votre application de ligne de commande et exécutez-le.
  8. La réponse devrait ressembler à ceci :

    {
              "connection_info": {
                "host": "a.rtmp.youtube.com",
                "port": 1935,
                "application": "live2",
                "streamName": ""
              },
              "duration_history": [],
              "rtmp_out_id": "27aacdfa5bcf4436ade0519e6a748aba",
              "stream_start": 1542902218238
            }
  9. Pour tester la lecture de YouTube, vous pouvez accéder à ma chaîne YouTube:

    youtube-my-channel-lecture
    Lecture de ma chaîne YouTube

Ajouter le flux en direct à Facebook en direct

Nous supposons ici que vous avez un compte Facebook activé pour la diffusion en direct.

  1. Cliquez sur Vidéo en direct

  2. Cliquez sur relier et la clé de flux pour obtenir les données nécessaires pour connecter votre tâche en direct Brightcove :

    facebook-live-config
    Configuration en direct de Facebook
  3. Ensuite, créez une sortie en direct pour le travail en direct Brightcove à l'aide de « l'URL du serveur » et de la « clé de diffusion » de Facebook. Copiez la curl commande ci-dessous et collez-la dans un éditeur de texte :

    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. Remplacer :

    • avec votre identifiant de travail en direct Brightcove. Dans notre exemple, cette valeur serait la 3b6871bf2f344acaa6b397d09b476018suivante : votre valeur, issue de la réponse à votre demande de création de l'emploi réel, sera différente.
    • avec votre clé API live Brightcove. Par exemple : abcdfeg-this-is-a-fake-api-key-FgJajjasd12hJHsZ
    • avec votre nom de flux que Facebook vous donne
  5. La réponse devrait ressembler à ceci :

    {
      "connection_info": {
          "host": "live-api-s.facebook.com",
          "port": 80,
          "application": "rtmp",
          "streamName": ""
      },
      "duration_history": [],
      "rtmp_out_id": "59323c3d1e2b44748755853193fb126c",
      "stream_start": 1542904101097
    }
  6. Pour tester votre flux Facebook Live, cliquez sur « Go Live » sur votre page Web Facebook.

    lecture de facebook-back