De quoi as-tu besoin
Pour terminer ce didacticiel, vous avez besoin des éléments suivants.
- Un compte configuré pour l'API Live
- Une clé api pour l'API Live (fournie lors de la création du compte)
- Un compte Video Cloud (non requis pour créer la tâche de diffusion en direct, mais nécessaire pour configurer la lecture dans Brightcove Player)
- Si vous comptez utiliser le CMS API pour créer la vidéo Video Cloud plutôt que Studio, vous aurez besoin d'informations d'identification client avec des autorisations vidéo/lecture et vidéo/écriture - si vous n'êtes pas familiarisé avec le processus d'obtention d'informations d'identification client, consultez le authentification section ci-dessous.
- La possibilité de faire des requêtes API REST soit via boucle ou un client REST tel que Insomnie ou Facteur.
Pour vous aider, nous avons préparé quelques importations Insomnia et Postman que vous pouvez utiliser pour l'exercice (chez Brightcove Learning Services, nous préférons et utilisons Insomnia, mais Postman fonctionnera également si c'est ce que vous avez) :
Dans chacun des fichiers zip, vous trouverez une page readme pour vous aider.
- Pour créer une diffusion en direct réelle, vous aurez besoin d'un encodeur logiciel ou matériel pour la diffusion en direct. Les instructions ci-dessous incluent les étapes à suivre pour configurer la diffusion en direct à l'aide de Wirecast ( inscrivez-vous pour un essai). Si vous utilisez un encodeur différent, le processus sera différent mais devrait être similaire en termes d'informations dont vous avez besoin à partir de la réponse de l'API Live.
Obtenir des informations d'identification pour l'API CMS
Créer un emploi en direct
Nous allons d'abord créer le travail en direct.
- Pour cette étape, vous allez soumettre une
POST
demande à :https://api.bcovlive.io/v1/jobs
Utilisez ce qui suit comme corps de la requête :
{ "live_stream": true, "region": "us-west-2", "reconnect_time": 1800, "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 } ] }
- Si vous utilisez un client REST tel que Insomnia ou Postman, vous devrez ajouter les en-têtes suivants à votre demande :
Clé Montant X-API-KEY VOTRE CLÉ API Type de contenu application/json Utilisez le corps de la demande indiqué à l'étape 1 ci-dessus et assurez-vous d'envoyer la demande à l'aide de la méthode POST.
- La réponse de l'API devrait ressembler à ceci :
Exemple de réponse
{ "id": "15981d93877e490185e6ebc9af2c79a3", "outputs": [ { "id": "0-15981d93877e490185e6ebc9af2c79a3", "playback_url": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_0/chunklist.m3u8", "playback_url_dvr": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_0/chunklist_dvr.m3u8", "playback_url_vod": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_0/chunklist_vod.m3u8", "label": "hls720p" }, { "id": "1-15981d93877e490185e6ebc9af2c79a3", "playback_url": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_1/chunklist.m3u8", "playback_url_dvr": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_1/chunklist_dvr.m3u8", "playback_url_vod": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_1/chunklist_vod.m3u8", "label": "hls540p" }, { "id": "2-15981d93877e490185e6ebc9af2c79a3", "playback_url": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_2/chunklist.m3u8", "playback_url_dvr": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_2/chunklist_dvr.m3u8", "playback_url_vod": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/profile_2/chunklist_vod.m3u8", "label": "hls360p" }, { "id": "3-15981d93877e490185e6ebc9af2c79a3", "playlist_type": "defaultS3", "type": "playlist", "filename": "playlist.m3u8", "dvr_filename": "playlist_dvr.m3u8", "playback_url": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/playlist.m3u8", "playback_url_dvr": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/playlist_dvr.m3u8", "ssai_playback_urls": { "685b239f582c42fca49da33be4f2328e": { "playback_url": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/685b239f582c42fca49da33be4f2328e/playlist_ssaiM.m3u8", "playback_url_dvr": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/685b239f582c42fca49da33be4f2328e/playlist_dvr_ssaiM.m3u8", "playback_added_cdns": [], "description": "House Ads - a95ac581551b4478b27910e5675db1f8", "type": "ads" }, "c96e2d00d6744c65a3eddb15425e4a51": { "playback_url": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/counter/playlist_ssaiM.m3u8", "playback_url_dvr": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/counter/playlist_dvr_ssaiM.m3u8", "playback_added_cdns": [], "description": "House Counter - a95ac581551b4478b27910e5675db1f8", "type": "counter" } } } ], "stream_url": "rtmp://ep1-apse2.bcovlive.io:1935/15981d93877e490185e6ebc9af2c79a3", "stream_name": "alive", "encryption": {}, "playback_url": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/playlist.m3u8", "playback_url_dvr": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/playlist_dvr.m3u8", "ssai_playback_urls": { "685b239f582c42fca49da33be4f2328e": { "playback_url": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/685b239f582c42fca49da33be4f2328e/playlist_ssaiM.m3u8", "playback_url_dvr": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/685b239f582c42fca49da33be4f2328e/playlist_dvr_ssaiM.m3u8", "playback_added_cdns": [], "description": "House Ads - a95ac581551b4478b27910e5675db1f8", "type": "ads" }, "c96e2d00d6744c65a3eddb15425e4a51": { "playback_url": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/counter/playlist_ssaiM.m3u8", "playback_url_dvr": "https://bcovlive-a.akamaihd.net/15981d93877e490185e6ebc9af2c79a3/us-west-2/counter/playlist_dvr_ssaiM.m3u8", "playback_added_cdns": [], "description": "House Counter - a95ac581551b4478b27910e5675db1f8", "type": "counter" } } }
- Pour nos besoins, les champs importants de la réponse sont :
- stream_url (ligne 51)
- stream_name (ligne 52)
- playback_url (ligne 54)
Vous aurez besoin des valeurs de ces champs, issues de votre propre réponse, dans les étapes qui suivent.
Configurer la vidéo Video Cloud
Maintenant que nous avons les informations de diffusion en direct, nous allons configurer une vidéo à distance dans Video Cloud afin de pouvoir la lire dans un Brightcove Player.
Si vous utilisez Insomnia ou Postman, vous devrez configurer l'authentification OAuth2 à l'aide de vos informations d'identification client. Consultez l'un des guides suivants si vous avez besoin d'aide :
-
Tout d'abord, vous devez créer une nouvelle vidéo en faisant une
POST
demande à :https://cms.api.brightcove.com/v1/accounts/account_id/videos
-
Le corps de la requête peut inclure plusieurs métadonnées (voir la référence de l'API pour plus de détails), mais la seule chose requise est
name
:{ "name": "some name for your live stream" }
-
La réponse contiendra toutes les métadonnées vidéo, mais le champ important est celui
id
dont vous aurez besoin pour ajouter la ressource distante. -
Pour ajouter le flux HLS, vous devez faire une autre
POST
demande à :https://cms.api.brightcove.com/v1/accounts/account_id/videos/video_id/assets/hls_manifest
-
Cette fois, le corps de la demande sera le suivant :
{ "remote_url": "playback_url for your live stream" }
Ajouter une vidéo à un lecteur
Nous allons maintenant créer une simple page HTML et y ajouter un lecteur avec la vidéo que nous venons de créer.
- Créez une simple page HTML pour tester le lecteur de diffusion en direct. Vous pouvez inclure tout autre contenu que vous aimez, ou aucun.
- Dans le module Studio Media, sélectionnez la vidéo créée lors des étapes précédentes et cliquez sur Publier et intégrer > Lecteur Web:
- Dans la boîte de dialogue Publier, sélectionnez un lecteur (le lecteur par défaut Brightcove convient) :
- Faites défiler vers le bas, définissez la taille du lecteur comme vous le souhaitez, puis cliquez sur le bloc de code pour sélectionner le code standard du lecteur. Copiez ce code et collez-le dans le corps de votre page html :
- Enregistrez votre page html sur un serveur Web distant ou local afin de pouvoir la parcourir.
- Ouvrez la page dans votre navigateur Web. Comme nous n'avons pas commencé à diffuser, vous verrez une erreur de média :
commandes cURL
Cette section fournit des commandes cURL alternatives pour ceux qui n'utilisent pas de client REST tel que Insomnia ou Postman.
cURL pour créer un travail en direct
## Create Job - Simple
curl -X "POST" "https://api.bcovlive.io/v1/jobs" \
-H "X-API-KEY: YOUR_API_KEY_HERE" \
-H "Content-Type: application/json" \
-d $'{
"outputs": [
{
"height": 720,
"video_bitrate": 2100,
"segment_seconds": 4,
"keyframe_interval": 60,
"width": 1280,
"video_codec": "h264",
"label": "hls720p",
"h264_profile": "high",
"live_stream": true
},
{
"height": 540,
"video_bitrate": 1500,
"segment_seconds": 4,
"keyframe_interval": 60,
"width": 960,
"video_codec": "h264",
"label": "hls540p",
"h264_profile": "main",
"live_stream": true
},
{
"height": 360,
"video_bitrate": 800,
"segment_seconds": 4,
"keyframe_interval": 60,
"width": 640,
"video_codec": "h264",
"label": "hls360p",
"h264_profile": "main",
"live_stream": true
}
],
"region": "us-west-2",
"reconnect_time": 1800,
"live_stream": true
}'
Copiez le code dans un éditeur de texte et remplacez YOUR_API_KEY_HERE
avec votre propre clé API. Ensuite, copiez et collez le code sur une ligne de commande et exécutez-le.
Utiliser Studio pour créer la vidéo
Voici des étapes alternatives pour créer la vidéo dans Studio.
- Connectez-vous à Video Cloud Studio.
- Accédez au module multimédia.
- Dans les options de gauche, cliquez sur Ajouter une vidéo à distance:
- Dans le Ajouter une vidéo à distance boîte de dialogue, ajoutez un nom de vidéo et copiez et collez la valeur du
playback_url
de la réponse Live API dans le champ URL. Cliquez ensuite sur Ajouter un rendu, puis sur Enregistrer:
Utiliser Wirecast pour diffuser un événement
Dans cette section, nous allons configurer et utiliser l'encodeur Telestream Wirecast pour prendre en charge un événement de diffusion en direct. Le logiciel Telestream Wirecast est une application de bureau qui capture les entrées de votre caméra et produit un flux pouvant être diffusé par un CDN. Notez qu'il existe des solutions d'encodage matérielles et logicielles disponibles qui peuvent être mieux adaptées à la diffusion de votre événement de diffusion en direct. Vous pouvez télécharger une version d'essai du logiciel Wirecast à partir du Site Web de Telestream.
Remarque : Le logiciel Wirecast doit être installé et une caméra doit être connectée à votre ordinateur avant de continuer.
Pour configurer Wirecast pour un événement en direct, procédez comme suit.
- Ouvrez Wirecast.
- Survolez le +, cliquez sur Capture Devices, puis sélectionnez votre appareil photo.
- Cliquez sur le bouton fléché ( ) pour que la caméra prenne la prise de vue en direct.
- Clique le Flux bouton ( ). Vous serez invité à configurer les paramètres de sortie.
- Met le Destination à Serveur RTMP. Cliquez sur d'accord.
- Pour l' adresse, utilisez le stream_url renvoyé par l'API Live (étape 3).
- Pour le Stream, utilisez vivant.
- (Optionnel) Pour créer des flux de sortie supplémentaires, cliquez sur Ajouter... Lors de la création de flux de sortie supplémentaires, vous souhaiterez peut-être créer votre propre profil d'encodage personnalisé pour contrôler le débit de sortie. Assurez-vous que le Flux le nom reflète le nouveau débit.
- Cliquez sur d'accord pour enregistrer les paramètres de sortie.
- Clique le Flux bouton ( ). La diffusion en direct devrait commencer.
Conclusion
Vous êtes maintenant prêt à créer une session de diffusion en direct. Vous devez ajouter les éléments suivants à la configuration de votre encodeur :
stream_url
: ajoutez lestream_url
depuis votre poste (l'rtmp
adresse)stream_name
: le nom du flux doit êtrealive
Une fois que vous avez démarré la diffusion en direct, vous devriez la voir apparaître dans le lecteur Brightcove que vous avez créé lors des étapes précédentes.