

Sono disponibili altri esempi AWS SDK nel repository [AWS Doc SDK](https://github.com/awsdocs/aws-doc-sdk-examples) Examples. GitHub 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# MediaLive esempi che utilizzano AWS CLI
<a name="cli_2_medialive_code_examples"></a>

I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface with MediaLive.

Le *azioni* sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le istruzioni su come configurare ed eseguire il codice nel contesto.

**Topics**
+ [Azioni](#actions)

## Azioni
<a name="actions"></a>

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

Il seguente esempio di codice mostra come utilizzare`create-channel`.

**AWS CLI**  
**Come creare un canale**  
L’esempio `create-channel` seguente crea un canale passando un file JSON contenente i parametri da specificare.  
Il canale in questo esempio inserisce un ingresso HLS PULL che si collega a una sorgente contenente video, audio e didascalie incorporate. Il canale crea un gruppo di output HLS con un server Akamai come destinazione. Il gruppo di output contiene due uscite: una per il video H.265 e l’audio AAC e una per i sottotitoli Web-VTT, solo in inglese.  
Il codice JSON per questo canale di esempio include i parametri minimi richiesti per un canale che utilizza un input HLS PULL e che produce un gruppo di output HLS con Akamai come destinazione. Il JSON contiene le seguenti sezioni principali:  
`InputAttachments`, che specifica una fonte per l’audio e una fonte per i sottotitoli. Non specifica un selettore video, il che significa che MediaLive estrae il primo video che trova nella sorgente. `Destinations`, che contiene i due indirizzi IP (URLs) per il singolo gruppo di output in questo canale. Questi indirizzi richiedono una password. `EncoderSettings`, che contiene sottosezioni. `AudioDescriptions`, che specifica che il canale contiene una risorsa di uscita audio, che utilizza la sorgente di InputAttachments e produce audio in formato AAC. `CaptionDescriptions`, che specifica che il canale contiene una risorsa di output per i sottotitoli, che utilizza la fonte da e produce sottotitoli in formato InputAttachments Web-VTT. `VideoDescriptions`, che specifica che il canale contiene una risorsa di uscita video con la risoluzione specificata. `OutputGroups`, che specifica i gruppi di output. In questo esempio è presente un solo gruppo denominato `Akamai`. La connessione viene effettuata utilizzando HLS PUT. Il gruppo di output contiene due output. Un’uscita è per un asset video (denominato `Video_high`) e l’asset audio (denominato`Audio_EN`). Un output è per l’asset didascalie (denominato `WebVTT_EN`).  
In questo esempio, alcuni parametri non contengono alcun valore o contengono parametri vuoti annidati. Ad esempio, OutputSettings l'`Video_and_audio`output contiene diversi parametri annidati che terminano con un parametro vuoto M3U8Settings. Questo parametro deve essere incluso, ma è possibile omettere uno, più o tutti i relativi elementi secondari, e ciò significa che il parametro secondario assumerà il valore predefinito o sarà null.  
Tutti i parametri che si applicano a questo canale di esempio ma che non sono specificati in questo file assumeranno il valore predefinito, saranno impostati su null o assumeranno un valore univoco generato da. MediaLive  

```
aws medialive create-channel \
    --cli-input-json file://channel-in-hls-out-hls-akamai.json
```
Contenuto di `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"
        }
    }
}
```
**Output:**  
L’output ripete il contenuto del file JSON, più i seguenti valori. Tutti i parametri sono elencati in ordine alfabetico.  
`ARN` per il canale. L’ultima parte dell’ARN è l’ID. del canale univoco.`EgressEndpoints` è vuoto in questo canale di esempio perché utilizzato solo per gli ingressi PUSH. Quando viene applicato, mostra gli indirizzi del contenuto a MediaLive cui viene inviato il push. `OutputGroups`,`Outputs`. Questi mostrano tutti i parametri per il gruppo di output e gli output, compresi quelli non inclusi ma che sono rilevanti per questo canale. I parametri potrebbero essere vuoti (ad esempio indicando che il parametro o la funzionalità sono disabilitati in questa configurazione del canale) o potrebbero mostrare il valore predefinito che verrà applicato.`LogLevel` è impostato sul valore predefinito (DISABLED).`Tags` è impostato sul valore predefinito (null).`PipelinesRunningCount` e `State` mostrano lo stato attuale del canale.  
Per ulteriori informazioni, consulta [Creazione di un canale da zero](https://docs.aws.amazon.com/medialive/latest/ug/creating-channel-scratch.html) nella *Guida per l' MediaLive utente di AWS Elemental*.  
+  Per i dettagli sull'API, consulta [CreateChannel AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/medialive/create-channel.html)*Command Reference.* 

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

Il seguente esempio di codice mostra come utilizzare`create-input`.

**AWS CLI**  
**Come creare un input**  
L’esempio `create-input` seguente crea un input `HLS PULL` passando un file JSON contenente i parametri applicabili a questo tipo di input. Il codice JSON per questo esempio di input specifica due fonti (indirizzi) per l’input, in modo da supportare la ridondanza nell’inserimento. Questi indirizzi richiedono una password.  

```
aws medialive create-input \
    --cli-input-json file://input-hls-pull-news.json
```
Contenuto di `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"
}
```
**Output:**  
L’output ripete il contenuto del file JSON, più i seguenti valori. Tutti i parametri sono elencati in ordine alfabetico.  
`Arn` per l’input. L'ultima parte dell'ARN è l'ID di input univoco. `Attached Channels`, che è sempre vuoto per un input appena creato. `Destinations`, che in questo esempio è vuoto perché viene utilizzato solo con un input PUSH. `Id`per l'input, lo stesso dell'ID nell'ARN. `MediaConnectFlows`, che in questo esempio è vuoto perché viene utilizzato solo con un input di tipo MediaConnect. `SecurityGroups`, che in questo esempio è vuoto perché viene utilizzato solo con un input PUSH. `State`di questo input. `Tags`, che è vuoto (impostazione predefinita per questo parametro).  
Per ulteriori informazioni, consulta [Creazione di un input](https://docs.aws.amazon.com/medialive/latest/ug/create-input.html) nella *Guida MediaLive utente di AWS Elemental*.  
+  Per i dettagli sull'API, consulta [CreateInput AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/medialive/create-input.html)*Command Reference.* 