GetMediaForFragmentList

Gets media for a list of fragments (specified by fragment number) from the archived
data in an Amazon Kinesis video stream.

Note

You must first call the GetDataEndpoint API to get an endpoint.
Then send the GetMediaForFragmentList requests to this endpoint using
the --endpoint-url
parameter.

The following limits apply when using the GetMediaForFragmentList
API:

A client can call GetMediaForFragmentList up to five times per
second per stream.

Kinesis Video Streams sends media data at a rate of up to 25 megabytes per
second (or 200 megabits per second) during a
GetMediaForFragmentList session.

Important

If an error is thrown after invoking a Kinesis Video Streams archived media API,
in addition to the HTTP status code and the response body, it includes the following
pieces of information:

x-amz-ErrorType HTTP header – contains a more specific error
type in addition to what the HTTP status code provides.

x-amz-RequestId HTTP header – if you want to report an issue to
AWS, the support team can better diagnose the problem if given the Request
Id.

Both the HTTP status code and the ErrorType header can be utilized to make
programmatic decisions about whether errors are retry-able and under what
conditions, as well as provide information on what actions the client programmer
might need to take in order to successfully try again.

For more information, see the Errors section at
the bottom of this topic, as well as Common Errors.

The payload that Kinesis Video Streams returns is a sequence of chunks from the
specified stream. For information about the chunks, see PutMedia. The chunks that Kinesis Video Streams returns in the
GetMediaForFragmentList call also include the following additional
Matroska (MKV) tags:

AWS_KINESISVIDEO_FRAGMENT_NUMBER - Fragment number returned in the
chunk.

AWS_KINESISVIDEO_FRAGMENT_NUMBER - The number of the fragment that threw the
exception

AWS_KINESISVIDEO_EXCEPTION_ERROR_CODE - The integer code of the
exception

AWS_KINESISVIDEO_EXCEPTION_MESSAGE - A text description of the
exception

Errors

For information about the errors that are common to all actions, see Common Errors.

ClientLimitExceededException

Kinesis Video Streams has throttled the request because you have exceeded the limit
of
allowed client calls. Try making the call later.

HTTP Status Code: 400

InvalidArgumentException

A specified parameter exceeds its restrictions, is not supported, or can't be
used.

HTTP Status Code: 400

NotAuthorizedException

Status Code: 403, The caller is not authorized to perform an operation on the given
stream, or the token has expired.

HTTP Status Code: 401

ResourceNotFoundException

GetMedia throws this error when Kinesis Video Streams can't find the stream
that you specified.

GetHLSStreamingSessionURL and GetDASHStreamingSessionURL throw
this error if a session with a PlaybackMode of ON_DEMAND or
LIVE_REPLAYis requested for a stream that has no fragments within the
requested time range, or if a session with a PlaybackMode of
LIVE is requested for a stream that has no fragments within the last 30
seconds.

HTTP Status Code: 404

See Also

For more information about using this API in one of the language-specific AWS SDKs,
see the following: