MediaLive を使用した の例 AWS CLI - AWS SDK コード例

Doc AWS SDK Examples リポジトリには、他にも SDK の例があります。 AWS GitHub

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

MediaLive を使用した の例 AWS CLI

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

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

「シナリオ」は、同じサービス内で複数の関数を呼び出して、特定のタスクを実行する方法を示すコード例です。

各例には、 へのリンクが含まれています。このリンクには GitHub、コンテキスト内でコードをセットアップして実行する方法の手順が記載されています。

トピック

アクション

次の例は、create-channel を使用する方法を説明しています。

AWS CLI

チャンネルを作成するには

次のcreate-channel例では、指定するパラメータを含む JSON ファイルを渡してチャンネルを作成します。

この例のチャンネルは、ビデオ、オーディオ、埋め込み字幕を含むソースに接続する HLS PULL 入力を取り込みます。チャンネルは、Akamai サーバーを送信先とする 1 つの HLS 出力グループを作成します。出力グループには 2 つの出力が含まれます。1 つは H.265 ビデオおよび AAC オーディオ用、もう 1 つは Web-VTT 字幕用で、英語のみです。

このサンプルチャンネルの JSON には、HLS PULL 入力を使用し、Akamai を送信先とする HLS 出力グループを生成するチャンネルに最低限必要なパラメータが含まれています。JSON には、以下の主要なセクションが含まれています。

InputAttachments。オーディオに 1 つのソース、字幕に 1 つのソースを指定します。ビデオセレクタを指定しません。つまり、 はソースで見つかった最初のビデオを MediaLive 抽出します。このビデオにはDestinations、このチャンネル内の 1 つの出力グループの 2 つの IP アドレス (URLs ) が含まれます。これらのアドレスにはEncoderSettings、 からのソースを使用する 1 つのオーディオ出力アセットを含むチャンネルAudioDescriptionsを指定し InputAttachments、AAC 形式でオーディオを生成する パスワードが必要です。これはCaptionDescriptions、 からのソースを使用する 1 つの字幕出力アセットを含むチャンネルを指定し InputAttachments、Web-VTT 形式で字幕を生成します。 チャネルにはVideoDescriptions、指定された解像度を持つ 1 つのビデオ出力アセットを含むことを指定します。OutputGroupsこの例では、 という名前のグループが 1 つありますAkamai。接続は HLS PUT を使用して行われます。出力グループには 2 つの出力が含まれます。1 つの出力は、ビデオアセット ( という名前Video_high) とオーディオアセット ( という名前) 用ですAudio_EN。1 つの出力は字幕アセット ( という名前) 用ですWebVTT_EN

この例では、一部のパラメータに値が含まれていないか、ネストされた空のパラメータが含まれています。例えば、Video_and_audio出力 OutputSettings には、空のパラメータ M3u8Settings で終わるいくつかのネストされたパラメータが含まれています。このパラメータを含める必要がありますが、1 つ、複数、またはすべての子を省略できます。つまり、子はデフォルト値を取るか、null になります。

このサンプルチャネルに適用されるが、このファイルで指定されていないパラメータはすべて、デフォルト値を使用するか、null に設定するか、 によって生成された一意の値を使用します MediaLive。

aws medialive create-channel \ --cli-input-json file://channel-in-hls-out-hls-akamai.json

channel-in-hls-out-hls-akamai.json の内容:

{ "Name": "News_West", "RoleArn": "arn:aws:iam::111122223333:role/MediaLiveAccessRole", "InputAttachments": [ { "InputAttachmentName": "local_news", "InputId": "1234567", "InputSettings": { "AudioSelectors": [ { "Name": "English-Audio", "SelectorSettings": { "AudioLanguageSelection": { "LanguageCode": "EN" } } } ], "CaptionSelectors": [ { "LanguageCode": "ENE", "Name": "English_embedded" } ] } } ], "Destinations": [ { "Id": "akamai-server-west", "Settings": [ { "PasswordParam": "/medialive/examplecorp1", "Url": "http://203.0.113.55/news/news_west", "Username": "examplecorp" }, { "PasswordParam": "/medialive/examplecorp2", "Url": "http://203.0.113.82/news/news_west", "Username": "examplecorp" } ] } ], "EncoderSettings": { "AudioDescriptions": [ { "AudioSelectorName": "English-Audio", "CodecSettings": { "AacSettings": {} }, "Name": "Audio_EN" } ], "CaptionDescriptions": [ { "CaptionSelectorName": "English_embedded", "DestinationSettings": { "WebvttDestinationSettings": {} }, "Name": "WebVTT_EN" } ], "VideoDescriptions": [ { "Height": 720, "Name": "Video_high", "Width": 1280 } ], "OutputGroups": [ { "Name": "Akamai", "OutputGroupSettings": { "HlsGroupSettings": { "Destination": { "DestinationRefId": "akamai-server-west" }, "HlsCdnSettings": { "HlsBasicPutSettings": {} } } }, "Outputs": [ { "AudioDescriptionNames": [ "Audio_EN" ], "OutputName": "Video_and_audio", "OutputSettings": { "HlsOutputSettings": { "HlsSettings": { "StandardHlsSettings": { "M3u8Settings": {} } }, "NameModifier": "_1" } }, "VideoDescriptionName": "Video_high" }, { "CaptionDescriptionNames": [ "WebVTT_EN" ], "OutputName": "Captions-WebVTT", "OutputSettings": { "HlsOutputSettings": { "HlsSettings": { "StandardHlsSettings": { "M3u8Settings": {} } }, "NameModifier": "_2" } } } ] } ], "TimecodeConfig": { "Source": "EMBEDDED" } } }

出力:

出力は、JSON ファイルの内容と、次の値を繰り返し返します。すべてのパラメータはアルファベット順に並べられます。

ARN チャネルの 。ARN の最後の部分は一意のチャネル ID です。EgressEndpointsこのサンプルチャンネルでは PUSH 入力にのみ使用されるため、 は空白です。適用すると、 MediaLive そのコンテンツ上のアドレスがプッシュされることを示します。OutputGroupsOutputs。これらには、含めなかったが、このチャンネルに関連するものを含め、出力グループと出力のすべてのパラメータが表示されます。パラメータは空 (このチャネル設定でパラメータまたは機能が無効になっていることを示す場合) であるか、 が適用されるデフォルト値を表示する場合があります。LogLevel はデフォルト (DISABLED) に設定されます。Tags はデフォルト (null)PipelinesRunningCount に設定されます。 はチャネルの現在のステータスStateを示します。

詳細については、「 AWS Elemental MediaLive ユーザーガイド」の「Scratch からのチャネルの作成」を参照してください。

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

次の例は、create-input を使用する方法を説明しています。

AWS CLI

入力を作成するには

次のcreate-input例では、このタイプのHLS PULL入力に適用されるパラメータを含む JSON ファイルを渡して入力を作成します。この入力例の JSON は、取り込みの冗長性をサポートするために、入力に 2 つのソース (アドレス) を指定します。これらのアドレスにはパスワードが必要です。

aws medialive create-input \ --cli-input-json file://input-hls-pull-news.json

input-hls-pull-news.json の内容:

{ "Name": "local_news", "RequestId": "cli000059", "Sources": [ { "Url": "https://203.0.113.13/newschannel/anytownusa.m3u8", "Username": "examplecorp", "PasswordParam": "/medialive/examplecorp1" }, { "Url": "https://198.51.100.54/fillervideos/oceanwaves.mp4", "Username": "examplecorp", "PasswordParam": "examplecorp2" } ], "Type": "URL_PULL" }

出力:

出力は、JSON ファイルの内容と、次の値を繰り返し返します。すべてのパラメータはアルファベット順に並べられます。

Arn 入力の 。ARN の最後の部分は一意の入力 ID です。これはAttached Channels、新しく作成された入力では常に空です。この例では空です。これはDestinations、PUSH 入力でのみ使用されるためです。Idこの例では、ARN の ID と同じです。MediaConnectFlowsこれはSecurityGroups、タイプ の入力でのみ使用されるためです。この例では空です MediaConnect。この入力の PUSH 入力でのみ使用されるためです。 Tagsは空です (このパラメータのデフォルト)。State

詳細については、「 AWS Elemental MediaLive ユーザーガイド」の「入力の作成」を参照してください。

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