

Doc AWS SDK Examples GitHub リポジトリには、他にも SDK の例があります。 [AWS](https://github.com/awsdocs/aws-doc-sdk-examples)

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

# を使用した MediaLive の例 AWS CLI
<a name="cli_2_medialive_code_examples"></a>

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

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

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

**Topics**
+ [アクション](#actions)

## アクション
<a name="actions"></a>

### `create-channel`
<a name="medialive_CreateChannel_cli_2_topic"></a>

次のコード例は、`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 User Guide*」の「[Creating a Channel from Scratch](https://docs.aws.amazon.com/medialive/latest/ug/creating-channel-scratch.html)」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[CreateChannel](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/medialive/create-channel.html)」を参照してください。

### `create-input`
<a name="medialive_CreateInput_cli_2_topic"></a>

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

**AWS CLI**  
**入力を作成するには**  
次の `create-input` の例では、このタイプの入力に適用されるパラメータを含む JSON ファイルで渡して `HLS PULL` 入力を作成します。この入力例の 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 User Guide*」の「[Creating an Input](https://docs.aws.amazon.com/medialive/latest/ug/create-input.html)」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[CreateInput](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/medialive/create-input.html)」を参照してください。