MediaLive esempi utilizzando AWS CLI - AWS Command Line Interface

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 utilizzando AWS CLI

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

Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Mentre le azioni mostrano come richiamare le singole funzioni di servizio, è possibile visualizzare le azioni nel loro contesto negli scenari correlati.

Ogni esempio include un collegamento al codice sorgente completo, in cui è possibile trovare istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come utilizzarecreate-channel.

AWS CLI

Per creare un canale

L'create-channelesempio seguente crea un canale passando un JSON file che contiene i parametri che desiderate specificare.

Il canale in questo esempio acquisisce un HLS PULL input che si collega a una sorgente che contiene video, audio e didascalie incorporate. Il canale crea un gruppo HLS di output con un server Akamai come destinazione. Il gruppo di output contiene due uscite: una per il video e l'AACaudio H.265 e una per i VTT sottotitoli Web, solo in inglese.

Il canale di questo JSON esempio include i parametri minimi richiesti per un canale che utilizza un HLS PULL input e che produce un gruppo di HLS output con Akamai come destinazione. JSONContiene 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 da InputAttachments e produce audio in AAC formato. CaptionDescriptions, che specifica che il canale contiene una risorsa di output per i sottotitoli, che utilizza la fonte da InputAttachments e produce sottotitoli in formato 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 esiste un gruppo denominatoAkamai. La connessione viene effettuata utilizzando HLSPUT. Il gruppo di output contiene due uscite. Un'uscita è per la risorsa video (denominataVideo_high) e la risorsa audio (denominataAudio_EN). Un output è per la risorsa didascalie (denominataWebVTT_EN).

In questo esempio, alcuni parametri non contengono alcun valore o contengono parametri vuoti annidati. Ad esempio, OutputSettings l'Video_and_audiooutput 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, il che significa che il parametro secondario assumerà il valore predefinito o sarà nullo.

Tutti i parametri che si applicano a questo canale di esempio ma 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 JSON file, più i seguenti valori. Tutti i parametri sono ordinati alfabeticamente.

ARNper il canale. L'ultima parte di ARN è l'ID univoco del canale. EgressEndpointsè vuoto in questo canale di esempio perché utilizzato solo per gli PUSH input. Quando viene applicato, mostra gli indirizzi a MediaLive cui viene inviato il contenuto. OutputGroups,Outputs. Questi mostrano tutti i parametri per il gruppo di output e le uscite, compresi quelli che non hai incluso 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). PipelinesRunningCounte State mostra lo stato attuale del canale.

Per ulteriori informazioni, consulta Creazione di un canale da zero nella Guida MediaLive utente di AWS Elemental.

Il seguente esempio di codice mostra come utilizzarecreate-input.

AWS CLI

Per creare un input

L'create-inputesempio seguente crea un HLS PULL input passando un JSON file che contiene i parametri che si applicano a questo tipo di input. L'input di questo JSON esempio specifica due fonti (indirizzi) per l'input, in modo da supportare la ridondanza nell'inserimento. Questi indirizzi richiedono 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 JSON file, più i seguenti valori. Tutti i parametri sono ordinati alfabeticamente.

Arnper l'input. L'ultima parte di 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 PUSH input. Idper l'input, lo stesso dell'ID inARN. 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 PUSH input. Statedi questo input. Tags, che è vuoto (impostazione predefinita per questo parametro).

Per ulteriori informazioni, consulta Creazione di un input nella Guida MediaLive utente di AWS Elemental.