使用 AWS CLI 的 Amazon IVS 实时直播功能示例 - AWS Command Line Interface

本文档仅适用于 AWS CLI 版本 1。有关 AWS CLI 版本 2 的相关文档,请参阅版本 2 用户指南

使用 AWS CLI 的 Amazon IVS 实时直播功能示例

以下代码示例演示了如何通过将 AWS Command Line Interface与 Amazon IVS 实时直播功能结合使用,来执行操作和实现常见场景。

操作 是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。

每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。

主题

操作

以下代码示例演示了如何使用 create-encoder-configuration

AWS CLI

创建合成编码器配置

以下 create-encoder-configuration 示例使用指定属性创建一个合成编码器配置。

aws ivs-realtime create-encoder-configuration \ --name test-ec --video bitrate=3500000,framerate=30.0,height=1080,width=1920

输出:

{ "encoderConfiguration": { "arn": "arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef", "name": "test-ec", "tags": {}, "video": { "bitrate": 3500000, "framerate": 30, "height": 1080, "width": 1920 } } }

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的在 Amazon IVS Stream 中启用多个主播

以下代码示例演示了如何使用 create-participant-token

AWS CLI

创建阶段参与者令牌

以下 create-participant-token 示例为指定阶段创建参与者令牌。

aws ivs-realtime create-participant-token \ --stage-arn arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh \ --user-id bob

输出:

{ "participantToken": { "expirationTime": "2023-03-07T09:47:43+00:00", "participantId": "ABCDEfghij01234KLMN6789", "token": "abcd1234defg5678" } }

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的在 Amazon IVS Stream 中启用多个主播

以下代码示例演示了如何使用 create-stage

AWS CLI

示例 1:创建阶段

以下 create-stage 示例为指定用户创建阶段和阶段参与者令牌。

aws ivs-realtime create-stage \ --name stage1 \ --participant-token-configurations userId=alice

输出:

{ "participantTokens": [ { "participantId": "ABCDEfghij01234KLMN5678", "token": "a1b2c3d4567890ab", "userId": "alice" } ], "stage": { "activeSessionId": "st-a1b2c3d4e5f6g", "arn": "arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh", "endpoints": { "events": "wss://global.events.live-video.net", "whip": "https://1a2b3c4d5e6f.global-bm.whip.live-video.net" }, "name": "stage1", "tags": {} } }

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的在 Amazon IVS Stream 中启用多个主播

示例 2:创建阶段并配置单个参与者录制

以下 create-stage 示例创建一个阶段并配置单个参与者录制。

aws ivs-realtime create-stage \ --name stage1 \ --auto-participant-recording-configuration '{"mediaTypes": ["AUDIO_VIDEO"],"storageConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:storage-configuration/abcdABCDefgh"}'

输出:

{ "stage": { "activeSessionId": "st-a1b2c3d4e5f6g", "arn": "arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh", "autoParticipantRecordingConfiguration": { "mediaTypes": [ "AUDIO_VIDEO" ], "storageConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:storage-configuration/abcdABCDefgh", }, "endpoints": { "events": "wss://global.events.live-video.net", "whip": "https://1a2b3c4d5e6f.global-bm.whip.live-video.net" }, "name": "stage1", "tags": {} } }

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的在 Amazon IVS Stream 中启用多个主播

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateStage

以下代码示例演示了如何使用 create-storage-configuration

AWS CLI

创建合成存储配置

以下 create-storage-configuration 示例使用指定属性创建一个合成存储配置。

aws ivs-realtime create-storage-configuration \ --name "test-sc" --s3 "bucketName=test-bucket-name"

输出:

{ "storageConfiguration": { "arn": "arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/ABabCDcdEFef", "name": "test-sc", "s3": { "bucketName": "test-bucket-name" }, "tags": {} } }

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的在 Amazon IVS Stream 中启用多个主播

以下代码示例演示了如何使用 delete-encoder-configuration

AWS CLI

删除合成编码器配置

以下 delete-encoder-configuration 命令删除由给定 ARN(Amazon 资源名称)指定的合成编码器配置。

aws ivs-realtime delete-encoder-configuration \ --arn "arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef"

此命令不生成任何输出。

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的在 Amazon IVS Stream 中启用多个主播

以下代码示例演示了如何使用 delete-public-key

AWS CLI

删除公钥

以下 delete-public-key 命令删除指定公钥。

aws ivs-realtime delete-public-key \ --arn arn:aws:ivs:us-west-2:123456789012:public-key/abcdABC1efg2

此命令不生成任何输出。

有关更多信息,请参阅《Amazon IVS 实时直播功能用户指南》中的分发参与者令牌

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeletePublicKey

以下代码示例演示了如何使用 delete-stage

AWS CLI

删除阶段

以下 delete-stage 示例删除指定阶段。

aws ivs-realtime delete-stage \ --arn arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh

此命令不生成任何输出。

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的在 Amazon IVS Stream 中启用多个主播

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteStage

以下代码示例演示了如何使用 delete-storage-configuration

AWS CLI

删除合成存储配置

以下 delete-storage-configuration 命令删除由给定 ARN(Amazon 资源名称)指定的合成存储配置。

aws ivs-realtime delete-storage-configuration \ --arn "arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/ABabCDcdEFef"

此命令不生成任何输出。

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的在 Amazon IVS Stream 中启用多个主播

以下代码示例演示了如何使用 disconnect-participant

AWS CLI

断开阶段参与者的连接

以下 disconnect-participant 示例断开指定参与者与指定阶段的连接。

aws ivs-realtime disconnect-participant \ --stage-arn arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh \ --participant-id ABCDEfghij01234KLMN5678

此命令不生成任何输出。

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的在 Amazon IVS Stream 中启用多个主播

以下代码示例演示了如何使用 get-composition

AWS CLI

示例 1:获取采用默认布局设置的合成

以下 get-composition 示例获取指定 ARN(Amazon 资源名称)的合成。

aws ivs-realtime get-composition \ --arn "arn:aws:ivs:ap-northeast-1:123456789012:composition/abcdABCDefgh"

输出:

{ "composition": { "arn": "arn:aws:ivs:ap-northeast-1:123456789012:composition/abcdABCDefgh", "destinations": [ { "configuration": { "channel": { "channelArn": "arn:aws:ivs:ap-northeast-1:123456789012:channel/abcABCdefDEg", "encoderConfigurationArn": "arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef" }, "name": "" }, "id": "AabBCcdDEefF", "startTime": "2023-10-16T23:26:00+00:00", "state": "ACTIVE" }, { "configuration": { "name": "", "s3": { "encoderConfigurationArns": [ "arn:aws:ivs:arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef" ], "recordingConfiguration": { "format": "HLS" }, "storageConfigurationArn": "arn:arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/FefABabCDcdE" } }, "detail": { "s3": { "recordingPrefix": "aBcDeFgHhGfE/AbCdEfGhHgFe/GHFabcgefABC/composite" } }, "id": "GHFabcgefABC", "startTime": "2023-10-16T23:26:00+00:00", "state": "STARTING" } ], "layout": { "grid": { "featuredParticipantAttribute": "" "gridGap": 2, "omitStoppedVideo": false, "videoAspectRatio": "VIDEO", "videoFillMode": "" } }, "stageArn": "arn:aws:ivs:ap-northeast-1:123456789012:stage/defgABCDabcd", "startTime": "2023-10-16T23:24:00+00:00", "state": "ACTIVE", "tags": {} } }

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的合成录制(实时直播功能)

示例 2:获取采用 PiP 布局的合成

以下 get-composition 示例获取采用 PiP 布局的指定 ARN(Amazon 资源名称)的合成。

aws ivs-realtime get-composition \ --arn "arn:aws:ivs:ap-northeast-1:123456789012:composition/wxyzWXYZpqrs"

输出:

{ "composition": { "arn": "arn:aws:ivs:ap-northeast-1:123456789012:composition/wxyzWXYZpqrs", "destinations": [ { "configuration": { "channel": { "channelArn": "arn:aws:ivs:ap-northeast-1:123456789012:channel/abcABCdefDEg", "encoderConfigurationArn": "arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef" }, "name": "" }, "id": "AabBCcdDEefF", "startTime": "2023-10-16T23:26:00+00:00", "state": "ACTIVE" }, { "configuration": { "name": "", "s3": { "encoderConfigurationArns": [ "arn:aws:ivs:arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef" ], "recordingConfiguration": { "format": "HLS" }, "storageConfigurationArn": "arn:arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/FefABabCDcdE" } }, "detail": { "s3": { "recordingPrefix": "aBcDeFgHhGfE/AbCdEfGhHgFe/GHFabcgefABC/composite" } }, "id": "GHFabcgefABC", "startTime": "2023-10-16T23:26:00+00:00", "state": "STARTING" } ], "layout": { "pip": { "featuredParticipantAttribute": "abcdefg", "gridGap": 0, "omitStoppedVideo": false, "pipBehavior": "STATIC", "pipOffset": 0, "pipParticipantAttribute": "", "pipPosition": "BOTTOM_RIGHT", "videoFillMode": "COVER" } }, "stageArn": "arn:aws:ivs:ap-northeast-1:123456789012:stage/defgABCDabcd", "startTime": "2023-10-16T23:24:00+00:00", "state": "ACTIVE", "tags": {} } }

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的合成录制(实时直播功能)

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetComposition

以下代码示例演示了如何使用 get-encoder-configuration

AWS CLI

获取合成编码器配置

以下 get-encoder-configuration 示例获取由给定 ARN(Amazon 资源名称)指定的合成编码器配置。

aws ivs-realtime get-encoder-configuration \ --arn "arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/abcdABCDefgh"

输出:

{ "encoderConfiguration": { "arn": "arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/abcdABCDefgh", "name": "test-ec", "tags": {}, "video": { "bitrate": 3500000, "framerate": 30, "height": 1080, "width": 1920 } } }

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的在 Amazon IVS Stream 中启用多个主播

以下代码示例演示了如何使用 get-participant

AWS CLI

获取阶段参与者

以下 get-participant 示例获取指定阶段 ARN(Amazon 资源名称)中指定参与者 ID 和会话 ID 的阶段参与者。

aws ivs-realtime get-participant \ --stage-arn arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh \ --session-id st-a1b2c3d4e5f6g \ --participant-id abCDEf12GHIj

输出:

{ "participant": { "browserName", "Google Chrome", "browserVersion", "116", "firstJoinTime": "2023-04-26T20:30:34+00:00", "ispName", "Comcast", "osName", "Microsoft Windows 10 Pro", "osVersion", "10.0.19044" "participantId": "abCDEf12GHIj", "published": true, "recordingS3BucketName": "bucket-name", "recordingS3Prefix": "abcdABCDefgh/st-a1b2c3d4e5f6g/abCDEf12GHIj/1234567890", "recordingState": "ACTIVE", "sdkVersion", "", "state": "CONNECTED", "userId": "", } }

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的在 Amazon IVS Stream 中启用多个主播

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetParticipant

以下代码示例演示了如何使用 get-public-key

AWS CLI

获取用于签署阶段参与者令牌的现有公钥

以下 get-public-key 示例获取由提供的 ARN 指定的公钥,用于签署阶段参与者令牌。

aws ivs-realtime get-public-key \ --arn arn:aws:ivs:us-west-2:123456789012:public-key/abcdABC1efg2

输出:

{ "publicKey": { "arn": "arn:aws:ivs:us-west-2:123456789012:public-key/abcdABC1efg2", "name": "", "publicKeyMaterial": "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEqVWUtqs6EktQMR1sCYmEzGvRwtaycI16\n9pmzcpiWu/uhNStGlteJ5odRfRwVkoQUMnSZXTCcbn9bBTTmiWo4mJcFOOAzsthH\n0UAb8NdD4tUE0At4a9hYP9IETEXAMPLE\n-----END PUBLIC KEY-----", "fingerprint": "12:a3:44:56:bc:7d:e8:9f:10:2g:34:hi:56:78:90:12", "tags": {} } }

有关更多信息,请参阅《Amazon IVS 实时直播功能用户指南》中的分发参与者令牌

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetPublicKey

以下代码示例演示了如何使用 get-stage-session

AWS CLI

获取阶段会话

以下 get-stage-session 示例获取指定阶段 ARN(Amazon 资源名称)的指定会话 ID 的阶段会话。

aws ivs-realtime get-stage-session \ --stage-arn arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh \ --session-id st-a1b2c3d4e5f6g

输出:

{ "stageSession": { "endTime": "2023-04-26T20:36:29+00:00", "sessionId": "st-a1b2c3d4e5f6g", "startTime": "2023-04-26T20:30:29.602000+00:00" } }

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的在 Amazon IVS Stream 中启用多个主播

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetStageSession

以下代码示例演示了如何使用 get-stage

AWS CLI

获取阶段的配置信息

以下 get-stage 示例获取指定阶段 ARN(Amazon 资源名称)的阶段配置。

aws ivs-realtime get-stage \ --arn arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh

输出:

{ "stage": { "activeSessionId": "st-a1b2c3d4e5f6g", "arn": "arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh", "autoParticipantRecordingConfiguration": { "mediaTypes": [ "AUDIO_VIDEO" ], "storageConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:storage-configuration/abcdABCDefgh", }, "endpoints": { "events": "wss://global.events.live-video.net", "whip": "https://1a2b3c4d5e6f.global-bm.whip.live-video.net" }, "name": "test", "tags": {} } }

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的在 Amazon IVS Stream 中启用多个主播

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetStage

以下代码示例演示了如何使用 get-storage-configuration

AWS CLI

获取合成存储配置

以下 get-storage-configuration 示例获取由给定 ARN(Amazon 资源名称)指定的合成存储配置。

aws ivs-realtime get-storage-configuration \ --name arn "arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/abcdABCDefgh"

输出:

{ "storageConfiguration": { "arn": "arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/abcdABCDefgh", "name": "test-sc", "s3": { "bucketName": "test-bucket-name" }, "tags": {} } }

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的在 Amazon IVS Stream 中启用多个主播

以下代码示例演示了如何使用 import-public-key

AWS CLI

导入现有公钥以用于签署阶段参与者令牌

以下 import-public-key 示例从材料文件中导入公钥,用于签署阶段参与者令牌。

aws ivs-realtime import-public-key \ --public-key-material="`cat public.pem`"

输出:

{ "publicKey": { "arn": "arn:aws:ivs:us-west-2:123456789012:public-key/abcdABC1efg2", "name": "", "publicKeyMaterial": "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEqVWUtqs6EktQMR1sCYmEzGvRwtaycI16\n9pmzcpiWu/uhNStGlteJ5odRfRwVkoQUMnSZXTCcbn9bBTTmiWo4mJcFOOAzsthH\n0UAb8NdD4tUE0At4a9hYP9IETEXAMPLE\n-----END PUBLIC KEY-----", "fingerprint": "12:a3:44:56:bc:7d:e8:9f:10:2g:34:hi:56:78:90:12", "tags": {} } }

有关更多信息,请参阅《Amazon IVS 实时直播功能用户指南》中的分发参与者令牌

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ImportPublicKey

以下代码示例演示了如何使用 list-compositions

AWS CLI

获取合成列表

以下 list-compositions 命令列出在处理 API 请求的 AWS 区域内,您的 AWS 账户的所有合成。

aws ivs-realtime list-compositions

输出:

{ "compositions": [ { "arn": "arn:aws:ivs:ap-northeast-1:123456789012:composition/abcdABCDefgh", "destinations": [ { "id": "AabBCcdDEefF", "startTime": "2023-10-16T23:25:23+00:00", "state": "ACTIVE" } ], "stageArn": "arn:aws:ivs:ap-northeast-1:123456789012:stage/defgABCDabcd", "startTime": "2023-10-16T23:25:21+00:00", "state": "ACTIVE", "tags": {} }, { "arn": "arn:aws:ivs:ap-northeast-1:123456789012:composition/ABcdabCDefgh", "destinations": [ { "endTime": "2023-10-16T23:25:00.786512+00:00", "id": "aABbcCDdeEFf", "startTime": "2023-10-16T23:24:01+00:00", "state": "STOPPED" }, { "endTime": "2023-10-16T23:25:00.786512+00:00", "id": "deEFfaABbcCD", "startTime": "2023-10-16T23:24:01+00:00", "state": "STOPPED" } ], "endTime": "2023-10-16T23:25:00+00:00", "stageArn": "arn:aws:ivs:ap-northeast-1:123456789012:stage/efghabcdABCD", "startTime": "2023-10-16T23:24:00+00:00", "state": "STOPPED", "tags": {} } ] }

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的在 Amazon IVS Stream 中启用多个主播

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListCompositions

以下代码示例演示了如何使用 list-encoder-configurations

AWS CLI

列出合成编码器配置

以下 list-encoder-configurations 命令列出在处理 API 请求的 AWS 区域内,您的 AWS 账户的所有合成编码器配置。

aws ivs-realtime list-encoder-configurations

输出:

{ "encoderConfigurations": [ { "arn": "arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/abcdABCDefgh", "name": "test-ec-1", "tags": {} }, { "arn": "arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABCefgEFGabc", "name": "test-ec-2", "tags": {} } ] }

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的在 Amazon IVS Stream 中启用多个主播

以下代码示例演示了如何使用 list-participant-events

AWS CLI

获取阶段参与者事件列表

以下 list-participant-events 示例列出指定阶段 ARN(Amazon 资源名称)的指定参与者 ID 和会话 ID 的所有参与者事件。

aws ivs-realtime list-participant-events \ --stage-arn arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh \ --session-id st-a1b2c3d4e5f6g \ --participant-id abCDEf12GHIj

输出:

{ "events": [ { "eventTime": "2023-04-26T20:36:28+00:00", "name": "LEFT", "participantId": "abCDEf12GHIj" }, { "eventTime": "2023-04-26T20:36:28+00:00", "name": "PUBLISH_STOPPED", "participantId": "abCDEf12GHIj" }, { "eventTime": "2023-04-26T20:30:34+00:00", "name": "JOINED", "participantId": "abCDEf12GHIj" }, { "eventTime": "2023-04-26T20:30:34+00:00", "name": "PUBLISH_STARTED", "participantId": "abCDEf12GHIj" } ] }

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的在 Amazon IVS Stream 中启用多个主播

以下代码示例演示了如何使用 list-participants

AWS CLI

获取阶段参与者列表

以下 list-participants 示例列出指定阶段 ARN(Amazon 资源名称)的指定会话 ID 的所有参与者。

aws ivs-realtime list-participants \ --stage-arn arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh \ --session-id st-a1b2c3d4e5f6g

输出:

{ "participants": [ { "firstJoinTime": "2023-04-26T20:30:34+00:00", "participantId": "abCDEf12GHIj" "published": true, "recordingState": "STOPPED", "state": "DISCONNECTED", "userId": "" } ] }

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的在 Amazon IVS Stream 中启用多个主播

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListParticipants

以下代码示例演示了如何使用 list-public-keys

AWS CLI

列出可用于签署阶段参与者令牌的现有公钥

以下 list-public-keys 示例列出在处理 API 请求的 AWS 区域中,可用于签署阶段参与者令牌的所有公钥。

aws ivs-realtime list-public-keys

输出:

{ "publicKeys": [ { "arn": "arn:aws:ivs:us-west-2:123456789012:public-key/abcdABC1efg2", "name": "", "tags": {} }, { "arn": "arn:aws:ivs:us-west-2:123456789012:public-key/3bcdABCDefg4", "name": "", "tags": {} } ] }

有关更多信息,请参阅《Amazon IVS 实时直播功能用户指南》中的分发参与者令牌

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListPublicKeys

以下代码示例演示了如何使用 list-stage-sessions

AWS CLI

获取阶段会话列表

以下 list-stage-sessions 示例列出指定阶段 ARN(Amazon 资源名称)的所有会话。

aws ivs-realtime list-stage-sessions \ --stage-arn arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh

输出:

{ "stageSessions": [ { "endTime": "2023-04-26T20:36:29+00:00", "sessionId": "st-a1b2c3d4e5f6g", "startTime": "2023-04-26T20:30:29.602000+00:00" } ] }

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的在 Amazon IVS Stream 中启用多个主播

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListStageSessions

以下代码示例演示了如何使用 list-stages

AWS CLI

获取有关所有阶段的摘要信息

以下 list-stages 示例列出在处理 API 请求的 AWS 区域内,您的 AWS 账户的所有阶段。

aws ivs-realtime list-stages

输出:

{ "stages": [ { "activeSessionId": "st-a1b2c3d4e5f6g", "arn": "arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh", "name": "stage1", "tags": {} }, { "activeSessionId": "st-a123bcd456efg", "arn": "arn:aws:ivs:us-west-2:123456789012:stage/abcd1234ABCD", "name": "stage2", "tags": {} }, { "activeSessionId": "st-abcDEF1234ghi", "arn": "arn:aws:ivs:us-west-2:123456789012:stage/ABCD1234efgh", "name": "stage3", "tags": {} } ] }

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的在 Amazon IVS Stream 中启用多个主播

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListStages

以下代码示例演示了如何使用 list-storage-configurations

AWS CLI

列出合成存储配置

以下 list-storage-configurations 命令列出在处理 API 请求的 AWS 区域中,您的 AWS 账户的所有合成存储配置。

aws ivs-realtime list-storage-configurations

输出:

{ "storageConfigurations": [ { "arn": "arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/abcdABCDefgh", "name": "test-sc-1", "s3": { "bucketName": "test-bucket-1-name" }, "tags": {} }, { "arn": "arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/ABCefgEFGabc", "name": "test-sc-2", "s3": { "bucketName": "test-bucket-2-name" }, "tags": {} } ] }

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的在 Amazon IVS Stream 中启用多个主播

以下代码示例演示了如何使用 start-composition

AWS CLI

示例 1:启动采用默认布局设置的合成

以下 start-composition 示例启动指定阶段的合成,以流式传输到指定位置。

aws ivs-realtime start-composition \ --stage-arn arn:aws:ivs:ap-northeast-1:123456789012:stage/defgABCDabcd \ --destinations '[{"channel": {"channelArn": "arn:aws:ivs:ap-northeast-1:123456789012:channel/abcABCdefDEg", \ "encoderConfigurationArn": "arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef"}}, \ {"s3":{"encoderConfigurationArns":["arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef"], \ "storageConfigurationArn":"arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/FefABabCDcdE"}}]'

输出:

{ "composition": { "arn": "arn:aws:ivs:ap-northeast-1:123456789012:composition/abcdABCDefgh", "destinations": [ { "configuration": { "channel": { "channelArn": "arn:aws:ivs:ap-northeast-1:123456789012:channel/abcABCdefDEg", "encoderConfigurationArn": "arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef" }, "name": "" }, "id": "AabBCcdDEefF", "state": "STARTING" }, { "configuration": { "name": "", "s3": { "encoderConfigurationArns": [ "arn:aws:ivs:arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef" ], "recordingConfiguration": { "format": "HLS" }, "storageConfigurationArn": "arn:arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/FefABabCDcdE" } }, "detail": { "s3": { "recordingPrefix": "aBcDeFgHhGfE/AbCdEfGhHgFe/GHFabcgefABC/composite" } }, "id": "GHFabcgefABC", "state": "STARTING" } ], "layout": { "grid": { "featuredParticipantAttribute": "" "gridGap": 2, "omitStoppedVideo": false, "videoAspectRatio": "VIDEO", "videoFillMode": "" } }, "stageArn": "arn:aws:ivs:ap-northeast-1:123456789012:stage/defgABCDabcd", "startTime": "2023-10-16T23:24:00+00:00", "state": "STARTING", "tags": {} } }

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的合成录制(实时直播功能)

示例 2:启动采用 PiP 布局的合成

以下 start-composition 示例启动指定阶段的合成,以流式传输到使用 PiP 布局的指定位置。

aws ivs-realtime start-composition \ --stage-arn arn:aws:ivs:ap-northeast-1:123456789012:stage/defgABCDabcd \ --destinations '[{"channel": {"channelArn": "arn:aws:ivs:ap-northeast-1:123456789012:channel/abcABCdefDEg", \ "encoderConfigurationArn": "arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef"}}, \ {"s3":{"encoderConfigurationArns":["arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef"], \ "storageConfigurationArn":"arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/FefABabCDcdE"}}]' \ --layout pip='{featuredParticipantAttribute="abcdefg"}'

输出:

{ "composition": { "arn": "arn:aws:ivs:ap-northeast-1:123456789012:composition/wxyzWXYZpqrs", "destinations": [ { "configuration": { "channel": { "channelArn": "arn:aws:ivs:ap-northeast-1:123456789012:channel/abcABCdefDEg", "encoderConfigurationArn": "arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef" }, "name": "" }, "id": "AabBCcdDEefF", "state": "STARTING" }, { "configuration": { "name": "", "s3": { "encoderConfigurationArns": [ "arn:aws:ivs:arn:aws:ivs:ap-northeast-1:123456789012:encoder-configuration/ABabCDcdEFef" ], "recordingConfiguration": { "format": "HLS" }, "storageConfigurationArn": "arn:arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/FefABabCDcdE" } }, "detail": { "s3": { "recordingPrefix": "aBcDeFgHhGfE/AbCdEfGhHgFe/GHFabcgefABC/composite" } }, "id": "GHFabcgefABC", "state": "STARTING" } ], "layout": { "pip": { "featuredParticipantAttribute": "abcdefg", "gridGap": 0, "omitStoppedVideo": false, "pipBehavior": "STATIC", "pipOffset": 0, "pipParticipantAttribute": "", "pipPosition": "BOTTOM_RIGHT", "videoFillMode": "COVER" } }, "stageArn": "arn:aws:ivs:ap-northeast-1:123456789012:stage/defgABCDabcd", "startTime": "2023-10-16T23:24:00+00:00", "state": "STARTING", "tags": {} } }

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的合成录制(实时直播功能)

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 StartComposition

以下代码示例演示了如何使用 stop-composition

AWS CLI

停止合成

以下 stop-composition 命令停止由给定 ARN(Amazon 资源名称)指定的合成。

aws ivs-realtime stop-composition \ --arn "arn:aws:ivs:ap-northeast-1:123456789012:composition/abcdABCDefgh"

此命令不生成任何输出。

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的在 Amazon IVS Stream 中启用多个主播

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 StopComposition

以下代码示例演示了如何使用 update-stage

AWS CLI

更新阶段配置

以下 update-stage 示例更新指定阶段 ARN 的阶段,以更新阶段名称并配置单个参与者录制。

aws ivs-realtime update-stage \ --arn arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh \ --auto-participant-recording-configuration '{"mediaTypes": ["AUDIO_VIDEO"],"storageConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:storage-configuration/abcdABCDefgh"}' \ --name stage1a

输出:

{ "stage": { "arn": "arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh", "autoParticipantRecordingConfiguration": { "mediaTypes": [ "AUDIO_VIDEO" ], "storageConfigurationArn": "arn:aws:ivs:us-west-2:123456789012:storage-configuration/abcdABCDefgh", }, "endpoints": { "events": "wss://global.events.live-video.net", "whip": "https://1a2b3c4d5e6f.global-bm.whip.live-video.net" }, "name": "stage1a", "tags": {} } }

有关更多信息,请参阅《Amazon Interactive Video Service 用户指南》中的在 Amazon IVS Stream 中启用多个主播

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UpdateStage