本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Kinesis Video Streams 服务配额
Kinesis Video Streams 有以下服务配额:
重要
以下服务配额要么是软配额 [s](可以通过提交支持票证进行升级),要么是硬的 [h](无法增加)。在下表中,您将在单个服务配额旁边看到 [s] 和 [h]。
控制平面 API 服务配额
以下部分介绍控制平面 API 的服务配额。TPS 代表每秒的交易次数。
当达到账户级别或资源级别的请求限制时,会抛出。ClientLimitExceededException
控制平面 API 服务配额 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
API | 账户限制:申请 | 账号限制:直播 | 流级别限制 | 相关的例外情况和注意事项 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CreateStream | 50 TPS [s] | 在美国东部(弗吉尼亚北部)和美国西部(俄勒冈)地区每个账户 10000 个直播。在所有其他支持的区域,每个账户 5000 个直播。注意可将此限制提高至每个账户 100,000 个(或更多个)流。通过以下网址登录 AWS Management Console :https://console.aws.amazon.com/ |
不适用 | 设备、CLI、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 服务配额
以下部分介绍媒体和存档媒体 API 的服务配额。
当达到账户级别或资源级别的请求限制时,会抛出。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] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetDASHStreamingSessionURL | 25 TPS [h] | 不适用 | 不适用 | 不适用 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetHLSStreamingSessionURL | 25 TPS [h] | 不适用 | 不适用 | 不适用 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetImages | 不适用 | 不适用 | 100 MB [h] | 不适用 | 每次请求的最大图像数为 100 [h]。 注意的最小值 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetMedia | 5 TPS [h] | 3 [s] | 25 MB/秒或 200 Mbps [s] | 每秒发送的最大片段:6 [h] | 一个独特的使用客户端不需要超过两三个 TPS,因为在建立连接后,应用程序应该持续读取。 如果典型片段约为 5 MB,则此限制意味着每个 Kinesis 视频流约为 75 Mbps。此类流将具有流的最大传入比特率 2 倍的传出比特率。 注意
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetMediaForFragmentList | 不适用 | 5 [s] | 25 MB/秒或 200 Mbps [s] | 最大片段数:1000 [h] | 可以同时调用五个基于片段的消费应用程序。GetMediaForFragmentList 后续连接将被拒绝。 |
视频播放协议 API 服务配额 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
API | 会话级别限制 | 片段级别限制 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetDash ManifestPlaylist | 5 TPS [h] | 每个播放列表的最大片段数:5000 [h] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
getHLS MasterPlaylist | 5 TPS [h] | 不适用 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
getHLS MediaPlaylist | 5 TPS [h] | 每个播放列表的最大片段数:5000 [h] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
getMP4 InitFragment | 5 TPS [h] | 不适用 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
getMP4 MediaFragment | 20 TPS [h] | 不适用 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GetTSFragment | 20 TPS [h] | 不适用 |
片段元数据和片段媒体配额
Kinesis Video Streams 访问存档媒体的 API 是根据请求的片段数量而不是 API 调用次数进行限制的。API 的速率受片段元数据数量和请求的片段媒体数量的限制。片段元数据和片段媒体配额按流计算。换句话说,对一个流中的片段元数据或媒体的请求不适用于另一个流的配额。但是,在给定的数据流中,每个配额在多个 API 之间共享。这意味着,对于给定的流,跨不同 API 的片段请求消耗的配额相同。当超过直播的片段元数据或片段媒体配额时,API 会返回ClientLimitExceededException
。下表显示了 API 如何使用这两种类型的配额。对于这些表中的第二列,假设如果某个流的配额为 N,则意味着 API 在该流的配额类型中有 N 个积分可供消耗。GetClip
API 出现在两个表中。
片段元数据配额消耗 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
API | 每次请求消耗的配额积分数 | 共享配额 (N) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ListFragments | MaxResults 参数的值 |
每个直播每秒 10000 个配额积分 [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 会话数量有重要影响。媒体播放器在给定时间可以使用的 HLS 和 DASH 会话数量没有限制。因此,播放应用程序不要允许同时使用太多会话,这一点很重要。以下两个示例描述了如何确定可以支持的并发播放会话数量:
示例 1:直播
在直播场景中,HLS 的持续时间为 1 秒的片段、音频和视频轨道,MaxMediaPlaylistFragmentResults
设置为 5,媒体播放器通常GetHLSMediaPlaylist
每秒进行两次调用。一个调用是为了获取最新的视频元数据,另一个是为了获取相应的音频元数据。这两个调用各消耗五个片段元数据配额点。它GetMP4MediaFragment
每秒还会拨打两个电话:一个呼叫最新的视频,另一个呼叫相应的音频。每次调用都会消耗一个片段媒体令牌,因此总共消耗两个令牌。
在这种情况下,最多可以支持 250 个并发播放会话。在 250 个会话中,此场景每秒消耗 2,500 个片段元数据配额点(远低于 10,000 个配额),每秒消耗 500 个片段媒体配额点。
示例 2:按需播放
在以往事件的点播播放场景中,MPEG-DASH(音频和视频轨道,MaxManifestFragmentResults
设置为 1,000),媒体播放器通常在会话开始时调用GetDASHManifest
一次(消耗 1,000 个片段元数据配额点),并以每秒 5 次(消耗 5 个片段媒体配额点)的GetMP4MediaFragment
速度调用,直到所有片段都加载完毕。在这种情况下,每秒最多可以启动 10 个新会话(正好是每秒 10,000 个片段元数据的配额),最多可以有 100 个会话以每秒 5 的速度主动加载片段媒体(正好是每秒 500 个片段媒体的配额)。
您可以使用ArchivedFragmentsConsumed.Metadata
和ArchivedFragmentsConsumed.Media
分别监控片段元数据和片段媒体配额点的使用情况。有关监控的信息,请参见监控 Amazon Kinesis Video Streams。
片段元数据配额
以下服务配额适用于向 Kinesis 视频流中的片段添加片段元数据:
-
您最多可在片段前附加 10 个元数据项目。
-
片段元数据名称 的最大长度可为 128 个字节。
-
片段元数据值 的最大长度可为 256 个字节。
-
片段元数据名称不能以字符串 “
AWS
” 开头。如果添加此类元数据项目,则 PIC 中的putFragmentMetadata
方法将返回STATUS_INVALID_METADATA_NAME
错误(错误代码0x52000077
)。然后,您的应用程序可以忽略该错误(PIC 不添加元数据项目)或响应该错误。
直播标签
这些元数据键值对适用于整个 Kinesis Video Streams 资源,而不是 Kinesis 视频流中包含的单个片段。
每个 Kinesis 视频流最多支持 50 个标签。
TagStream有关直播标签键和值的限制,请参阅。