Esta documentação é somente para a versão 1 da AWS CLI. Para obter a documentação relacionada à AWS CLI versão 2, consulte o Guia do usuário da versão 2.
Exemplos do MediaLive usando a AWS CLI
Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando a AWS Command Line Interface com o MediaLive.
Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar funções de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.
Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.
Tópicos
Ações
O código de exemplo a seguir mostra como usar create-channel
.
- AWS CLI
-
Para criar um canal
O exemplo
create-channel
a seguir cria um canal transmitindo um arquivo JSON que contenha os parâmetros que serão especificados.O canal neste exemplo ingere uma entrada HLS PULL que se conecta a uma fonte que contém vídeo, áudio e legendas incorporadas. O canal cria um grupo de saída HLS com um servidor Akamai como destino. O grupo de saída contém duas saídas: uma para vídeo H.265 e áudio AAC e outra para legendas Web-VTT, somente em inglês.
O JSON desse canal de exemplo inclui os parâmetros mínimos necessários para um canal que usa uma entrada HLS PULL e que produz um grupo de saída HLS com a Akamai como destino. O JSON contém as seguintes seções principais:
InputAttachments
, que especifica uma fonte para o áudio e uma fonte para as legendas. Ele não especifica um seletor de vídeo, o que significa que o MediaLive extrai o primeiro vídeo encontrado na fonte.Destinations
, que contém os dois endereços IP (URLs) para o único grupo de saída nesse canal. Esses endereços exigem senhas.EncoderSettings
, que contém subseções.AudioDescriptions
, que especifica que o canal contém um ativo de saída de áudio, que usa a fonte de InputAttachments e produz áudio no formato AAC.CaptionDescriptions
, que especifica que o canal contém um ativo de saída de legendas, que usa a fonte de InputAttachments e produz legendas no formato Web-VTT.VideoDescriptions
, que especifica que o canal contém um ativo de saída de vídeo, com a resolução especificada.OutputGroups
, que especifica os grupos de saída. Neste exemplo, o grupo de recursos é chamado deAkamai
. A conexão é feita usando HLS PUT. O grupo de saída contém duas saídas. Uma saída é para o ativo de vídeo (chamadoVideo_high
) e o ativo de áudio (chamadoAudio_EN
). Uma saída é para o ativo de legendas (chamadoWebVTT_EN
).Neste exemplo, alguns dos parâmetros não contêm valor ou contêm parâmetros vazios aninhados. Por exemplo, OutputSettings para a saída
Video_and_audio
contém vários parâmetros aninhados que terminam em um parâmetro M3u8Settings vazio. Esse parâmetro deve ser incluído, mas é possível omitir um, vários ou todos os seus filhos, o que significa que o filho assumirá seu valor padrão ou será nulo.Todos os parâmetros que se aplicam a esse canal de exemplo, mas que não estão especificados nesse arquivo, assumirão o valor padrão, serão definidos como nulos ou terão um valor exclusivo gerado pelo MediaLive.
aws medialive create-channel \ --cli-input-json
file://channel-in-hls-out-hls-akamai.json
Conteúdo de
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" } } }
Saída:
A saída repete o conteúdo do arquivo JSON, além dos valores a seguir. Todos os parâmetros são ordenados alfabeticamente.
ARN
para o canal. A última parte do ARN é o ID exclusivo do canal.EgressEndpoints
está em branco neste canal de exemplo porque é usado somente para entradas PUSH. Quando aplicável, mostra os endereços no MediaLive para os quais o conteúdo é enviado.OutputGroups
,Outputs
. Mostram todos os parâmetros do grupo de saída e das saídas, incluindo os que não foram incluídos, mas que são relevantes para esse canal. Os parâmetros podem estar vazios (talvez indicando que o parâmetro ou atributo está desativado nessa configuração de canal) ou podem mostrar o valor padrão que será aplicado.LogLevel
está definido como padrão (DESATIVADO).Tags
é definido como padrão (nulo).PipelinesRunningCount
eState
mostram o status atual do canal.Para obter ajuda, consulte Criar um canal a partir do zero no Guia do usuário do AWS Elemental MediaLive.
-
Para ver detalhes da API, consulte CreateChannel
na Referência de comandos da AWS CLI.
-
O código de exemplo a seguir mostra como usar create-input
.
- AWS CLI
-
Para criar uma entrada
O exemplo
create-input
a seguir cria uma entradaHLS PULL
passando um arquivo JSON que contém os parâmetros que se aplicam a esse tipo de entrada. O JSON desse exemplo de entrada especifica duas fontes (endereços) para a entrada, a fim de oferecer suporte à redundância na ingestão. Esses endereços exigem senhas.aws medialive create-input \ --cli-input-json
file://input-hls-pull-news.json
Conteúdo de
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" }
Saída:
A saída repete o conteúdo do arquivo JSON, além dos valores a seguir. Todos os parâmetros são ordenados alfabeticamente.
Arn
para a entrada. A última parte do ARN é o ID de entrada exclusivoAttached Channels
, que é sempre vazio para uma entrada recém-criadaDestinations
, que está vazio neste exemplo porque é usado somente com uma entrada PUSHId
para a entrada, o mesmo que o ID no ARNMediaConnectFlows
, que está vazio neste exemplo porque é usado somente com uma entrada do tipo MediaConnectSecurityGroups
, que está vazio neste exemplo porque é usado somente com uma entrada PUSHState
é o estado desta entradaTags
, que está vazio (o padrão para esse parâmetro).Para obter mais informações, consulte Criar uma entrada no Guia do usuário do AWS Elemental MediaLive.
-
Para ver detalhes da API, consulte CreateInput
na Referência de comandos da AWS CLI.
-