View a markdown version of this page

亚马逊 Kinesis Video Streams 服务配额 - Amazon Kinesis Video Streams

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

亚马逊 Kinesis Video Streams 服务配额

Kinesis Video Streams 有以下服务配额:

重要

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

控制平面 API 服务配额

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

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

API 账户限制:申请 账号限制:直播 Stream-level 限制 相关的例外情况和注意事项
CreateStream 50 TPS [s] 在所有支持的区域,每个账户 10,000 个直播。
注意

可将此限制提高至每个账户 100,000 个(或更多个)流。登录 AWS 管理控制台 at https://console.aws.amazon.com/ 并请求提高此限制。

设备、CLI、 SDK-driven 访问权限和控制台都可以调用此 API。如果流尚不存在,则只有一个 API 调用会成功。
DeleteEdgeConfiguration 10 TPS [h] N/A 1 TPS [h]
DeleteStream 50 TPS [h] N/A 5 TPS [h]
DescribeEdgeConfiguration 50 TPS [h] N/A 5 TPS [h]
DescribeImageGenerationConfiguration 50 TPS [h] N/A 5 TPS [h]
DescribeMappedResourceConfiguration 50 TPS [h] N/A 5 TPS [h]
DescribeNotificationConfiguration 50 TPS [h] N/A 5 TPS [h]
DescribeStream 300 TPS [h] N/A 5 TPS [h]
GetDataEndpoint 300 TPS [h] N/A 5 TPS [h] 每 45 分钟调用一次,旨在刷新大多数 PutMedia/GetMedia 使用案例的流令牌。如果应用程序在失败时重新加载缓存数据终端节点,那么这些终端节点是安全的。
ListEdgeAgentConfigurations 50 TPS [h] N/A N/A
ListStreams 50 TPS [h] N/A
ListTagsForStream 50 TPS [h] N/A 5 TPS [h]
StartEdgeConfigurationUpdate 10 TPS [h] N/A 1 TPS [h]
TagStream 50 TPS [h] N/A 5 TPS [h]
UntagStream 50 TPS [h] N/A 5 TPS [h]
UpdateDataRetention 50 TPS [h] N/A 5 TPS [h]
UpdateImageGenerationConfiguration 50 TPS [h] N/A 5 TPS [h]
UpdateNotificationConfiguration 50 TPS [h] N/A 5 TPS [h]
UpdateStream 50 TPS [h] N/A 5 TPS [h]
UpdateStreamStorageConfiguration 50 TPS [h] N/A 5 TPS [h]
DescribeStreamStorageConfiguration 50 TPS [h] N/A 5 TPS [h]

媒体和存档媒体 API 服务配额

以下部分介绍媒体和存档媒体 API 的服务配额。

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

达到连接级别限制时,会引发 ConnectionLimitExceededException

达到片段级别限制时,会引发以下错误或确认:

  • 为低于最低持续时间的片段返回 MIN_FRAGMENT_DURATION_REACHED 确认。

  • 会为高于最高持续时间的片段返回 MAX_FRAGMENT_DURATION_REACHED 确认。

  • 会为高于最大数据大小的片段返回 MAX_FRAGMENT_SIZE 确认。

  • 如果在 GetMediaForFragmentList 操作中达到片段限制,则会引发 FragmentLimitExceeded 异常。

数据层面 API 服务配额

API Stream-level 限制 Connection-level 限制 带宽限制 Fragment-level 限制 相关的例外情况和注意事项
PutMedia 5 TPS [h] 1 [h] 每路直播 12.5 MB/second 或 100 Mbps [s]
  • 最小片段持续时间:1 秒 [h]

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

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

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

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

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

PutMedia请求是流式传输、长时间运行的连接。您无需为每条数据打开一个新连接,因为您可以在单个永久连接中发送多个片段。如果您尝试多个并发PutMedia连接,Kinesis Video Streams 会通过错误消息限制最新的连接。ConnectionLimitExceededException
GetClip N/A N/A 100 MB 大小限制 [h] 最大片段数:200 [h]
GetDASHStreamingSessionURL 25 TPS [h] N/A N/A N/A
GetHLSStreamingSessionURL 25 TPS [h] N/A N/A N/A
GetImages N/A N/A 100 MB [h] N/A

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

注意

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

GetMedia 5 TPS [h] 3 [h] 25 MB/s 或 200 Mbps [s] 每秒最多发送 5 个片段 [h] GetMedia请求是流式传输、长时间运行的连接。您无需为每条数据打开一个新连接,因为您可以在单个永久连接中发送多个片段。如果你尝试的并发GetMedia连接超过三个,Kinesis Video Streams 会通过错误消息限制最新的连接。ConnectionLimitExceededException

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

注意

GetMedia不用于 HLS/DASH 播放。

GetMediaForFragmentList N/A 5 [s] 25 MB/s 或 200 Mbps [s] 最大片段数:1000 [h] 可以同时调用五个基于片段的消费应用程序。GetMediaForFragmentList后续连接将被拒绝。

视频播放协议 API 服务配额

API Session-level 限制 Fragment-level 限制
GetDASHManifestPlaylist 5 TPS [h] 每个播放列表的最大片段数:5,000 [h]
GetHLSMasterPlaylist 5 TPS [h] N/A
GetHLSMediaPlaylist 5 TPS [h] 每个播放列表的最大片段数:5,000 [h]
GetMP4InitFragment 5 TPS [h] N/A
GetMP4MediaFragment 20 TPS [h] N/A
GetTSFragment 20 TPS [h] N/A

Fragment-metadata 和片段媒体配额

Kinesis Video Streams 访问存档媒体的 API 是根据请求的片段数量而不是 API 调用次数进行限制的。API 的速率受片段元数据数量和请求的片段媒体数量的限制。片段元数据和片段媒体配额按流计算。换句话说,对一个流中的片段元数据或媒体的请求不适用于另一个流的配额。但是,在给定的数据流中,每个配额在多个 API 之间共享。这意味着,对于给定的流,跨不同 API 的片段请求消耗的配额相同。当超过直播的片段元数据或片段媒体配额时,API 会返回ClientLimitExceededException。下表显示了 API 如何使用这两种类型的配额。对于这些表中的第二列,假设如果某个流的配额为 N,则意味着 API 在该流的配额类型中有 N 个积分可供消耗。这GetClip个 API 出现在两个表中。

Fragment-metadata 配额消耗

API 每次请求消耗的配额积分数 共享配额 (N)
ListFragments MaxResults参数的值 每个直播每秒 10,000 个配额积分 [h]
GetClip 生成的片段中的片段数
GetHLSMediaPlaylist MaxMediaPlaylistFragmentResults参数的值
GetDASHManifest MaxManifestFragmentResults参数的值
GetImages 值为 400 + 请求的最大图像数

Fragment-media 配额消耗

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: On-demand 播放

在以往事件的点播播放场景中 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 不添加元数据项目)或响应该错误。

制作人 SDK 配额

下表包含 SDK 中值的当前配额。请参阅上传到 Kinesis Video Streams了解更多信息。

注意

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

限制 注意
最大流数 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 纳秒为单位指定的,这是 SDK 标准。
最大集群持续时间 30 秒 该值是以 100 纳秒为单位指定的,这是 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 纳秒为增量指定的,这是 SDK 标准。
最大时间码标度值长度 1 秒 在生成的 MKV 集群中表示帧时间戳的最大时间码标度值。该值是以 100 纳秒为增量指定的,这是 SDK 标准。
最小内容视图项目数 10  
最小缓冲区持续时间 20 秒 该值是以 100 纳秒为增量指定的,这是 SDK 标准。
最大更新版本长度 128 个字符  
最大 ARN 长度 1024 个字符  
最大片段序列长度 128 个字符  
最大保留期 10 岁