GetClip - Amazon Kinesis Video Streams

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

GetClip

在指定时间范围内从指定视频流中下载包含已存档的点播媒体的MP4文件(片段)。

StreamName 和 Stream ARN 参数都是可选的,但在调用此API操作ARN时必须指定 StreamName 或 Stream。

注意

您必须先调用GetDataEndpointAPI以获取终端节点。然后使用 --endpoint-url 参数将GetClip请求发送到此端点

Amazon Kinesis 视频流通过以下方式提供数据需要满足以下要求:MP4

您可以通过监控 GetClip.OutgoingBytes Amazon CloudWatch 指标来监控传出的数据量。有关使用 CloudWatch 监控 Kinesis Video Streams 的信息,请参阅监控 Kinesis 视频流。有关定价信息,请参阅亚马逊 Kinesis Video Stream s 定价AWS 和定价。传出 AWS 数据需收费。

重要

每个片段中包含的编解码器私有数据 (CPD) 包含特定于编解码器的初始化信息,例如帧速率、分辨率和编码配置文件,这些信息是正确解码片段所必需的。CPD不支持在生成的片段的目标片段之间进行更改。CPD必须通过查询的媒体保持一致,否则将返回错误。

重要

不支持追踪更改。在所查询的媒体中,曲目必须保持一致。如果流中的片段从只有视频变为同时包含音频和视频,或者将音轨更改为 A-Law AAC 音轨,则会返回错误。

请求语法

POST /getClip HTTP/1.1 Content-type: application/json { "ClipFragmentSelector": { "FragmentSelectorType": "string", "TimestampRange": { "EndTimestamp": number, "StartTimestamp": number } }, "StreamARN": "string", "StreamName": "string" }

URI请求参数

该请求不使用任何URI参数。

请求正文

该请求接受以下JSON格式的数据。

ClipFragmentSelector

请求的片段的时间范围和时间戳的来源。

类型:ClipFragmentSelector 对象

必需:是

StreamARN

要检索媒体片段的直播的 Amazon 资源名称 (ARN)。

必须指定 StreamName 或流ARN。

类型:字符串

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

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

必需:否

StreamName

要为其检索媒体片段的直播的名称。

必须指定 StreamName 或流ARN。

类型:字符串

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

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

必需:否

响应语法

HTTP/1.1 200 Content-Type: ContentType Payload

响应元素

如果操作成功,服务将发回 HTTP 200 响应。

响应返回以下HTTP标头。

ContentType

请求的片段中媒体的内容类型。

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

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

响应将以下内容作为HTTP正文返回。

Payload

包含指定视频流中的媒体片段的传统MP4文件。输出将包含指定开始时间戳的前 100 MB 或前 200 个片段。有关更多信息,请参阅 Kinesis Video Streams 配额。

错误

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

ClientLimitExceededException

Kinesis Video Streams 已限制该请求,因为你已超过限制。稍后再尝试拨打电话。有关限制的信息,请参阅 Kinesis Video Streams 配额。

HTTP状态码:400

InvalidArgumentException

指定参数超出其限制、不受支持或无法使用。

HTTP状态码:400

InvalidCodecPrivateDataException

视频流中至少一条轨道中的编解码器私有数据对此操作无效。

HTTP状态码:400

InvalidMediaFrameException

无法根据指定的编解码器解析请求片段中的一个或多个帧。

HTTP状态码:400

MissingCodecPrivateDataException

在视频流的至少一条轨道中未发现编解码器的私有数据。

HTTP状态码:400

NoDataRetentionException

GetImages请求的直播不保留数据(即 a DataRetentionInHours 为 0)。

HTTP状态码:400

NotAuthorizedException

状态码:403,调用者无权对给定直播执行操作,或者令牌已过期。

HTTP状态码:401

ResourceNotFoundException

GetImages当 Kinesis Video Streams 找不到你指定的直播时,将引发此错误。

GetHLSStreamingSessionURL如果请求PlaybackMode的会话在请求的时间范围内LIVE_REPLAY没有片段,ON_DEMAND或者在过去 30 秒内没有片段的流请求PlaybackModeLIVE会话为或时,则会GetDASHStreamingSessionURL抛出此错误。

HTTP状态码:404

UnsupportedStreamMediaTypeException

无法根据播放会话的第一个片段中轨道的编解码器IDs来确定媒体的类型(例如 h.264 AAC 或 h.265 视频或或 G.711 音频)。轨道 1 的编解码器 ID 应为V_MPEG/ISO/AVC,轨道 2 的编解码器 ID 也应为(可选)。A_AAC

HTTP状态码:400

另请参阅

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