MediaLive ejemplos que utilizan AWS CLI - AWS Command Line Interface

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

MediaLive ejemplos que utilizan AWS CLI

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes mediante el uso del AWS Command Line Interface with MediaLive.

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.

Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.

Acciones

En el siguiente ejemplo de código, se muestra cómo usar create-channel.

AWS CLI

Para crear un canal

En el siguiente create-channel ejemplo, se crea un canal pasando un JSON archivo que contiene los parámetros que se desean especificar.

El canal de este ejemplo ingiere una HLS PULL entrada que se conecta a una fuente que contiene vídeo, audio y subtítulos incrustados. El canal crea un grupo HLS de salida con un servidor de Akamai como destino. El grupo de salidas contiene dos salidas: una para el vídeo y el AAC audio H.265 y otra para los VTT subtítulos web, solo en inglés.

El canal de este JSON ejemplo incluye los parámetros mínimos necesarios para un canal que utilice una HLS PULL entrada y que produzca un grupo de HLS salida con Akamai como destino. El JSON contiene las siguientes secciones principales:

InputAttachments, que especifica una fuente para el audio y una fuente para los subtítulos. No especifica un selector de vídeo, lo que significa que MediaLive extrae el primer vídeo que encuentra en la fuente. Destinations, que contiene las dos direcciones IP (URLs) del único grupo de salida de este canal. Estas direcciones requieren contraseñas. EncoderSettings, que contiene subsecciones. AudioDescriptions, que especifica que el canal contiene un recurso de salida de audio, que utiliza la fuente de InputAttachments origen y produce audio en AAC formato. CaptionDescriptions, que especifica que el canal contiene un recurso de salida de subtítulos, que utiliza la fuente de InputAttachments y produce subtítulos en formato web. VTT VideoDescriptions, que especifica que el canal contiene un recurso de salida de vídeo con la resolución especificada. OutputGroups, que especifica los grupos de salida. En este ejemplo, hay un grupo llamadoAkamai. La conexión se realiza mediante HLSPUT. El grupo de salidas contiene dos salidas. Una salida es para el recurso de vídeo (con nombreVideo_high) y el recurso de audio (con nombreAudio_EN). Una salida es para el recurso de subtítulos (denominadoWebVTT_EN).

En este ejemplo, algunos de los parámetros no contienen ningún valor o contienen parámetros vacíos anidados. Por OutputSettings ejemplo, la Video_and_audio salida contiene varios parámetros anidados que terminan en un parámetro vacío M3U8Settings. Este parámetro debe estar incluido, pero puede omitir uno, varios o todos sus elementos secundarios, lo que significa que el elemento secundario tomará su valor predeterminado o será nulo.

Todos los parámetros que se apliquen a este canal de ejemplo pero que no estén especificados en este archivo tomarán el valor predeterminado, se establecerán en nulo o tomarán un valor único generado por MediaLive.

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

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

Salida:

La salida repite el contenido del JSON archivo, además de los valores siguientes. Todos los parámetros están ordenados alfabéticamente.

ARNpara el canal. La última parte de ARN es el identificador único del canal. EgressEndpointsestá en blanco en este canal de ejemplo porque solo se usa para PUSH entradas. Cuando se aplica, muestra las direcciones a las MediaLive que se envía el contenido. OutputGroups,Outputs. Muestran todos los parámetros del grupo de salida y las salidas, incluidos los que no incluiste pero que son relevantes para este canal. Es posible que los parámetros estén vacíos (lo que podría indicar que el parámetro o la función están deshabilitados en esta configuración de canal) o pueden mostrar el valor predeterminado que se aplicará. LogLevelestá establecido en el valor predeterminado (DISABLED). Tagsestá establecido en el valor predeterminado (null). PipelinesRunningCounty State muestran el estado actual del canal.

Para obtener más información, consulta Cómo crear un canal desde cero en la Guía del MediaLive usuario de AWS Elemental.

  • Para API obtener más información, consulte CreateChannella Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo usar create-input.

AWS CLI

Para crear una entrada

El siguiente create-input ejemplo crea una HLS PULL entrada pasando un JSON archivo que contiene los parámetros que se aplican a este tipo de entrada. La entrada de este JSON ejemplo especifica dos fuentes (direcciones) para la entrada, a fin de admitir la redundancia en la ingesta. Estas direcciones requieren contraseñas.

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

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

Salida:

El resultado repite el contenido del JSON archivo, además de los valores siguientes. Todos los parámetros están ordenados alfabéticamente.

Arnpara la entrada. La última parte de ARN es el identificador de entrada único. Attached Channels, que siempre está vacía cuando se trata de una entrada recién creada. Destinations, que está vacía en este ejemplo porque solo se usa con una PUSH entrada. Idpara la entrada, igual que el identificador deARN. MediaConnectFlows, que está vacía en este ejemplo porque solo se usa con una entrada de tipo MediaConnect. SecurityGroups, que está vacía en este ejemplo porque solo se usa con una PUSH entrada. Statede esta entrada. Tags, que está vacía (el valor predeterminado para este parámetro).

Para obtener más información, consulte Creación de una entrada en la Guía del MediaLive usuario de AWS Elemental.

  • Para API obtener más información, consulte CreateInputla Referencia de AWS CLI comandos.