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-channel
esempio 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. VTTVideoDescriptions
, 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_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, 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.
ARN
per 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).PipelinesRunningCount
eState
mostra lo stato attuale del canale.Per ulteriori informazioni, consulta Creazione di un canale da zero nella Guida MediaLive utente di AWS Elemental.
-
Per API i dettagli, consultate CreateChannel AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarecreate-input
.
- AWS CLI
-
Per creare un input
L'
create-input
esempio seguente crea unHLS 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.
Arn
per 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.Id
per 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.State
di 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.
-
Per API i dettagli, consultate CreateInput AWS CLI
Command Reference.
-