本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊 Kinesis Video Streams 服务配额
Kinesis Video Streams 有以下服务配额:
重要
以下服务配额要么是软配额 [s](可以通过提交支持票证进行升级),要么是硬的 [h](无法增加)。在下表中,您将在单个服务配额旁边看到 [s] 和 [h]。
控制平面API服务配额
下一节介绍控制平面的服务配额APIs。TPS代表每秒交易次数。
当达到账户级别或资源级别的请求限制时,会抛出。ClientLimitExceededException
API | 账户限制:申请 | 账号限制:直播 | 流级别限制 | 相关的例外情况和注意事项 |
---|---|---|---|---|
CreateStream | 50 TPS [s] | 在所有支持的区域,每个账户 10,000 个直播。注意可将此限制提高至每个账户 100,000 个(或更多个)流。登录https://console.aws.amazon.com/ |
设备CLIs、SDK驱动的访问权限和控制台都可以调用它API。如果直播尚不存在,则只有一个API调用成功。 | |
DeleteEdgeConfiguration | 10 TPS [h] | 不适用 | 1 TPS [h] | |
DeleteStream | 50 TPS [h] | 不适用 | 5 TPS [h] | |
DescribeEdgeConfiguration | 50 TPS [h] | 不适用 | 5 TPS [h] | |
DescribeImageGenerationConfiguration | 50 TPS [h] | 不适用 | 5 TPS [h] | |
DescribeMappedResourceConfiguration | 50 TPS [h] | 不适用 | 5 TPS [h] | |
DescribeNotificationConfiguration | 50 TPS [h] | 不适用 | 5 TPS [h] | |
DescribeStream | 300 TPS [h] | 不适用 | 5 TPS [h] | |
GetDataEndpoint | 300 TPS [h] | 不适用 | 5 TPS [h] | 每 45 分钟调用一次,旨在刷新大多数 PutMedia /GetMedia 使用案例的流令牌。如果应用程序在失败时重新加载缓存数据终端节点,那么这些终端节点是安全的。 |
ListEdgeAgentConfigurations | 50 TPS [h] | 不适用 | 不适用 | |
ListStreams | 50 TPS [h] | 不适用 | ||
ListTagsForStream | 50 TPS [h] | 不适用 | 5 TPS [h] | |
StartEdgeConfigurationUpdate | 10 TPS [h] | 不适用 | 1 TPS [h] | |
TagStream | 50 TPS [h] | 不适用 | 5 TPS [h] | |
UntagStream | 50 TPS [h] | 不适用 | 5 TPS [h] | |
UpdateDataRetention | 50 TPS [h] | 不适用 | 5 TPS [h] | |
UpdateImageGenerationConfiguration | 50 TPS [h] | 不适用 | 5 TPS [h] | |
UpdateNotificationConfiguration | 50 TPS [h] | 不适用 | 5 TPS [h] | |
UpdateStream | 50 TPS [h] | 不适用 | 5 TPS [h] |
媒体和存档媒体服务配额 API
下一节介绍媒体和存档媒体的服务配额APIs。
当达到账户级别或资源级别的请求限制时,会抛出。ClientLimitExceededException
达到连接级别限制时,会引发 ConnectionLimitExceededException
。
达到片段级别限制时,会引发以下错误或确认:
-
为低于最低持续时间的片段返回
MIN_FRAGMENT_DURATION_REACHED
确认。 -
会为高于最高持续时间的片段返回
MAX_FRAGMENT_DURATION_REACHED
确认。 -
会为高于最大数据大小的片段返回
MAX_FRAGMENT_SIZE
确认。 -
如果在
GetMediaForFragmentList
操作中达到片段限制,则会引发FragmentLimitExceeded
异常。
数据平面API服务配额
API | 流级别限制 | 连接级别限制 | 带宽限制 | 片段级别限制 | 相关的例外情况和注意事项 |
---|---|---|---|---|---|
PutMedia | 5 TPS [h] | 1 [s] | 12.5 MB/秒,或每个直播 100 Mbps [s] |
|
典型的PutMedia 请求包含几秒钟的数据,因此TPS每个数据流的流量会降低。如果有多个并发连接超过配额,则接受最后一个连接。 |
GetClip | 不适用 | 不适用 | 100 MB 大小限制 [h] | 最大片段数:200 [h] | |
G etDASHStreaming 会话 URL | 25 TPS [h] | 不适用 | 不适用 | 不适用 | |
G etHLSStreaming 会话 URL | 25 TPS [h] | 不适用 | 不适用 | 不适用 | |
GetImages | 不适用 | 不适用 | 100 MB [h] | 不适用 | 每次请求的最大图像数为 100 [h]。 注意的最小值 |
GetMedia | 5 TPS [h] | 3 [s] | 25 MB/秒或 200 Mbps [s] | 每秒最多发送 5 个片段 [h] | 一个唯一的使用客户端不应超过两三个,TPS因为在建立连接后,应用程序应持续读取。 如果典型片段约为 5 MB,则此限制意味着MBps每个 Kinesis 视频流约为 75 MB。此类流将具有流的最大传入比特率 2 倍的传出比特率。 注意
|
GetMediaForFragmentList | 不适用 | 5 [s] | 25 MB/秒或 200 Mbps [s] | 最大片段数:1000 [h] | 可以同时调用五个基于片段的消费应用程序。GetMediaForFragmentList 后续连接将被拒绝。 |
视频播放协议API服务配额
API | 会话级别限制 | 片段级别限制 |
---|---|---|
G etDASHManifest 播放列表 | 5 TPS [h] | 每个播放列表的最大片段数:5,000 [h] |
G etHLSMaster 播放列表 | 5 TPS [h] | 不适用 |
G etHLSMedia 播放列表 | 5 TPS [h] | 每个播放列表的最大片段数:5,000 [h] |
获取 MP4InitFragment | 5 TPS [h] | 不适用 |
获取 MP4MediaFragment | 20 TPS [h] | 不适用 |
G etTSFragment | 20 TPS [h] | 不适用 |
片段元数据和片段媒体配额
访问存档媒体的 Kinesis Video APIs Stream s 是根据请求的片段数量而不是调用次数进行限制的。APIAPIs受片段元数据数量和请求的片段媒体数量的限制。片段元数据和片段媒体配额按流计算。换句话说,对一个流中的片段元数据或媒体的请求不适用于另一个流的配额。但是,在给定的直播中,每个配额在多个流中共享APIs。这意味着,对于给定的流,跨不同分段的请求APIs使用相同的配额。当超过流的片段元数据或片段媒体配额时,将API返回 a ClientLimitExceededException
。下表显示了两种配额类型中的每种配额的APIs消耗情况。对于这些表中的第二列,假设如果某个直播的配额为 N,则表示该流APIs有该配额类型的 N 个积分可供消耗。GetClip
API出现在两个表中。
片段元数据配额消耗
API | 每次请求消耗的配额积分数 | 共享配额 (N) |
---|---|---|
ListFragments |
MaxResults 参数的值 |
每个直播每秒 10,000 个配额积分 [h] |
GetClip |
生成的片段中的片段数 | |
GetHLSMediaPlaylist |
MaxMediaPlaylistFragmentResults 参数的值 |
|
GetDASHManifest |
MaxManifestFragmentResults 参数的值 |
|
GetImages |
请求的最大图像数为 400 以上 |
片段媒体配额消耗
API | 每次请求消耗的配额积分数 | 共享配额 (N) |
---|---|---|
GetMediaForFragmentList |
片段参数中的片段数 | 每个直播每秒 500 个配额积分 [h] |
GetClip |
生成的片段中的片段数 | |
GetMP4MediaFragment |
1 | |
GetTSFragment
|
1 | |
GetImages
|
请求的最大图像数 |
例如,如果配额为每秒 500 个片段媒体,则支持特定流的以下调用模式:
-
每秒 5 个请求,每个片段中
GetClip
有 100 个片段。 -
每秒 100 个请求,每个片段中
GetClip
有 5 个片段。 每秒 2 个请求,每个片段中
GetClip
有 100 个片段,每个片段每秒 3 个请求。GetMediaForFragmentList
每秒 400 个请求发送到
GetMP4MediaFragment
,每秒 100 个请求GetTSFragment
。
这些配额对每个直播可以支持的HLS和 MPEG-DASH 会话数量有重要影响。媒体播放器在给定时间可以使用的DASH会话数量HLS和会话数量没有限制。因此,播放应用程序不要允许同时使用太多会话,这一点很重要。以下两个示例描述了如何确定可以支持的并发播放会话数量:
示例 1:直播
在直播场HLS景中,持续时间为 1 秒的片段、一首音频和视频轨道,MaxMediaPlaylistFragmentResults
设置为 5,媒体播放器通常GetHLSMediaPlaylist
每秒进行两次调用。一个调用是为了获取最新的视频元数据,另一个是针对相应的音频元数据。这两个调用各消耗五个片段元数据配额点。它GetMP4MediaFragment
每秒还会拨打两个电话:一个呼叫最新的视频,另一个呼叫相应的音频。每次调用都会消耗一个片段媒体令牌,因此总共消耗两个令牌。
在这种情况下,最多可以支持 250 个并发播放会话。在 250 个会话中,此场景每秒消耗 2,500 个片段元数据配额点(远低于 10,000 个配额),每秒消耗 500 个片段媒体配额点。
示例 2:按需播放
在以往事件的点播播放场景中DASH,将音频和视频轨道MaxManifestFragmentResults
设置为 1,000,媒体播放器通常在会话开始时调用GetDASHManifest
一次(消耗 1,000 个片段元数据配额点),并以每秒 5 次(消耗 5 个片段媒体配额点)的GetMP4MediaFragment
速度调用,直到所有片段都加载完毕。MPEG在这种情况下,每秒最多可以启动 10 个新会话(正好是每秒 10,000 个片段元数据的配额),最多可以有 100 个会话以每秒 5 的速度主动加载片段媒体(正好是每秒 500 个片段媒体的配额)。
您可以使用ArchivedFragmentsConsumed.Metadata
和ArchivedFragmentsConsumed.Media
分别监控片段元数据和片段媒体配额点的使用情况。有关监控的信息,请参见监控 Amazon Kinesis Video Streams。
流媒体元数据服务配额
以下服务配额适用于向 Kinesis 视频流添加流式传输元数据:
-
您最多可在片段前附加 10 个元数据项目。
-
片段元数据名称 的最大长度可为 128 个字节。
-
片段元数据值 的最大长度可为 256 个字节。
-
片段元数据名称不能以字符串 “
AWS
” 开头。如果添加了这样的元数据项目,则中的putFragmentMetadata
方法会PIC返回STATUS_INVALID_METADATA_NAME
错误(错误代码0x52000077
)。然后,您的应用程序可以忽略错误(PIC不添加元数据项),也可以对错误做出响应。
生产者SDK配额
下表包含中值的当前配额SDK。请参阅上传到 Kinesis Video Streams了解更多信息。
注意
设置这些值之前,必须验证您的输入。SDK不验证这些限制,如果超过限制,则会发生运行时错误。
值 | 限制 | 注意 |
---|---|---|
最大流数 | 128 | 创建者对象可以创建的最大流数。这是一个软限制 (您可以请求增加值)。它保证了制作人不会意外递归创建直播。 |
最大设备名称长度 | 128 个字符 | |
最大标记数 | 每个流 50 个 | |
最大流名称长度 | 256 个字符 | |
最小存储大小 | 10 MiB = 10 * 1024 * 1024 字节 | |
最大存储大小 | 10 GiB = 10 * 1024 * 1024 * 1024 字节 | |
最大根目录路径长度 | 4,096 个字符 | |
最大身份验证信息长度 | 10000 字节 | |
最大URI字符串长度 | 10,000 个字符 | |
最大标记名称长度 | 128 个字符 | |
最大标记值长度 | 1,024 个字符 | |
最小安全令牌期限 | 30 秒 | |
安全令牌宽限期 | 40 minutes | 如果指定的持续时间更长,则仅限于此值。 |
保留期 | 0 或大于 1 小时 | 0 表示不保留。 |
最小集群持续时间 | 1 秒 | 该值以 100 ns 为单位指定,这是SDK标准单位。 |
最大集群持续时间 | 30 秒 | 该值以 100 ns 为单位指定,这是SDK标准单位。后端API可以强制缩短集群持续时间。 |
最大片段大小 | 50 MB | 有关更多信息,请参阅 亚马逊 Kinesis Video Streams 服务配额。 |
最大片段持续时间 | 20 秒 | 有关更多信息,请参阅 亚马逊 Kinesis Video Streams 服务配额。 |
最大连接持续时间 | 45 minutes | 后端在该时间后关闭连接。SDK轮换令牌并在此时间内建立新的连接。 |
最大ACK分段长度 | 1,024 个字符 | 发送给ACK解析器函数的确认的最大段长度。 |
最大内容类型字符串长度 | 128 个字符 | |
最大编解码器 ID 字符串长度 | 32 个字符 | |
最大音轨名称字符串长度 | 32 个字符 | |
最大编解码器私有数据长度 | 1 MiB = 1 * 1024 * 1024 字节 | |
最小时间码标度值长度 | 100 纳秒 | 表示结果集群中帧时间戳的最小时间码缩放值。MKV该值以 100 ns 的增量指定,这是SDK标准值。 |
最大时间码标度值长度 | 1 秒 | 表示结果集群中帧时间戳的最大时间码缩放值。MKV该值以 100 ns 的增量指定,这是SDK标准值。 |
最小内容视图项目数 | 10 | |
最小缓冲区持续时间 | 20 秒 | 该值以 100 ns 的增量指定,这是SDK标准值。 |
最大更新版本长度 | 128 个字符 | |
最大ARN长度 | 1024 个字符 | |
最大片段序列长度 | 128 个字符 | |
最大保留期 | 10 岁 |