本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
GetImages
对图像的托管支持提供了一种完全托管的方式,可以从流式传输并存储在 Kinesis Video Streams 中的视频数据中获取图像。您可以使用图像来运行机器学习 (ML) 工作负载,例如人、宠物或车辆检测。图像还可用于在播放中添加交互元素,例如动作事件的图像预览和视频片段的拖动。
GetImages 还会检索与给定时间范围、采样间隔和图像格式配置的每个时间戳对应的图像列表。
注意
您必须先调用GetDataEndpoint
API以获取终端节点。然后使用 --endpoint-url 参数将GetImages
请求发送到此端点。
请求语法
POST /getImages HTTP/1.1
Content-type: application/json
{
"EndTimestamp": number
,
"Format": "string
",
"FormatConfig": {
"string
" : "string
"
},
"HeightPixels": number
,
"ImageSelectorType": "string
",
"MaxResults": number
,
"NextToken": "string
",
"SamplingInterval": number
,
"StartTimestamp": number
,
"StreamARN": "string
",
"StreamName": "string
",
"WidthPixels": number
}
URI请求参数
该请求不使用任何URI参数。
请求正文
该请求接受以下JSON格式的数据。
- EndTimestamp
-
要生成的图像范围的结束时间戳。如果介于
StartTimestamp
和之间的时间范围大EndTimestamp
于 300 秒StartTimestamp
,您将收到IllegalArgumentException
。类型:时间戳
必需:是
- Format
-
将用于对图像进行编码的格式。
类型:字符串
有效值:
JPEG | PNG
必需:是
- FormatConfig
-
键值对结构的列表,其中包含可在生成图像时应用的额外参数。
FormatConfig
密钥是JPEGQuality
,它表示用于生成图像的JPEG质量密钥。该FormatConfig
值接受介于 1 到 100 之间的整数。如果该值为 1,则将生成质量较低且压缩效果最佳的图像。如果该值为 100,则将生成质量最好、压缩率更低的图像。如果未提供任何值,则JPEGQuality
密钥的默认值将设置为 80。类型:字符串到字符串映射
映射条目:最多 1 个物品。
有效密钥:
JPEGQuality
值长度限制:最小长度为 0。最大长度为 256。
价值模式:
^[a-zA-Z_0-9]+
必需:否
- HeightPixels
-
与
WidthPixels
参数一起使用的输出图像的高度。当同时提供HeightPixels
和WidthPixels
参数时,图像将被拉伸以适合指定的纵横比。如果仅提供了HeightPixels
参数,则将使用其原始纵横比来计算WidthPixels
比率。如果两个参数均未提供,则将返回原始图像尺寸。类型:整数
有效范围:最小值为 1。最大值为 2160。
必需:否
- ImageSelectorType
-
用于生成图像的服务器或制作者时间戳的来源。
类型:字符串
有效值:
PRODUCER_TIMESTAMP | SERVER_TIMESTAMP
必需:是
- MaxResults
-
返回的最大图像数API。
注意
默认限制为每次API响应 25 张图片。如果提供的值
MaxResults
大于此值,则页面大小将为 25。任何其他结果都将进行分页。类型:长整型
有效范围:最小值为 1。最大值为 100。
必需:否
- NextToken
-
一种标记,用于指定从何处开始对下一组图像进行分页。这是之前截
GetImages:NextToken
断的响应。类型:字符串
长度限制:长度下限为 1。最大长度为 4096。
模式:
[a-zA-Z0-9+/]+={0,2}
必需:否
- SamplingInterval
-
需要从流中生成图像的时间间隔,以毫秒 (ms) 为单位。可以提供的最小值为 200 ms(每秒 5 张图像)。如果时间戳范围小于采样间隔,则
startTimestamp
将返回的图像(如果有)。类型:整数
必需:是
- StartTimestamp
-
生成图像的起点。这
StartTimestamp
必须在包含的时间戳范围内,才能返回图像。类型:时间戳
必需:是
- StreamARN
-
要从中检索图像的流的 Amazon 资源名称 (ARN)。必须指定
StreamName
或StreamARN
。类型:字符串
长度限制:长度下限为 1。长度上限为 1024。
模式:
arn:[a-z\d-]+:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+
必需:否
- StreamName
-
要从中检索图像的流的名称。必须指定
StreamName
或StreamARN
。类型:字符串
长度限制:最小长度为 1。最大长度为 256。
模式:
[a-zA-Z0-9_.-]+
必需:否
- WidthPixels
-
与
HeightPixels
参数一起使用的输出图像的宽度。当同时提供WidthPixels
和HeightPixels
参数时,图像将被拉伸以适合指定的纵横比。如果只提供了WidthPixels
参数或者只提供了参数,则ValidationException
会抛出 a。HeightPixels
如果两个参数都未提供,则将返回流中的原始图像大小。类型:整数
有效范围:最小值为 1。最大值为 3840。
必需:否
响应语法
HTTP/1.1 200
Content-type: application/json
{
"Images": [
{
"Error": "string",
"ImageContent": "string",
"TimeStamp": number
}
],
"NextToken": "string"
}
响应元素
如果操作成功,服务将发回 HTTP 200 响应。
以下数据由服务以JSON格式返回。
错误
有关所有操作的常见错误的信息,请参阅常见错误。
- ClientLimitExceededException
-
Kinesis Video Streams 已限制该请求,因为你已超过限制。稍后再尝试拨打电话。有关限制的信息,请参阅 Kinesis Video Streams 配额。
HTTP状态码:400
- InvalidArgumentException
-
指定参数超出其限制、不受支持或无法使用。
HTTP状态码:400
- NotAuthorizedException
-
状态码:403,调用者无权对给定直播执行操作,或者令牌已过期。
HTTP状态码:401
- ResourceNotFoundException
-
GetImages
当 Kinesis Video Streams 找不到你指定的直播时,将引发此错误。GetHLSStreamingSessionURL
如果请求PlaybackMode
的会话在请求的时间范围内LIVE_REPLAY
没有片段,ON_DEMAND
或者在过去 30 秒内没有片段的流请求PlaybackMode
的LIVE
会话为或时,则会GetDASHStreamingSessionURL
抛出此错误。HTTP状态码:404
另请参阅
有关在特定语言API中使用它的更多信息 AWS SDKs,请参阅以下内容: