Instrucciones de la CLI - Amazon Interactive Video Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Instrucciones de la CLI

Crear un canal con la AWS CLI es una opción avanzada y requiere que primero descargue y configure la CLI en su equipo. Para obtener más información, consulte la Guía del usuario de la interfaz de línea de comandos de AWS.

Siga uno de los dos procedimientos a continuación, en función de si desea crear un canal con o sin grabación habilitada.

Crear un canal sin grabación

  1. Ejecute el comando create-channel y pase un nombre opcional:

    aws ivs create-channel --name test-channel
  2. Esto devuelve un canal nuevo:

    { "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", "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" } }
  3. Importante: Tenga en cuenta el ingestEndpoint, streamKey value y playbackUrl. Los usará para configurar el streaming y la reproducción.

Crear un canal con grabación

Requisito previo: antes de iniciar este procedimiento, cree un bucket de Amazon S3 y anote su ARN. Consulte Introducción a Amazon S3. El bucket de S3 debe estar en la misma región en la que creará la configuración de grabación; consulte el problema conocido que figura en el Paso 1 a continuación.

Para crear el canal, siga estos pasos:

  1. Ejecute el comando create-recording-configuration y pase el ARN de un bucket de Amazon S3 existente.

    aws ivs create-recording-configuration --name configuration-1 --destination-configuration s3={bucketName=test-bucket}

    De manera opcional, transfiera el parámetro thumbnail-configuration para configurar manualmente el modo de grabación de miniaturas y el intervalo de miniaturas:

    aws ivs create-recording-configuration --name configuration-1 --destination-configuration s3={bucketName=s3_bucket_name} --thumbnail-configuration recordingMode="INTERVAL",targetIntervalSeconds=60

    Si lo desea, pase el parámetro recording-reconnect-window-seconds para habilitar la funcionalidad de fusión de transmisiones fragmentadas:

    aws ivs create-recording-configuration --name configuration-1 --destination-configuration s3={bucketName=test-bucket} --recording-reconnect-window-seconds 60

    Problema conocido: en la región us-east-1, si utiliza la AWS CLI para crear una configuración de grabación, devuelve “Success” (Correcto) incluso si el bucket de S3 se encuentra en una región diferente. En este caso, el state de la configuración de grabación es CREATE_FAILED (en lugar de ACTIVE). (En otras regiones, la CLI devuelve correctamente el error si el bucket se encuentra en una región diferente).

    Solución alternativa: asegúrese de que el bucket de S3 se encuentre en la misma región que la configuración de grabación. Si crea una configuración de grabación en una región diferente que su bucket de S3, elimine esa configuración de grabación y cree una nueva con un bucket de S3 de la región correcta.

  2. Esto devuelve una nueva configuración de grabación con un ARN único. El estado de la configuración de grabación es CREATING, que indica que se está creando.

    { "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 } } }
  3. Normalmente, la creación de la configuración de grabación tarda unos segundos, pero puede tomar hasta 20 segundos. Para comprobar que se ha creado la configuración de grabación, ejecute el comando get-recording-configuration:

    aws ivs get-recording-configuration --arn "arn:aws:ivs:us-west-2:123456789012:recording-configuration/mhndauNaO1te"
  4. Esto devuelve una respuesta que indica que se creó la configuración de grabación (el state es ACTIVE):

    { "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 } } }
  5. Para crear un canal y habilitar la grabación en él, ejecute el comando create-channel y pase el ARN de la configuración de grabación:

    aws ivs create-channel --name channel-live --recording-configuration-arn "arn:aws:ivs:us-west-2:123456789012:recording-configuration/mhndauNaO1te"

    Alternativamente, para habilitar la grabación en un canal existente, ejecute el comando update-channel y pase el ARN de la configuración de grabación:

    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"
  6. Esto devuelve un objeto de canal con un valor que no es none para recordingConfigurationArn, lo que indica que la grabación está habilitada. (La siguiente respuesta es de create-channel. La respuesta update-channel no incluye el objeto streamKey).

    { "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", "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" } }
  7. Importante: Tenga en cuenta el ingestEndpoint, streamKey value y playbackUrl. Los usará para configurar el streaming y la reproducción.