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 indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.

Rubriques

Actions

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

AWS CLI

Pour créer un canal

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

Dans cet exemple, le canal ingère une entrée HLS PULL 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 de sortie HLS avec un serveur Akamai comme destination. Le groupe de sorties contient deux sorties : une pour la vidéo H.265 et l’audio AAC, et une pour les sous-titres Web-VTT, en anglais uniquement.

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

InputAttachments, qui indique une source pour l’audio 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 format AAC. 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. Cet exemple contient un groupe nommé Akamai. La connexion est établie à l’aide du protocole HLS PUT. Le groupe de sorties contient deux sorties. Une sortie concerne la ressource vidéo (nommée Video_high) et la ressource audio (nommée Audio_EN). Une sortie concerne la ressource de sous-titres (nommée WebVTT_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 enfant, plusieurs ou tous, 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 répète le contenu du fichier JSON, ainsi que les valeurs suivantes. Tous les paramètres sont classés par ordre alphabétique.

ARN pour le canal. La dernière partie de l’ARN est l’ID unique du canal. EgressEndpoints est vide dans cet exemple de canal, car il est utilisé uniquement pour les entrées PUSH. Lorsqu'il s'applique, il indique les adresses vers MediaLive lesquelles le contenu est envoyé. OutputGroups,Outputs. Ils affichent 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. LogLevel est défini sur la valeur par défaut (DÉSACTIVÉ). Tags est défini sur la valeur par défaut (null). PipelinesRunningCount et State affiche l’état actuel du canal.

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 plus de détails sur l'API, reportez-vous CreateChannelà la 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’exemple create-input suivant crée une entrée HLS PULL en transmettant un fichier JSON contenant les paramètres qui s’appliquent à ce type d’entrée. Le JSON pour cet exemple d’entrée spécifie deux sources (adresses) pour l’entrée, afin de prendre en charge la redondance dans 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 répète le contenu du fichier JSON, ainsi que les valeurs suivantes. Tous les paramètres sont classés par ordre alphabétique.

Arn pour l’entrée. La dernière partie de l'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 entrée PUSH. Idpour l'entrée, identique à l'ID dans l'ARN. 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 entrée PUSH. 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 plus de détails sur l'API, reportez-vous CreateInputà la section Référence des AWS CLI commandes.