Aperçu
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.
-
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 }] }'
-
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
- 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.
-
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 :
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 :
Ajouter le flux en direct à YouTube en direct
Nous supposons ici que vous avez un compte YouTube activé pour la diffusion en direct.
-
Cliquez sur Go Live, et vous devriez voir :
-
Cliquez sur "Encodeur live streaming" :
-
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 :
-
Maintenant que nous avons configuré YouTube en direct, nous allons créer la sortie RTMP correspondante à partir de notre travail en direct.
-
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/" }'
-
Remplacer :
avec votre identifiant de travail en direct Brightcove. Dans notre exemple, cette valeur serait la
3b6871bf2f344acaa6b397d09b476018
suivante : 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
- Collez le code modifié dans votre application de ligne de commande et exécutez-le.
-
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 }
-
Pour tester la lecture de YouTube, vous pouvez accéder à 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.
-
Cliquez sur Vidéo en direct
-
Cliquez sur relier et la clé de flux pour obtenir les données nécessaires pour connecter votre tâche en direct Brightcove :
-
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/" }'
-
Remplacer :
avec votre identifiant de travail en direct Brightcove. Dans notre exemple, cette valeur serait la
3b6871bf2f344acaa6b397d09b476018
suivante : 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
-
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 }
-
Pour tester votre flux Facebook Live, cliquez sur « Go Live » sur votre page Web Facebook.