Amazon IVS Real-Time Streaming examples using AWS CLI - AWS Command Line Interface

Amazon IVS Real-Time Streaming examples using AWS CLI

次のコード例は、Amazon IVS Real-Time Streaming で AWS Command Line Interface を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。

アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。

各例には完全なソースコードへのリンクが含まれており、コードの設定方法と実行方法に関する手順を確認できます。

トピック

アクション

次のコード例では、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 ストリームで複数ホストを有効にする」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateEncoderConfiguration」を参照してください。

次のコード例では、create-ingest-configuration を使用する方法を示しています。

AWS CLI

取り込み設定を作成するには

次の create-ingest-configuration の例では、RTMPS プロトコルを使用して取り込み設定を作成します。

aws ivs-realtime create-ingest-configuration \ --name ingest1 \ --ingest-protocol rtmps

出力:

{ "ingestConfiguration": { "name": "ingest1", "arn": "arn:aws:ivs:us-west-2:123456789012:ingest-configuration/AbCdEfGh1234", "ingestProtocol": "RTMPS", "streamKey": "rt_123456789012_us-west-2_AbCdEfGh1234_abcd1234efgh5678ijkl9012MNOP34", "stageArn": "", "participantId": "xyZ654abC321", "state": "INACTIVE", "userId": "", "tags": {} } }

詳細については、Amazon Interactive Video Service ユーザーガイドの「IVS ストリーム取り込み | リアルタイムストリーミング」を参照してください。

  • API の詳細については、AWS CLI コマンドリファレンスの「CreateIngestConfiguration」を参照してください。

次のコード例では、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 ストリームで複数ホストを有効にする」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateParticipantToken」を参照してください。

次のコード例では、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", "rtmp": "rtmp://9x0y8z7s6t5u.global-contribute-staging.live-video.net/app/", "rtmps": "rtmps://9x0y8z7s6t5u.global-contribute-staging.live-video.net:443/app/", "whip": "https://1a2b3c4d5e6f.global-bm.whip.live-video.net" }, "name": "stage1", "tags": {} } }

詳細については、「Amazon Interactive Video Service ユーザーガイド」の「Amazon IVS ストリームで複数ホストを有効にする」を参照してください。

例 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", "rtmp": "rtmp://9x0y8z7s6t5u.global-contribute-staging.live-video.net/app/", "rtmps": "rtmps://9x0y8z7s6t5u.global-contribute-staging.live-video.net:443/app/", "whip": "https://1a2b3c4d5e6f.global-bm.whip.live-video.net" }, "name": "stage1", "tags": {} } }

詳細については、「Amazon Interactive Video Service ユーザーガイド」の「Amazon IVS ストリームで複数ホストを有効にする」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateStage」を参照してください。

次のコード例では、create-storage-configuration を使用する方法を示しています。

AWS CLI

コンポジションストレージ設定を作成するには

次の create-storage-configuration の例では、指定されたプロパティを使用してコンポジションストレージ設定を作成します。

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

出力:

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

詳細については、「Amazon Interactive Video Service ユーザーガイド」の「Amazon IVS ストリームで複数ホストを有効にする」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateStorageConfiguration」を参照してください。

次のコード例では、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 ストリームで複数ホストを有効にする」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteEncoderConfiguration」を参照してください。

次のコード例では、delete-ingest-configuration を使用する方法を示しています。

AWS CLI

例 1: 非アクティブな取り込み設定を削除するには

次の delete-ingest-configuration の例では、指定した取り込み設定 ARN (Amazon リソースネーム) の非アクティブな取り込み設定を削除します。

aws ivs-realtime delete-ingest-configuration \ --arn arn:aws:ivs:us-west-2:123456789012:ingest-configuration/AbCdEfGh1234

このコマンドでは何も出力されません。

詳細については、Amazon Interactive Video Service ユーザーガイドの「IVS ストリーム取り込み | リアルタイムストリーミング」を参照してください。

例 2: アクティブな取り込み設定を強制的に削除するには

次の delete-ingest-configuration の例では、指定した取り込み設定 ARN (Amazon リソースネーム) のアクティブな取り込み設定を強制的に削除します。

aws ivs-realtime delete-ingest-configuration \ --arn arn:aws:ivs:us-west-2:123456789012:ingest-configuration/AbCdEfGh1234 \ --force

このコマンドでは何も出力されません。

詳細については、Amazon Interactive Video Service ユーザーガイドの「IVS ストリーム取り込み | リアルタイムストリーミング」を参照してください。

  • API の詳細については、AWS CLI コマンドリファレンスの「DeleteIngestConfiguration」を参照してください。

次のコード例では、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 Real-Time Streaming ユーザーガイド」の「参加者トークンを配布する」を参照してください。

  • 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 ストリームで複数ホストを有効にする」を参照してください。

  • 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 ストリームで複数ホストを有効にする」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteStorageConfiguration」を参照してください。

次のコード例では、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 ストリームで複数ホストを有効にする」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DisconnectParticipant」を参照してください。

次のコード例では、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 ユーザーガイド」の「Composite Recording (リアルタイムストリーミング)」を参照してください。

例 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 ユーザーガイド」の「Composite Recording (リアルタイムストリーミング)」を参照してください。

  • 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 ストリームで複数ホストを有効にする」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetEncoderConfiguration」を参照してください。

次のコード例では、get-ingest-configuration を使用する方法を示しています。

AWS CLI

取り込み設定情報を取得するには

次の get-ingest-configuration の例では、指定した取り込み設定 ARN (Amazon リソースネーム) の取り込み設定を取得します。

aws ivs-realtime get-ingest-configuration \ --arn arn:aws:ivs:us-west-2:123456789012:ingest-configuration/AbCdEfGh1234

出力:

{ "ingestConfiguration": { "name": "ingest1", "arn": "arn:aws:ivs:us-west-2:123456789012:ingest-configuration/AbCdEfGh1234", "ingestProtocol": "RTMPS", "streamKey": "rt_123456789012_us-west-2_AbCdEfGh1234_abcd1234efgh5678ijkl9012MNOP34", "stageArn": "", "participantId": "xyZ654abC321", "state": "INACTIVE", "userId": "", "tags": {} } }

詳細については、Amazon Interactive Video Service ユーザーガイドの「IVS ストリーム取り込み | リアルタイムストリーミング」を参照してください。

  • API の詳細については、AWS CLI コマンドリファレンスの「GetIngestConfiguration」を参照してください。

次のコード例では、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 ストリームで複数ホストを有効にする」を参照してください。

  • 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 Real-Time Streaming ユーザーガイド」の「参加者トークンを配布する」を参照してください。

  • 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 ストリームで複数ホストを有効にする」を参照してください。

  • 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", "rtmp": "rtmp://9x0y8z7s6t5u.global-contribute-staging.live-video.net/app/", "rtmps": "rtmps://9x0y8z7s6t5u.global-contribute-staging.live-video.net:443/app/", "whip": "https://1a2b3c4d5e6f.global-bm.whip.live-video.net" }, "name": "test", "tags": {} } }

詳細については、「Amazon Interactive Video Service ユーザーガイド」の「Amazon IVS ストリームで複数ホストを有効にする」を参照してください。

  • 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": "amzn-s3-demo-bucket" }, "tags": {} } }

詳細については、「Amazon Interactive Video Service ユーザーガイド」の「Amazon IVS ストリームで複数ホストを有効にする」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetStorageConfiguration」を参照してください。

次のコード例では、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 Real-Time Streaming ユーザーガイド」の「参加者トークンを配布する」を参照してください。

  • 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 ストリームで複数ホストを有効にする」を参照してください。

  • 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 ストリームで複数ホストを有効にする」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListEncoderConfigurations」を参照してください。

次のコード例では、list-ingest-configurations を使用する方法を示しています。

AWS CLI

すべての取り込み設定に関する概要情報を取得するには

次の list-ingest-configurations の例では、API リクエストが処理される AWS リージョン内の AWS アカウントのすべての取り込み設定を一覧表示します。

aws ivs-realtime list-ingest-configurations

出力:

{ "ingestConfigurations": [ { "name": "", "arn": "arn:aws:ivs:us-west-2:123456789012:ingest-configuration/XYZuvwSt4567", "ingestProtocol": "RTMPS", "stageArn": "arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh", "participnatId": "abC789Xyz456", "state": "INACTIVE" "userId": "", } ] }

詳細については、Amazon Interactive Video Service ユーザーガイドの「IVS ストリーム取り込み | リアルタイムストリーミング」を参照してください。

  • API の詳細については、AWS CLI コマンドリファレンスの「ListIngestConfigurations」を参照してください。

次のコード例では、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 ストリームで複数ホストを有効にする」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListParticipantEvents」を参照してください。

次のコード例では、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 ストリームで複数ホストを有効にする」を参照してください。

  • 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 Real-Time Streaming ユーザーガイド」の「参加者トークンを配布する」を参照してください。

  • 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 ストリームで複数ホストを有効にする」を参照してください。

  • 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 ストリームで複数ホストを有効にする」を参照してください。

  • 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": "amzn-s3-demo-bucket-1" }, "tags": {} }, { "arn": "arn:aws:ivs:ap-northeast-1:123456789012:storage-configuration/ABCefgEFGabc", "name": "test-sc-2", "s3": { "bucketName": "amzn-s3-demo-bucket-2" }, "tags": {} } ] }

詳細については、「Amazon Interactive Video Service ユーザーガイド」の「Amazon IVS ストリームで複数ホストを有効にする」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListStorageConfigurations」を参照してください。

次のコード例では、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 ユーザーガイド」の「Composite Recording (リアルタイムストリーミング)」を参照してください。

例 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 ユーザーガイド」の「Composite Recording (リアルタイムストリーミング)」を参照してください。

  • 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 ストリームで複数ホストを有効にする」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「StopComposition」を参照してください。

次のコード例では、update-ingest-configuration を使用する方法を示しています。

AWS CLI

取り込み設定を更新するには

次の update-inegst-configuration の例では、取り込み設定を更新してステージにアタッチします。

aws ivs-realtime update-ingest-configuration \ --arn arn:aws:ivs:us-west-2:123456789012:ingest-configuration/AbCdEfGh1234 \ --stage-arn arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh

出力:

{ "ingestConfiguration": { "name": "ingest1", "arn": "arn:aws:ivs:us-west-2:123456789012:ingest-configuration/AbCdEfGh1234", "ingestProtocol": "RTMPS", "streamKey": "rt_123456789012_us-west-2_AbCdEfGh1234_abcd1234efgh5678ijkl9012MNOP34", "stageArn": "arn:aws:ivs:us-west-2:123456789012:stage/abcdABCDefgh", "participantId": "xyZ654abC321", "state": "INACTIVE", "userId": "", "tags": {} } }

詳細については、Amazon Interactive Video Service ユーザーガイドの「IVS ストリーム取り込み | リアルタイムストリーミング」を参照してください。

  • API の詳細については、AWS CLI コマンドリファレンスの「UpdateIngestConfiguration」を参照してください。

次のコード例では、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", "rtmp": "rtmp://9x0y8z7s6t5u.global-contribute-staging.live-video.net/app/", "rtmps": "rtmps://9x0y8z7s6t5u.global-contribute-staging.live-video.net:443/app/", "whip": "https://1a2b3c4d5e6f.global-bm.whip.live-video.net" }, "name": "stage1a", "tags": {} } }

詳細については、「Amazon Interactive Video Service ユーザーガイド」の「Amazon IVS ストリームで複数ホストを有効にする」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateStage」を参照してください。