Instructions de CLI pour la création d’un canal IVS
La création d'un canal avec l'AWS CLI est une option avancée et nécessite le téléchargement et la configuration de la CLI sur votre machine. Pour plus de détails, consultez le Guide de l’utilisateur de l’Interface de ligne de commande AWS.
Suivez l'une des deux procédures ci-dessous en fonction de ce que vous souhaitez : créer un canal avec ou sans enregistrement.
Créer un canal sans enregistrement
-
Exécutez la commande
create-channel
et renseignez un nom (facultatif).aws ivs create-channel --name test-channel
-
Cela renvoie un nouveau canal.
{ "channel": { "arn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "authorized": false, "ingestEndpoint": "a1b2c3d4e5f6.global-contribute.live-video.net", "insecureIngest": false, "latencyMode": "LOW", "name": "channel-live", "playbackRestrictionPolicyArn": "arn:aws:ivs:us-west-2:123456789012:playback-restriction-policy/abcdABCDefgh", "playbackUrl": "https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel.abcdEFGH.m3u8", "recordingConfigurationArn": "none", "srt": { "endpoint": "a1b2c3d4e5f6.srt.live-video.net", "passphrase: "ZU5A3yrjGAkghUNDr0c5NXBhsPrjlmtcKMNBluh7oImwJQ3ijeyClvMKxlpPcGAMziICJ", }, "tags": {}, "type": "STANDARD" }, "streamKey": { "arn": "arn:aws:ivs:us-west-2:123456789012:stream-key/g1H2I3j4k5L6", "channelArn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "tags": {}, "value": "sk_us-west-2_abcdABCDefgh_567890abcdef" } }
-
Important : notez les valeurs
ingestEndpoint
,streamKey value
etplaybackUrl
. Elles vous seront utiles pour configurer le streaming et la lecture.
Créer un canal avec enregistrement
Prérequis : avant de commencer cette procédure, créez un compartiment Amazon S3 et notez l'ARN. Consultez Mise en route avec Amazon S3. Le compartiment S3 doit se trouver dans la même région que la configuration d'enregistrement. Prenez connaissance du problème rencontré à l'étape 1 ci-dessous.
Suivez ensuite ces étapes pour créer le canal :
-
Exécutez la commande
create-recording-configuration
et renseignez l’ARN d’un compartiment Amazon S3 existant :aws ivs create-recording-configuration --name configuration-1 --destination-configuration s3={bucketName=test-bucket}
Vous pouvez également passer le paramètre
thumbnail-configuration
pour définir manuellement le mode d’enregistrement des miniatures et l’intervalle entre les miniatures :aws ivs create-recording-configuration --name configuration-1 --destination-configuration s3={bucketName=s3_bucket_name} --thumbnail-configuration recordingMode="INTERVAL",targetIntervalSeconds=60
Si vous le souhaitez, transmettez le paramètre
recording-reconnect-window-seconds
permettant d'activer la fonctionnalité de fusion de flux fragmentés :aws ivs create-recording-configuration --name configuration-1 --destination-configuration s3={bucketName=test-bucket} --recording-reconnect-window-seconds 60
Problème connu : dans la région us-east-1, si vous utilisez l'AWS CLI pour créer une configuration d'enregistrement, cela fonctionne même si le compartiment S3 se trouve dans une autre région. Le cas échéant, la valeur
state
de la configuration d'enregistrement est la suivante :CREATE_FAILED
(et nonACTIVE
). (Dans d'autres régions, la CLI bloque l'action si le compartiment est dans une autre région.)Solution de contournement : assurez-vous que votre compartiment S3 se trouve dans la même région que la configuration d'enregistrement. Si vous créez une configuration d’enregistrement dans une autre région que votre compartiment S3, supprimez-la et créez-en une nouvelle avec un compartiment S3 dans la bonne région.
-
Cette action renvoie une nouvelle configuration d’enregistrement avec un ARN unique. La configuration d’enregistrement affiche le statut «
CREATING
», ce qui signifie qu’elle est en cours de création.{ "recordingConfiguration": { "arn": "arn:aws:ivs:us-west-2:123456789012:recording-configuration/mhndauNaO1te", "name": "configuration-1", "destinationConfiguration": { "s3": { "bucketName": "s3_bucket_name" } }, "recordingReconnectWindowSeconds": 60, "state": "CREATING", "tags": {}, "thumbnailConfiguration": { "recordingMode": "INTERVAL", "targetIntervalSeconds": 60 } } }
-
La création d’une configuration d’enregistrement ne prend que quelques secondes, mais cela peut aller jusqu’à 20 secondes. Pour vérifier que la configuration d’enregistrement a été créée, exécutez la commande
get-recording-configuration
:aws ivs get-recording-configuration --arn "arn:aws:ivs:us-west-2:123456789012:recording-configuration/mhndauNaO1te"
-
Cette action renvoie une réponse indiquant que la configuration d’enregistrement a été créée (
state
estACTIVE
) :{ "recordingConfiguration": { "arn": "arn:aws:ivs:us-west-2:123456789012:recording-configuration/mhndauNaO1te", "name": "configuration-1", "destinationConfiguration": { "s3": { "bucketName": "s3_bucket_name" } }, "recordingReconnectWindowSeconds": 60, "state": "ACTIVE", "tags": {}, "thumbnailConfiguration": { "recordingMode": "INTERVAL", "targetIntervalSeconds": 60 } } }
-
Pour créer un canal et activer l’enregistrement sur ce dernier, exécutez la commande
create-channel
et indiquez l’ARN de configuration d’enregistrement :aws ivs create-channel --name channel-live --recording-configuration-arn "arn:aws:ivs:us-west-2:123456789012:recording-configuration/mhndauNaO1te"
De la même façon, pour activer l’enregistrement sur un canal existant, exécutez la commande
update-channel
et indiquez l’ARN de configuration d’enregistrement :aws ivs update-channel --arn "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh" --recording-configuration-arn "arn:aws:ivs:us-west-2:123456789012:recording-configuration/mhndauNaO1te"
-
Cette action renvoie un objet de canal pour
recordingConfigurationArn
avec une autre valeur que « Aucun », indiquant que l'enregistrement est activé. (La réponse ci-dessous provient decreate-channel
. La réponseupdate-channel
n’inclut pas l’objetstreamKey
.){ "channel": { "arn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "authorized": false, "ingestEndpoint": "a1b2c3d4e5f6.global-contribute.live-video.net", "insecureIngest": false, "latencyMode": "LOW", "name": "channel-live", "playbackUrl": "https://a1b2c3d4e5f6.us-west-2.playback.live-video.net/api/video/v1/us-west-2.123456789012.channel.abcdEFGH.m3u8", "recordingConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:recording-configuration/mhndauNaO1te", "srt": { "endpoint": "a1b2c3d4e5f6.srt.live-video.net", "passphrase: "ZU5A3yrjGAkghUNDr0c5NXBhsPrjlmtcKMNBluh7oImwJQ3ijeyClvMKxlpPcGAMziICJ", }, "tags": {}, "type": "STANDARD" }, "streamKey": { "arn": "arn:aws:ivs:us-west-2:123456789012:stream-key/g1H2I3j4k5L6", "channelArn": "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh", "tags": {}, "value": "sk_us-west-2_abcdABCDefgh_567890abcdef" } }
-
Important : notez les valeurs
ingestEndpoint
,streamKey value
etplaybackUrl
. Elles vous seront utiles pour configurer le streaming et la lecture.