このドキュメントはバージョン 1 の AWS CLI のみを対象としています。AWS CLI のバージョン 2 に関連するドキュメントについては、バージョン 2 用ユーザーガイドを参照してください。
AWS CLI を使用した MediaLive の例
次のコード例は、MediaLive で AWS Command Line Interface を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。
アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。
各例には、完全なソースコードへのリンクが含まれており、そこからコードの設定方法と実行方法に関する手順を確認できます。
トピック
アクション
次の例は、create-channel
を使用する方法を説明しています。
- AWS CLI
-
チャネルを作成するには
次の
create-channel
の例では、指定したいパラメータを含む JSON ファイルを渡すことでチャネルを作成します。この例のチャネルは、ビデオ、オーディオ、埋め込みキャプションを含むソースに接続する HLS PULL 入力を取り込みます。チャネルは、Akamai サーバーを送信先として 1 つの HLS 出力グループを作成します。出力グループには、H.265 ビデオと AAC オーディオ用の出力と、Web-VTT キャプション用の出力の 2 つの出力があります (英語のみ)。
このサンプルチャネルの JSON には、HLS PULL 入力を使用し、Akamai を宛先とする HLS 出力グループを生成するチャネルに必要な最小パラメータが含まれています。JSON には、次の主要なセクションが含まれています。
InputAttachments
。オーディオのソースを 1 つ、キャプションのソースを 1 つ指定します。ビデオセレクタを指定しません。つまり、MediaLive はソースで見つけた最初のビデオを抽出します。Destinations
には、このチャネル内の単一の出力グループの 2 つの IP アドレス (URL) が含まれます。これらのアドレスにはパスワードが必要です。EncoderSettings
にはサブセクションが含まれています。AudioDescriptions
は、チャネルに InputAttachments のソースを使用する 1 つのオーディオ出力アセットが含まれ、AAC 形式でオーディオを生成することを指定します。CaptionDescriptions
は、チャネルに InputAttachments のソースを使用する 1 つのキャプション出力アセットが含まれ、Web-VTT 形式でキャプションを生成することを指定します。VideoDescriptions
は、チャネルに 1 つのビデオ出力アセットが含まれていることを指定します。OutputGroups
は、出力グループを指定します。この例では、Akamai
という名前の 1 つのグループがあります。接続は 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 のアドレスが表示されます。OutputGroups
、Outputs
。これらは、含めなかったけれどもこのチャネルに関連するものなど、出力グループと出力のすべてのパラメータを表示します。パラメータは空 (このチャネル設定でパラメータまたは機能が無効化されていることを示す場合) であるか、適用されるデフォルト値を示す場合があります。LogLevel
はデフォルト (DISABLED) に設定されます。Tags
はデフォルト (null) に設定されます。PipelinesRunningCount
およびState
はチャネルの現在のステータスを表示します。詳細については、「AWS Elemental MediaLive ユーザーガイド」の「ゼロからのチャネルの作成」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「CreateChannel
」を参照してください。
-
次の例は、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
は、MediaConnect タイプの入力でのみ使用されるためにこの例では空です。SecurityGroups
は、PUSH 入力でのみ使用されるためにこの例では空です。この入力のState
。Tags
は空です (このパラメータのデフォルト)。詳細については、「AWS Elemental MediaLive ユーザーガイド」の「インプットの作成」を参照してください。
-
API の詳細については、「AWS CLI コマンドリファレンス」の「CreateInput
」を参照してください。
-