AWS 文档 AWS SDK示例 GitHub 存储库中还有更多SDK示例
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
MediaLive 使用示例 AWS CLI
以下代码示例向您展示了如何使用with来执行操作和实现常见场景 MediaLive。 AWS Command Line Interface
操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
每个示例都包含一个指向完整源代码的链接,您可以在其中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例演示如何使用 create-channel
。
- AWS CLI
-
创建频道
以下
create-channel
示例通过传入包含您要指定的参数JSON的文件来创建频道。此示例中的频道接收的HLSPULL输入连接到包含视频、音频和嵌入式字幕的源。该频道创建一个以 Akamai 服务器为目标的HLS输出组。输出组包含两个输出:一个用于 H.265 视频和AAC音频,另一个用于 Web VTT 字幕,仅提供英语版本。
在本示例中,通道包括使用HLSPULL输入并生成以 Akamai 为目标的HLS输出组的通道所需的最低参数。JSONJSON包含以下主要部分:
InputAttachments
,它为音频指定一个来源,为字幕指定一个来源。它没有指定视频选择器,这意味着它会 MediaLive 提取它在源中找到的第一个视频。Destinations
,其中包含此通道中单个输出组的两个 IP 地址 (URLs)。这些地址需要密码。EncoderSettings
,其中包含小节。AudioDescriptions
,它指定该频道包含一个音频输出资源,该资源使用来自的音源 InputAttachments,并以AAC格式生成音频。CaptionDescriptions
,它指定该频道包含一个字幕输出资源,该资源使用来自的字幕 InputAttachments,并以 Web 格式生成字幕。VTTVideoDescriptions
,它指定该频道包含一个具有指定分辨率的视频输出资产。OutputGroups
,它指定了输出组。在此示例中,有一个名为的组Akamai
。连接是使用进行的HLSPUT。输出组包含两个输出。一个输出用于视频资源(已命名Video_high
)和音频资源(已命名Audio_EN
)。一个输出是字幕资源(已命名WebVTT_EN
)。在此示例中,某些参数不包含任何值或包含嵌套的空参数。 OutputSettings 例如,
Video_and_audio
输出包含几个以空参数 m3u8Settings 结尾的嵌套参数。必须包含此参数,但您可以省略其一个、多个或所有子项,这意味着子项将采用其默认值或为空。适用于此示例频道但未在此文件中指定的所有参数要么采用默认值,要么设置为 null,要么采用生成的唯一值 MediaLive。
aws medialive create-channel \ --cli-input-json
file://channel-in-hls-out-hls-akamai.json
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" } } }
输出:
输出重复JSON文件内容,再加上以下值。所有参数均按字母顺序排序。
ARN
对于这个频道。的最后一部分ARN是唯一的频道 ID。EgressEndpoints
在此示例通道中为空,因为它仅用于PUSH输入。当它应用时,它会显示 MediaLive 该内容被推送到的地址。OutputGroups
,Outputs
。它们显示了输出组和输出的所有参数,包括您未包含但与此通道相关的参数。参数可能为空(可能表示此频道配置中已禁用参数或功能),也可能显示将适用的默认值。LogLevel
设置为默认值 (DISABLED)。Tags
设置为默认值(空)。PipelinesRunningCount
并State
显示频道的当前状态。有关更多信息,请参阅 AWS Elemental MediaLive 用户指南中的从头开始创建频道。
-
有关API详细信息,请参阅 “CreateChannel AWS CLI
命令参考”。
-
以下代码示例演示如何使用 create-input
。
- AWS CLI
-
创建输入
以下
create-input
示例通过传入包含适用于此类HLS PULL
输入的参数JSON的文件来创建输入。在本示例中,输入JSON为输入指定了两个来源(地址),以支持采集中的冗余。这些地址需要密码。aws medialive create-input \ --cli-input-json
file://input-hls-pull-news.json
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" }
输出:
输出重复JSON文件内容,再加上以下值。所有参数均按字母顺序排序。
Arn
用于输入。的最后一部分ARN是唯一的输入 ID。Attached Channels
,对于新创建的输入,它始终为空。Destinations
,在本例中为空,因为它仅与PUSH输入一起使用。Id
对于输入,与中的 ID 相同ARN。MediaConnectFlows
,在本示例中为空,因为它仅与类型的输入一起使用 MediaConnect。SecurityGroups
,在本例中为空,因为它仅与PUSH输入一起使用。State
这个输入。Tags
,为空(此参数的默认值)。有关更多信息,请参阅 AWS Elemental MediaLive 用户指南中的创建输入。
-
有关API详细信息,请参阅 “CreateInput AWS CLI
命令参考”。
-