MediaLive exemplos usando AWS CLI - AWS Command Line Interface

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 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, onde você pode encontrar instruções sobre como configurar e executar o código no contexto.

Tópicos

Ações

O código de exemplo a seguir mostra como usar create-channel.

AWS CLI

Para criar um canal

O create-channel exemplo a seguir cria um canal passando um JSON arquivo que contém os parâmetros que você deseja especificar.

O canal neste exemplo ingere uma HLS PULL entrada que se conecta a uma fonte que contém vídeo, áudio e legendas incorporadas. O canal cria um grupo HLS de saída com um servidor Akamai como destino. O grupo de saída contém duas saídas: uma para vídeo e AAC áudio H.265 e outra para VTT legendas da Web, somente em inglês.

O canal deste JSON exemplo inclui os parâmetros mínimos necessários para um canal que usa uma HLS PULL entrada e produz um grupo de HLS saída 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 em AAC formato. 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, há um grupo chamadoAkamai. A conexão é feita usando HLSPUT. O grupo de saída contém duas saídas. Uma saída é para o ativo de vídeo (nomeadoVideo_high) e o ativo de áudio (nomeadoAudio_EN). Uma saída é para o ativo de legendas (nomeadoWebVTT_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 você pode 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 JSON arquivo, mais os valores a seguir. Todos os parâmetros são ordenados alfabeticamente.

ARNpara o canal. A última parte do ARN é o ID exclusivo do canal. EgressEndpointsestá em branco neste canal de exemplo porque é usado somente para PUSH entradas. Quando aplicável, mostra os endereços para os MediaLive quais o conteúdo foi enviado. OutputGroups,Outputs. Eles mostram todos os parâmetros do grupo de saída e das saídas, incluindo aqueles que você não incluiu, mas que são relevantes para esse canal. Os parâmetros podem estar vazios (talvez indicando que o parâmetro ou recurso está desativado nessa configuração de canal) ou podem mostrar o valor padrão que será aplicado. LogLevelestá definido como padrão (DISABLED). Tagsé definido como padrão (nulo). PipelinesRunningCounte State mostre 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 API obter detalhes, consulte CreateChannelna 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 create-input exemplo a seguir cria uma HLS PULL entrada passando um JSON arquivo que contém os parâmetros que se aplicam a esse tipo de entrada. A entrada deste JSON exemplo 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 JSON arquivo, mais os valores a seguir. Todos os parâmetros são ordenados alfabeticamente.

Arnpara a entrada. A última parte do ARN é o ID de entrada exclusivo. Attached Channels, que está sempre vazio para uma entrada recém-criada. Destinations, que está vazio neste exemplo porque é usado somente com uma PUSH entrada. Idpara a entrada, o mesmo que o ID noARN. 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 PUSH entrada. Statedessa 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 API obter detalhes, consulte CreateInputna Referência de AWS CLI Comandos.