

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

# 亚马逊 Kinesis Video Streams 服务配额
<a name="limits"></a>

Kinesis Video Streams 有以下服务配额：

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

## 控制平面 API 服务配额
<a name="limits-akv-control"></a>

下一节介绍控制平面的服务配额 APIs。TPS 代表*每秒的交易*次数。

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


| API | 账户限制：申请 | 账号限制：直播 | 流级别限制 | 相关的例外情况和注意事项 | 
| --- | --- | --- | --- | --- | 
| CreateStream | 50 TPS [s] | 在所有支持的区域，每个账户 10,000 个直播。 可将此限制提高至每个账户 100,000 个（或更多个）流。登录 AWS 管理控制台 at [https://console.aws.amazon.com/](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] |  | 
| UpdateStreamStorageConfiguration | 50 TPS [h] | 不适用 | 5 TPS [h] |  | 
| DescribeStreamStorageConfiguration | 50 TPS [h] | 不适用 | 5 TPS [h] |  | 

## 媒体和存档媒体 API 服务配额
<a name="limits-akv-data"></a>

下一节介绍媒体和存档媒体的服务配额 APIs。

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

达到连接级别限制时，会引发 `ConnectionLimitExceededException`。

达到片段级别限制时，会引发以下错误或确认：
+ 为低于最低持续时间的片段返回 `MIN_FRAGMENT_DURATION_REACHED` 确认。
+ 会为高于最高持续时间的片段返回 `MAX_FRAGMENT_DURATION_REACHED` 确认。
+ 会为高于最大数据大小的片段返回 `MAX_FRAGMENT_SIZE` 确认。
+ 如果在 `GetMediaForFragmentList` 操作中达到片段限制，则会引发 `FragmentLimitExceeded` 异常。

**数据层面 API 服务配额**


| API | 流级别限制 | 连接级别限制 | 带宽限制 | 片段级别限制 | 相关的例外情况和注意事项 | 
| --- | --- | --- | --- | --- | --- | 
| PutMedia | 5 TPS [h] | 1 [h] | 12.5 MB/秒，或每个直播 100 Mbps [s] | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/kinesisvideostreams/latest/dg/limits.html) | [PutMedia](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_PutMedia.html)请求是流式传输、长时间运行的连接。您无需为每条数据打开一个新连接，因为您可以在单个永久连接中发送多个片段。如果您尝试多个并发PutMedia连接，Kinesis Video Streams 会通过错误消息限制最新的连接。ConnectionLimitExceededException | 
| GetClip | 不适用 | 不适用 | 100 MB 大小限制 [h] | 最大片段数：200 [h] |  | 
| 获取DASHStreaming会话网址 | 25 TPS [h] | 不适用 | 不适用 | 不适用 |  | 
| 获取HLSStreaming会话网址 | 25 TPS [h] | 不适用 | 不适用 | 不适用 |  | 
| GetImages | 不适用 | 不适用 | 100 MB [h]  | 不适用 | 每次请求的最大图像数为 100 [h]。  的最小值`SamplingInterval`为 200 毫秒 (ms)，即每秒 5 张图像。   | 
| GetMedia | 5 TPS [h] | 3 [h] | 25 MB/s 或 200 Mbps [s] | 每秒最多发送 5 个片段 [h] | [GetMedia](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_GetMedia.html)请求是流式传输、长时间运行的连接。您无需为每条数据打开一个新连接，因为您可以在单个永久连接中发送多个片段。如果你尝试的并发GetMedia连接超过三个，Kinesis Video Streams 会通过错误消息限制最新的连接。ConnectionLimitExceededException如果典型片段约为 5 MB，则此限制意味着 MBps 每个 Kinesis 视频流约为 75 MB。此类流将具有流的最大传入比特率 2 倍的传出比特率。  `GetMedia`不用于 HLS/DASH 播放。  | 
| GetMediaForFragmentList | 不适用 | 5 [s] | 25 MB/s 或 200 Mbps [s] | 最大片段数：1000 [h] | 可以同时调用五个基于片段的消费应用程序。GetMediaForFragmentList后续连接将被拒绝。 | 

**视频播放协议 API 服务配额**


| API | 会话级别限制 | 片段级别限制 | 
| --- | --- | --- | 
| 获取DASHManifest播放列表 | 5 TPS [h] | 每个播放列表的最大片段数：5,000 [h] | 
| 获取HLSMaster播放列表 | 5 TPS [h] | 不适用 | 
| 获取HLSMedia播放列表 | 5 TPS [h] | 每个播放列表的最大片段数：5,000 [h] | 
| 获取 MP4 InitFragment | 5 TPS [h] | 不适用 | 
| 获取 MP4 MediaFragment | 20 TPS [h] | 不适用 | 
| 获取 TSFragment | 20 TPS [h] | 不适用 | 

## 片段元数据和片段媒体配额
<a name="fragment_based_throttling"></a>

[访问存档媒体的 Kinesis Video APIs Stream](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_Reference.html) s 是根据请求的片段数量而不是 API 调用次数进行限制的。 APIs 受片段元数据数量和请求的片段媒体数量的限制。片段元数据和片段媒体配额按流计算。换句话说，对一个流中的片段元数据或媒体的请求不适用于另一个流的配额。但是，在给定的直播中，每个配额在多个流中共享 APIs。这意味着，对于给定的流，跨不同分段的请求 APIs使用相同的配额。当超过直播的片段元数据或片段媒体配额时，API 会返回`ClientLimitExceededException`。下表显示了两种配额类型中的每种配额的 APIs 消耗情况。对于这些表中的第二列，假设如果某个直播的配额为 N，则表示该流 APIs 有该配额类型的 N 个积分可供消耗。`GetClip`API 出现在两个表中。

**片段元数据配额消耗**

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/kinesisvideostreams/latest/dg/limits.html)

**片段媒体配额消耗**

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/kinesisvideostreams/latest/dg/limits.html)

例如，如果配额为每秒 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](monitoring.md)。

## 流式传输元数据服务配额
<a name="limits-streaming-metadata"></a>

以下服务配额适用于向 Kinesis 视频流添加流媒体元数据：
+ 您最多可在片段前附加 10 个元数据项目。
+ 片段元数据*名称* 的最大长度可为 128 个字节。
+ 片段元数据*值* 的最大长度可为 256 个字节。
+ 片段元数据*名称*不能以字符串 “`AWS`” 开头。如果添加此类元数据项目，则 PIC 中的 `putFragmentMetadata` 方法将返回 `STATUS_INVALID_METADATA_NAME` 错误（错误代码 `0x52000077`）。然后，您的应用程序可以忽略该错误（PIC 不添加元数据项目）或响应该错误。

## 制作人 SDK 配额
<a name="producer-sdk-limits"></a>

下表包含 SDK 中值的当前配额。请参阅[上传到 Kinesis Video Streams](producer-sdk.md)了解更多信息。

**注意**  
设置这些值之前，必须验证您的输入。该开发工具包不会验证这些限制，超出限制时不会发生运行时错误。


| 值 | 限制 | 注意 | 
| --- | --- | --- | 
| 最大流数 | 128 | 创建者对象可以创建的最大流数。这是一个软限制 (您可以请求增加值)。它保证了制作人不会意外递归地创建直播。 | 
| 最大设备名称长度 | 128 个字符 |   | 
| 最大标记数 | 每个流 50 个 |   | 
| 最大流名称长度 | 256 个字符 |   | 
| 最小存储大小 | 10 MiB = 10 \$1 1024 \$1 1024 字节 |   | 
| 最大存储大小 | 10 GiB = 10 \$1 1024 \$1 1024 \$1 1024 字节 |   | 
| 最大根目录路径长度 | 4,096 个字符 |   | 
| 最大身份验证信息长度 | 10000 字节 |   | 
| 最大 URI 字符串长度 | 10,000 个字符 |   | 
| 最大标记名称长度 | 128 个字符 |   | 
| 最大标记值长度 | 1,024 个字符 |   | 
| 最小安全令牌期限 | 30 秒 |   | 
| 安全令牌宽限期 | 40 minutes | 如果指定的持续时间更长，则仅限于此值。 | 
| 保留期 | 0 或大于 1 小时 | 0 表示不保留。 | 
| 最小集群持续时间 | 1 秒 | 该值是以 100 纳秒为单位指定的，这是 SDK 标准。 | 
| 最大集群持续时间 | 30 秒 | 该值是以 100 纳秒为单位指定的，这是 SDK 标准。后端 API 可以强制缩短集群持续时间。 | 
| 最大片段大小 | 50 MB | 有关更多信息，请参阅 [亚马逊 Kinesis Video Streams 服务配额](#limits)。 | 
| 最大片段持续时间 | 20 秒 | 有关更多信息，请参阅 [亚马逊 Kinesis Video Streams 服务配额](#limits)。 | 
| 最大连接持续时间 | 45 minutes | 后端在该时间后关闭连接。SDK 在该时间内轮换令牌并建立新连接。 | 
| 最大 ACK 段长度 | 1,024 个字符 | 发送到 ACK 解析器函数的确认的最大段长度。 | 
| 最大内容类型字符串长度 | 128 个字符 |   | 
| 最大编解码器 ID 字符串长度 | 32 个字符 |   | 
| 最大音轨名称字符串长度 | 32 个字符 |   | 
| 最大编解码器私有数据长度 | 1 MiB = 1 \$1 1024 \$1 1024 字节 |   | 
| 最小时间码标度值长度 | 100 纳秒 | 在生成的 MKV 集群中表示帧时间戳的最小时间码标度值。该值是以 100 纳秒为增量指定的，这是 SDK 标准。 | 
| 最大时间码标度值长度 | 1 秒 | 在生成的 MKV 集群中表示帧时间戳的最大时间码标度值。该值是以 100 纳秒为增量指定的，这是 SDK 标准。 | 
| 最小内容视图项目数 | 10 |   | 
| 最小缓冲区持续时间 | 20 秒 | 该值是以 100 纳秒为增量指定的，这是 SDK 标准。 | 
| 最大更新版本长度 | 128 个字符 |   | 
| 最大 ARN 长度 | 1024 个字符 |   | 
| 最大片段序列长度 | 128 个字符 |   | 
| 最大保留期 | 10 岁 |   | 