GetClip - Amazon Kinesis Video Streams
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

GetClip

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

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

作为使用 GetClip API 的先决条件,必须使用GetDataEndpointAPIName参数指定 GET_CLIP 来获取终端节点。

Amazon Kinesis 视频流对通过 MP4 提供数据有以下要求:

  • 媒体必须包含 h.264 或 h.265 编码的视频以及(可选)AAC 或 G.711 编码的视频。具体而言,轨道 1 的 编解码器 ID 应为 V_MPEG/ISO/AVC(对于 h.264)或 V_MPEGH/ISO/HEVC(对于 H.265)。(可选)轨道 2 的编解码器 ID 应为 A_AAC(对于 AAC)或 A_MS/ACM(对于 G.711)。

  • 数据保留必须大于 0。

  • 对于 H.264 格式的高级视频编码 (AVC) 和 H.265 格式的 HEVC,各个片段的视频轨道必须包含编解码器专用数据。有关更多信息,请参阅 MPEG-4 规范 ISO/IEC 14496-15。有关使流数据适应给定格式的信息,请参阅 NAL 适应标志

  • 各个片段的音频轨道(如果存在)必须包含 AAC 格式 (AAC specification ISO/IEC 13818-7) 或 MS Wave 格式的编解码器专用数据。

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

请求语法

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 Resource Name(ARN)。

您必须指定 StreamName 或是::::::::::::::::

类型:字符串

长度限制:最小长度为 1。长度上限为 1024。

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

必需:否

StreamName

要检索其媒体片段的流的名称(要检索其媒体片段)。

您必须指定 StreamName 或是::::::::::::::::

类型:字符串

长度限制:最小长度为 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 个片段。有关更多信息,请参阅 Kinest::::::::::::::

错误

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

ClientLimitExceededException

Kinesis Video Streams 限制了请求,因为你已经超过了限制。稍后再尝试打电话。有关限制信息,请参阅 Kinest:::::::::::::::

HTTP 状态代码:400

InvalidArgumentException

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

HTTP 状态代码:400

InvalidCodecPrivateDataException

视频流中至少一首曲目中的编解码器私有数据对此操作无效。

HTTP 状态代码:400

InvalidMediaFrameException

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

HTTP 状态代码:400

MissingCodecPrivateDataException

在视频流的至少一首曲目中未找到编解码器私有数据。

HTTP 状态代码:400

NoDataRetentionException

请求对不保留数据(即,为 0)DataRetentionInHours的流进行流式传输会话。

HTTP 状态代码:400

NotAuthorizedException

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

HTTTTTTTTTTP

ResourceNotFoundException

GetImages当 Kinesis Video Streams 找不到你指定的直播时会抛出这个错误。

GetHLSStreamingSessionURL如果在请求的时间范围内没有片段PlaybackMode的流请求了带有LIVE_REPLAY ofON_DEMAND 或的会话,或者对于在过去 30 秒内没有片段PlaybackModeLIVE流请求了带有 of 的会话,则会GetDASHStreamingSessionURL引发此错误。

HTTP 状态代码:404

UnsupportedStreamMediaTypeException

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

HTTP 状态代码:400

另请参阅

有关在特定语言的 Amazon 软件开发工具包中使用此 API 的更多信息,请参阅以下内容: