Há mais exemplos de AWS SDK disponíveis no repositório AWS Doc SDK Examples
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
MediaLive exemplos usando AWS CLI
Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface with 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 perfis 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 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 e produz legendas InputAttachments 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 OutputSettings exemplo, pois a
Video_and_audio
saída contém vários parâmetros aninhados que terminam em um parâmetro vazio M3U8Settings. 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 null ou terão um valor exclusivo gerado por 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 para os MediaLive quais o conteúdo foi 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 mais informações, consulte Criando um canal do zero no Guia do MediaLive usuário do AWS Elemental.
-
Para obter detalhes da API, consulte CreateChannel
em Referência de AWS CLI Comandos.
-
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 exclusivo.Attached Channels
, que está sempre vazia para uma entrada recém-criada.Destinations
, que está vazio neste exemplo porque é usado somente com uma entrada PUSH.Id
para a entrada, o mesmo que o ID no ARN.MediaConnectFlows
, que está vazio neste exemplo porque é usado somente com uma entrada do tipo MediaConnect.SecurityGroups
, que está vazio neste exemplo porque é usado somente com uma entrada PUSH.State
dessa entrada.Tags
, que está vazio (o padrão para esse parâmetro).Para obter mais informações, consulte Criação de uma entrada no Guia do MediaLive usuário do AWS Elemental.
-
Para obter detalhes da API, consulte CreateInput
em Referência de AWS CLI Comandos.
-