GetImages - Amazon Kinesis Video Streams

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

GetImages

对图像的托管支持提供了一种完全托管的方式,可以从流式传输并存储在 Kinesis Video Streams 中的视频数据中获取图像。您可以使用图像来运行机器学习 (ML) 工作负载,例如人、宠物或车辆检测。图像还可用于在播放中添加交互元素,例如动作事件的图像预览和视频片段的拖动。

GetImages 还会检索与给定时间范围、采样间隔和图像格式配置的每个时间戳对应的图像列表。

注意

您必须先调用GetDataEndpointAPI以获取终端节点。然后使用 --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参数一起使用的输出图像的高度。当同时提供HeightPixelsWidthPixels参数时,图像将被拉伸以适合指定的纵横比。如果仅提供了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)。必须指定StreamNameStreamARN

类型:字符串

长度限制:长度下限为 1。长度上限为 1024。

模式:arn:[a-z\d-]+:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+

必需:否

StreamName

要从中检索图像的流的名称。必须指定StreamNameStreamARN

类型:字符串

长度限制:最小长度为 1。最大长度为 256。

模式:[a-zA-Z0-9_.-]+

必需:否

WidthPixels

HeightPixels参数一起使用的输出图像的宽度。当同时提供WidthPixelsHeightPixels参数时,图像将被拉伸以适合指定的纵横比。如果只提供了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格式返回。

Images

从视频流生成的图像列表。如果在给定时间戳内没有可用的媒体,则NO_MEDIA错误将在输出中列出。如果在生成图像时出现错误,则MEDIA_ERROR将在输出中列为图像丢失的原因。

类型:Image 对象数组

NextToken

请求中用于获取更多图像的加密令牌。

类型:字符串

长度限制:长度下限为 1。最大长度为 4096。

模式:[a-zA-Z0-9+/]+={0,2}

错误

有关所有操作的常见错误的信息,请参阅常见错误

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 秒内没有片段的流请求PlaybackModeLIVE会话为或时,则会GetDASHStreamingSessionURL抛出此错误。

HTTP状态码:404

另请参阅

有关在特定语言API中使用它的更多信息 AWS SDKs,请参阅以下内容: