MediaLive exemples utilisant AWS CLI - AWS Command Line Interface

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

MediaLive exemples utilisant AWS CLI

Les exemples de code suivants vous montrent comment effectuer des actions et implémenter des scénarios courants à l'aide du AWS Command Line Interface with MediaLive.

Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous montrent comment appeler des fonctions de service individuelles, vous pouvez les visualiser dans leur contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la façon de configurer et d'exécuter le code en contexte.

Rubriques

Actions

L'exemple de code suivant montre comment utilisercreate-channel.

AWS CLI

Pour créer une chaîne

L'create-channelexemple suivant crée un canal en transmettant un JSON fichier contenant les paramètres que vous souhaitez spécifier.

Dans cet exemple, le canal ingère une HLS PULL entrée qui se connecte à une source contenant de la vidéo, du son et des sous-titres intégrés. Le canal crée un groupe HLS de sortie avec un serveur Akamai comme destination. Le groupe de sorties contient deux sorties : une pour la vidéo et l'AACaudio H.265, et une pour les VTT sous-titres Web, en anglais uniquement.

Dans cet JSON exemple, le canal inclut les paramètres minimaux requis pour un canal qui utilise une HLS PULL entrée et qui produit un groupe HLS de sortie avec Akamai comme destination. JSONIl contient les sections principales suivantes :

InputAttachments, qui indique une source pour le son et une source pour les sous-titres. Il ne spécifie pas de sélecteur vidéo, ce qui signifie qu'il MediaLive extrait la première vidéo trouvée dans la source. Destinations, qui contient les deux adresses IP (URLs) pour le groupe de sortie unique de ce canal. Ces adresses nécessitent un mot de passe. EncoderSettings, qui contient des sous-sections. AudioDescriptions, qui indique que le canal contient une ressource de sortie audio, qui utilise la source de InputAttachments et produit du son au AAC format. CaptionDescriptions, qui indique que le canal contient une ressource de sortie de sous-titres, qui utilise la source de InputAttachments et produit des sous-titres au format Web. VTT VideoDescriptions, qui indique que le canal contient une ressource de sortie vidéo, avec la résolution spécifiée. OutputGroups, qui spécifie les groupes de sortie. Dans cet exemple, un groupe est nomméAkamai. La connexion est établie à l'aide de HLSPUT. Le groupe de sorties contient deux sorties. Une sortie est destinée à la ressource vidéo (nomméeVideo_high) et à la ressource audio (nomméeAudio_EN). L'une des sorties concerne la ressource de sous-titres (nomméeWebVTT_EN).

Dans cet exemple, certains paramètres ne contiennent aucune valeur ou contiennent des paramètres vides imbriqués. Par OutputSettings exemple, car la Video_and_audio sortie contient plusieurs paramètres imbriqués qui se terminent par un paramètre vide M3U8Settings. Ce paramètre doit être inclus, mais vous pouvez omettre un, plusieurs ou tous ses enfants, ce qui signifie que l'enfant prendra sa valeur par défaut ou sera nul.

Tous les paramètres qui s'appliquent à cet exemple de canal mais qui ne sont pas spécifiés dans ce fichier prendront la valeur par défaut, seront définis sur null ou prendront une valeur unique générée par MediaLive.

aws medialive create-channel \ --cli-input-json file://channel-in-hls-out-hls-akamai.json

Contenu 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" } } }

Sortie :

La sortie reprend le contenu du JSON fichier, ainsi que les valeurs suivantes. Tous les paramètres sont classés par ordre alphabétique.

ARNpour la chaîne. La dernière partie ARN est l'identifiant unique de la chaîne. EgressEndpointsest vide dans cet exemple de canal car il n'est utilisé que pour les PUSH entrées. Lorsqu'il s'applique, il indique les adresses vers MediaLive lesquelles le contenu est envoyé. OutputGroups,Outputs. Ils indiquent tous les paramètres du groupe de sortie et des sorties, y compris ceux que vous n'avez pas inclus mais qui sont pertinents pour ce canal. Les paramètres peuvent être vides (cela indique peut-être que le paramètre ou la fonctionnalité est désactivé dans cette configuration de canal) ou peuvent afficher la valeur par défaut qui s'appliquera. LogLevelest défini sur la valeur par défaut (DISABLED). Tagsest défini sur la valeur par défaut (null). PipelinesRunningCountet State affiche l'état actuel de la chaîne.

Pour plus d'informations, consultez la section Création d'une chaîne à partir de zéro dans le guide de l' MediaLive utilisateur AWS Elemental.

  • Pour API plus de détails, voir CreateChannella section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-input.

AWS CLI

Pour créer une entrée

L'create-inputexemple suivant crée une HLS PULL entrée en transmettant un JSON fichier contenant les paramètres qui s'appliquent à ce type d'entrée. Dans cet JSON exemple, l'entrée spécifie deux sources (adresses) pour l'entrée, afin de permettre la redondance lors de l'ingestion. Ces adresses nécessitent un mot de passe.

aws medialive create-input \ --cli-input-json file://input-hls-pull-news.json

Contenu 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" }

Sortie :

La sortie reprend le contenu du JSON fichier, ainsi que les valeurs suivantes. Tous les paramètres sont classés par ordre alphabétique.

Arnpour l'entrée. La dernière partie ARN est l'identifiant d'entrée unique. Attached Channels, qui est toujours vide pour une entrée nouvellement créée. Destinations, qui est vide dans cet exemple car il est utilisé uniquement avec une PUSH entrée. Idpour l'entrée, identique à l'ID indiqué dans leARN. MediaConnectFlows, qui est vide dans cet exemple car il est utilisé uniquement avec une entrée de type MediaConnect. SecurityGroups, qui est vide dans cet exemple car il est utilisé uniquement avec une PUSH entrée. Statede cette entrée. Tags, qui est vide (valeur par défaut pour ce paramètre).

Pour plus d'informations, consultez la section Création d'une entrée dans le guide de l' MediaLive utilisateur AWS Elemental.

  • Pour API plus de détails, voir CreateInputla section Référence des AWS CLI commandes.