Kinesis Video Streams 服务配额 - Amazon Kinesis Video Streams
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Kinesis Video Streams 服务配额

Kinesis Video Streams 有以下服务配额:

重要

以下服务配额要么是软配额 [s](可以通过提交支持票证进行升级),要么是硬的 [h](无法增加)。在下表中,您将在单个服务配额旁边看到 [s] 和 [h]。

控制平面 API 服务配额

以下部分介绍控制平面 API 的服务配额。TPS 代表每秒的交易次数。

当达到账户级别或资源级别的请求限制时,会抛出。ClientLimitExceededException

控制平面 API 服务配额
API 账户限制:申请 账号限制:直播 流级别限制 相关的例外情况和注意事项
CreateStream 50 TPS [s] 在美国东部(弗吉尼亚北部)和美国西部(俄勒冈)地区每个账户 10000 个直播。在所有其他支持的区域,每个账户 5000 个直播。
注意

可将此限制提高至每个账户 100,000 个(或更多个)流。通过以下网址登录 Amazon Web Services Management Console:https://console.amazonaws.cn/,并提交服务限制提高案例让 Kinesis Video Streams 请求提高此限制 。

设备、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]
  • 最小片段持续时间:1 秒 [h]

  • 最大片段持续时间:20 秒 [h]

  • 最大片段大小:50 MB [h]

  • 轨道的最大数量:3 [s]

  • 每秒发送的最大片段:5 [h]

  • 片段元数据最大限制:10 个标签 [h]

典型 PutMedia 请求包含几秒钟的数据,因而导致每个流较低的 TPS。如果有多个并发连接超过配额,则接受最后一个连接。
GetClip 不适用 不适用 100 MB 大小限制 [h] 最大片段数:200 [h]
GetDASHStreamingSessionURL 25 TPS [h] 不适用 不适用 不适用
GetHLSStreamingSessionURL 25 TPS [h] 不适用 不适用 不适用
GetImages 不适用 不适用 100 MB [h] 不适用

每次请求的最大图像数为 100 [h]。

注意

的最小值SamplingInterval为 200 毫秒 (ms),即每秒 5 张图像。

GetMedia 5 TPS [h] 3 [s] 25 MB/秒或 200 Mbps [s] 每秒发送的最大片段:6 [h]

一个独特的使用客户端不需要超过两三个 TPS,因为在建立连接后,应用程序应该持续读取。

如果典型片段约为 5 MB,则此限制意味着每个 Kinesis 视频流约为 75 Mbps。此类流将具有流的最大传入比特率 2 倍的传出比特率。

注意

GetMedia不用于 HLS/DASH 播放。

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 个积分可供消耗。GetClipAPI 出现在两个表中。

片段元数据配额消耗
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.MetadataArchivedFragmentsConsumed.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有关直播标签键和值的限制,请参阅。