@aws-sdk/client-kinesis-video-archived-media 3.36.0 → 3.39.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/dist-cjs/KinesisVideoArchivedMedia.js +0 -3
  3. package/dist-cjs/KinesisVideoArchivedMediaClient.js +0 -8
  4. package/dist-cjs/commands/GetClipCommand.js +0 -64
  5. package/dist-cjs/commands/GetDASHStreamingSessionURLCommand.js +0 -170
  6. package/dist-cjs/commands/GetHLSStreamingSessionURLCommand.js +0 -203
  7. package/dist-cjs/commands/GetMediaForFragmentListCommand.js +0 -60
  8. package/dist-cjs/commands/ListFragmentsCommand.js +0 -60
  9. package/dist-cjs/commands/index.js +8 -0
  10. package/dist-cjs/endpoints.js +6 -1
  11. package/dist-cjs/index.js +3 -7
  12. package/dist-cjs/models/models_0.js +0 -84
  13. package/dist-cjs/protocols/Aws_restJson1.js +0 -5
  14. package/dist-cjs/runtimeConfig.browser.js +1 -5
  15. package/dist-cjs/runtimeConfig.js +1 -5
  16. package/dist-cjs/runtimeConfig.native.js +0 -3
  17. package/dist-cjs/runtimeConfig.shared.js +0 -3
  18. package/dist-es/commands/index.js +5 -0
  19. package/dist-es/endpoints.js +6 -1
  20. package/dist-es/index.js +3 -7
  21. package/dist-types/commands/index.d.ts +5 -0
  22. package/dist-types/index.d.ts +3 -7
  23. package/dist-types/ts3.4/KinesisVideoArchivedMedia.d.ts +6 -455
  24. package/dist-types/ts3.4/KinesisVideoArchivedMediaClient.d.ts +24 -89
  25. package/dist-types/ts3.4/commands/GetClipCommand.d.ts +2 -60
  26. package/dist-types/ts3.4/commands/GetDASHStreamingSessionURLCommand.d.ts +2 -166
  27. package/dist-types/ts3.4/commands/GetHLSStreamingSessionURLCommand.d.ts +2 -199
  28. package/dist-types/ts3.4/commands/GetMediaForFragmentListCommand.d.ts +2 -56
  29. package/dist-types/ts3.4/commands/ListFragmentsCommand.d.ts +2 -56
  30. package/dist-types/ts3.4/commands/index.d.ts +5 -0
  31. package/dist-types/ts3.4/index.d.ts +3 -7
  32. package/dist-types/ts3.4/models/models_0.d.ts +104 -766
  33. package/dist-types/ts3.4/runtimeConfig.browser.d.ts +1 -3
  34. package/dist-types/ts3.4/runtimeConfig.d.ts +1 -3
  35. package/dist-types/ts3.4/runtimeConfig.native.d.ts +1 -3
  36. package/dist-types/ts3.4/runtimeConfig.shared.d.ts +1 -3
  37. package/package.json +32 -32
package/CHANGELOG.md CHANGED
@@ -3,6 +3,48 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [3.39.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.38.0...v3.39.0) (2021-10-29)
7
+
8
+ **Note:** Version bump only for package @aws-sdk/client-kinesis-video-archived-media
9
+
10
+
11
+
12
+
13
+
14
+ # [3.38.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.37.0...v3.38.0) (2021-10-22)
15
+
16
+
17
+ ### Features
18
+
19
+ * **client-documentation-generator:** rename package ([#2916](https://github.com/aws/aws-sdk-js-v3/issues/2916)) ([1a80bfd](https://github.com/aws/aws-sdk-js-v3/commit/1a80bfd2dfc583001ddb4a21b6432eaaad699aa7))
20
+ * **clients:** export folder from index.ts ([#2912](https://github.com/aws/aws-sdk-js-v3/issues/2912)) ([183b46d](https://github.com/aws/aws-sdk-js-v3/commit/183b46dde7f5613128038bf1c076f3c0b693203b))
21
+
22
+
23
+
24
+
25
+
26
+ # [3.37.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.36.1...v3.37.0) (2021-10-15)
27
+
28
+
29
+ ### Features
30
+
31
+ * **clients:** update clients as of 10/15/2021 ([#2902](https://github.com/aws/aws-sdk-js-v3/issues/2902)) ([2730b54](https://github.com/aws/aws-sdk-js-v3/commit/2730b5424377944a5a2ad5e1ad7d3ca4135dae1c))
32
+
33
+
34
+
35
+
36
+
37
+ ## [3.36.1](https://github.com/aws/aws-sdk-js-v3/compare/v3.36.0...v3.36.1) (2021-10-12)
38
+
39
+
40
+ ### Bug Fixes
41
+
42
+ * **clients:** emitDeclarationOnly in tsconfig.types.json ([#2893](https://github.com/aws/aws-sdk-js-v3/issues/2893)) ([6dc3d56](https://github.com/aws/aws-sdk-js-v3/commit/6dc3d56c20809c90cbdc4dd48627eeebc64af99d))
43
+
44
+
45
+
46
+
47
+
6
48
  # [3.36.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.35.0...v3.36.0) (2021-10-08)
7
49
 
8
50
 
@@ -7,9 +7,6 @@ const GetHLSStreamingSessionURLCommand_1 = require("./commands/GetHLSStreamingSe
7
7
  const GetMediaForFragmentListCommand_1 = require("./commands/GetMediaForFragmentListCommand");
8
8
  const ListFragmentsCommand_1 = require("./commands/ListFragmentsCommand");
9
9
  const KinesisVideoArchivedMediaClient_1 = require("./KinesisVideoArchivedMediaClient");
10
- /**
11
- * <p></p>
12
- */
13
10
  class KinesisVideoArchivedMedia extends KinesisVideoArchivedMediaClient_1.KinesisVideoArchivedMediaClient {
14
11
  getClip(args, optionsOrCb, cb) {
15
12
  const command = new GetClipCommand_1.GetClipCommand(args);
@@ -10,9 +10,6 @@ const middleware_signing_1 = require("@aws-sdk/middleware-signing");
10
10
  const middleware_user_agent_1 = require("@aws-sdk/middleware-user-agent");
11
11
  const smithy_client_1 = require("@aws-sdk/smithy-client");
12
12
  const runtimeConfig_1 = require("./runtimeConfig");
13
- /**
14
- * <p></p>
15
- */
16
13
  class KinesisVideoArchivedMediaClient extends smithy_client_1.Client {
17
14
  constructor(configuration) {
18
15
  const _config_0 = runtimeConfig_1.getRuntimeConfig(configuration);
@@ -31,11 +28,6 @@ class KinesisVideoArchivedMediaClient extends smithy_client_1.Client {
31
28
  this.middlewareStack.use(middleware_signing_1.getAwsAuthPlugin(this.config));
32
29
  this.middlewareStack.use(middleware_user_agent_1.getUserAgentPlugin(this.config));
33
30
  }
34
- /**
35
- * Destroy underlying resources, like sockets. It's usually not necessary to do this.
36
- * However in Node.js, it's best to explicitly shut down the client's agent when it is no longer needed.
37
- * Otherwise, sockets might stay open for quite a long time before the server terminates them.
38
- */
39
31
  destroy() {
40
32
  super.destroy();
41
33
  }
@@ -5,75 +5,11 @@ const middleware_serde_1 = require("@aws-sdk/middleware-serde");
5
5
  const smithy_client_1 = require("@aws-sdk/smithy-client");
6
6
  const models_0_1 = require("../models/models_0");
7
7
  const Aws_restJson1_1 = require("../protocols/Aws_restJson1");
8
- /**
9
- * <p>Downloads an MP4 file (clip) containing the archived, on-demand media from the
10
- * specified video stream over the specified time range. </p>
11
- * <p>Both the StreamName and the StreamARN parameters are optional, but you must specify
12
- * either the StreamName or the StreamARN when invoking this API operation. </p>
13
- *
14
- * <p>As a prerequisite to using GetCLip API, you must obtain an endpoint using
15
- * <code>GetDataEndpoint</code>, specifying GET_CLIP for<code></code> the
16
- * <code>APIName</code> parameter. </p>
17
- * <p>An Amazon Kinesis video stream has the following requirements for providing data
18
- * through MP4:</p>
19
- * <ul>
20
- * <li>
21
- * <p>The media must contain h.264 or h.265 encoded video and, optionally, AAC or
22
- * G.711 encoded audio. Specifically, the codec ID of track 1 should be
23
- * <code>V_MPEG/ISO/AVC</code> (for h.264) or V_MPEGH/ISO/HEVC (for H.265).
24
- * Optionally, the codec ID of track 2 should be <code>A_AAC</code> (for AAC) or
25
- * A_MS/ACM (for G.711).</p>
26
- * </li>
27
- * <li>
28
- * <p>Data retention must be greater than 0.</p>
29
- * </li>
30
- * <li>
31
- * <p>The video track of each fragment must contain codec private data in the
32
- * Advanced Video Coding (AVC) for H.264 format and HEVC for H.265 format. For more
33
- * information, see <a href="https://www.iso.org/standard/55980.html">MPEG-4
34
- * specification ISO/IEC 14496-15</a>. For information about adapting
35
- * stream data to a given format, see <a href="http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/producer-reference-nal.html">NAL Adaptation Flags</a>.</p>
36
- * </li>
37
- * <li>
38
- * <p>The audio track (if present) of each fragment must contain codec private data
39
- * in the AAC format (<a href="https://www.iso.org/standard/43345.html">AAC
40
- * specification ISO/IEC 13818-7</a>) or the <a href="http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html">MS
41
- * Wave format</a>.</p>
42
- * </li>
43
- * </ul>
44
- *
45
- * <p>You can monitor the amount of outgoing data by monitoring the
46
- * <code>GetClip.OutgoingBytes</code> Amazon CloudWatch metric. For information about
47
- * using CloudWatch to monitor Kinesis Video Streams, see <a href="http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/monitoring.html">Monitoring Kinesis Video Streams</a>. For pricing information, see <a href="https://aws.amazon.com/kinesis/video-streams/pricing/">Amazon Kinesis Video
48
- * Streams Pricing</a> and <a href="https://aws.amazon.com/pricing/">AWS
49
- * Pricing</a>. Charges for outgoing AWS data apply.</p>
50
- * @example
51
- * Use a bare-bones client and the command you need to make an API call.
52
- * ```javascript
53
- * import { KinesisVideoArchivedMediaClient, GetClipCommand } from "@aws-sdk/client-kinesis-video-archived-media"; // ES Modules import
54
- * // const { KinesisVideoArchivedMediaClient, GetClipCommand } = require("@aws-sdk/client-kinesis-video-archived-media"); // CommonJS import
55
- * const client = new KinesisVideoArchivedMediaClient(config);
56
- * const command = new GetClipCommand(input);
57
- * const response = await client.send(command);
58
- * ```
59
- *
60
- * @see {@link GetClipCommandInput} for command's `input` shape.
61
- * @see {@link GetClipCommandOutput} for command's `response` shape.
62
- * @see {@link KinesisVideoArchivedMediaClientResolvedConfig | config} for command's `input` shape.
63
- *
64
- */
65
8
  class GetClipCommand extends smithy_client_1.Command {
66
- // Start section: command_properties
67
- // End section: command_properties
68
9
  constructor(input) {
69
- // Start section: command_constructor
70
10
  super();
71
11
  this.input = input;
72
- // End section: command_constructor
73
12
  }
74
- /**
75
- * @internal
76
- */
77
13
  resolveMiddleware(clientStack, configuration, options) {
78
14
  this.middlewareStack.use(middleware_serde_1.getSerdePlugin(configuration, this.serialize, this.deserialize));
79
15
  const stack = clientStack.concat(this.middlewareStack);
@@ -5,181 +5,11 @@ const middleware_serde_1 = require("@aws-sdk/middleware-serde");
5
5
  const smithy_client_1 = require("@aws-sdk/smithy-client");
6
6
  const models_0_1 = require("../models/models_0");
7
7
  const Aws_restJson1_1 = require("../protocols/Aws_restJson1");
8
- /**
9
- * <p>Retrieves an MPEG Dynamic Adaptive Streaming over HTTP (DASH) URL for the stream. You
10
- * can then open the URL in a media player to view the stream contents.</p>
11
- *
12
- * <p>Both the <code>StreamName</code> and the <code>StreamARN</code> parameters are
13
- * optional, but you must specify either the <code>StreamName</code> or the
14
- * <code>StreamARN</code> when invoking this API operation.</p>
15
- * <p>An Amazon Kinesis video stream has the following requirements for providing data
16
- * through MPEG-DASH:</p>
17
- * <ul>
18
- * <li>
19
- * <p>The media must contain h.264 or h.265 encoded video and, optionally, AAC or
20
- * G.711 encoded audio. Specifically, the codec ID of track 1 should be
21
- * <code>V_MPEG/ISO/AVC</code> (for h.264) or V_MPEGH/ISO/HEVC (for H.265).
22
- * Optionally, the codec ID of track 2 should be <code>A_AAC</code> (for AAC) or
23
- * A_MS/ACM (for G.711).</p>
24
- * </li>
25
- * <li>
26
- * <p>Data retention must be greater than 0.</p>
27
- * </li>
28
- * <li>
29
- * <p>The video track of each fragment must contain codec private data in the
30
- * Advanced Video Coding (AVC) for H.264 format and HEVC for H.265 format. For more
31
- * information, see <a href="https://www.iso.org/standard/55980.html">MPEG-4
32
- * specification ISO/IEC 14496-15</a>. For information about adapting
33
- * stream data to a given format, see <a href="http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/producer-reference-nal.html">NAL Adaptation Flags</a>.</p>
34
- * </li>
35
- * <li>
36
- * <p>The audio track (if present) of each fragment must contain codec private data
37
- * in the AAC format (<a href="https://www.iso.org/standard/43345.html">AAC
38
- * specification ISO/IEC 13818-7</a>) or the <a href="http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html">MS
39
- * Wave format</a>.</p>
40
- * </li>
41
- * </ul>
42
- *
43
- * <p>The following procedure shows how to use MPEG-DASH with Kinesis Video Streams:</p>
44
- * <ol>
45
- * <li>
46
- * <p>Get an endpoint using <a href="http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_GetDataEndpoint.html">GetDataEndpoint</a>, specifying
47
- * <code>GET_DASH_STREAMING_SESSION_URL</code> for the <code>APIName</code>
48
- * parameter.</p>
49
- * </li>
50
- * <li>
51
- * <p>Retrieve the MPEG-DASH URL using <code>GetDASHStreamingSessionURL</code>.
52
- * Kinesis Video Streams creates an MPEG-DASH streaming session to be used for
53
- * accessing content in a stream using the MPEG-DASH protocol.
54
- * <code>GetDASHStreamingSessionURL</code> returns an authenticated URL (that
55
- * includes an encrypted session token) for the session's MPEG-DASH
56
- * <i>manifest</i> (the root resource needed for streaming with
57
- * MPEG-DASH).</p>
58
- * <note>
59
- * <p>Don't share or store this token where an unauthorized entity can access
60
- * it. The token provides access to the content of the stream. Safeguard the
61
- * token with the same measures that you use with your AWS credentials.</p>
62
- * </note>
63
- * <p>The media that is made available through the manifest consists only of the
64
- * requested stream, time range, and format. No other media data (such as frames
65
- * outside the requested window or alternate bitrates) is made available.</p>
66
- * </li>
67
- * <li>
68
- * <p>Provide the URL (containing the encrypted session token) for the MPEG-DASH
69
- * manifest to a media player that supports the MPEG-DASH protocol. Kinesis Video
70
- * Streams makes the initialization fragment and media fragments available through
71
- * the manifest URL. The initialization fragment contains the codec private data
72
- * for the stream, and other data needed to set up the video or audio decoder and
73
- * renderer. The media fragments contain encoded video frames or encoded audio
74
- * samples.</p>
75
- * </li>
76
- * <li>
77
- * <p>The media player receives the authenticated URL and requests stream metadata
78
- * and media data normally. When the media player requests data, it calls the
79
- * following actions:</p>
80
- * <ul>
81
- * <li>
82
- * <p>
83
- * <b>GetDASHManifest:</b> Retrieves an MPEG DASH
84
- * manifest, which contains the metadata for the media that you want to
85
- * playback.</p>
86
- * </li>
87
- * <li>
88
- * <p>
89
- * <b>GetMP4InitFragment:</b> Retrieves the MP4
90
- * initialization fragment. The media player typically loads the
91
- * initialization fragment before loading any media fragments. This
92
- * fragment contains the "<code>fytp</code>" and "<code>moov</code>" MP4
93
- * atoms, and the child atoms that are needed to initialize the media
94
- * player decoder.</p>
95
- * <p>The initialization fragment does not correspond to a fragment in a
96
- * Kinesis video stream. It contains only the codec private data for the
97
- * stream and respective track, which the media player needs to decode the
98
- * media frames.</p>
99
- * </li>
100
- * <li>
101
- * <p>
102
- * <b>GetMP4MediaFragment:</b> Retrieves MP4
103
- * media fragments. These fragments contain the "<code>moof</code>" and
104
- * "<code>mdat</code>" MP4 atoms and their child atoms, containing the
105
- * encoded fragment's media frames and their timestamps. </p>
106
- * <note>
107
- * <p>After the first media fragment is made available in a streaming
108
- * session, any fragments that don't contain the same codec private
109
- * data cause an error to be returned when those different media
110
- * fragments are loaded. Therefore, the codec private data should not
111
- * change between fragments in a session. This also means that the
112
- * session fails if the fragments in a stream change from having only
113
- * video to having both audio and video.</p>
114
- * </note>
115
- * <p>Data retrieved with this action is billable. See <a href="https://aws.amazon.com/kinesis/video-streams/pricing/">Pricing</a> for details.</p>
116
- * </li>
117
- * </ul>
118
- * </li>
119
- * </ol>
120
- * <note>
121
- * <p>For restrictions that apply to MPEG-DASH sessions, see <a href="http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/limits.html">Kinesis Video Streams Limits</a>.</p>
122
- * </note>
123
- * <p>You can monitor the amount of data that the media player consumes by monitoring the
124
- * <code>GetMP4MediaFragment.OutgoingBytes</code> Amazon CloudWatch metric. For
125
- * information about using CloudWatch to monitor Kinesis Video Streams, see <a href="http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/monitoring.html">Monitoring Kinesis Video Streams</a>. For pricing information, see <a href="https://aws.amazon.com/kinesis/video-streams/pricing/">Amazon Kinesis Video
126
- * Streams Pricing</a> and <a href="https://aws.amazon.com/pricing/">AWS
127
- * Pricing</a>. Charges for both HLS sessions and outgoing AWS data apply.</p>
128
- * <p>For more information about HLS, see <a href="https://developer.apple.com/streaming/">HTTP Live Streaming</a> on the
129
- * <a href="https://developer.apple.com">Apple Developer site</a>.</p>
130
- *
131
- * <important>
132
- * <p>If an error is thrown after invoking a Kinesis Video Streams archived media API,
133
- * in addition to the HTTP status code and the response body, it includes the following
134
- * pieces of information: </p>
135
- * <ul>
136
- * <li>
137
- * <p>
138
- * <code>x-amz-ErrorType</code> HTTP header – contains a more specific error
139
- * type in addition to what the HTTP status code provides. </p>
140
- * </li>
141
- * <li>
142
- * <p>
143
- * <code>x-amz-RequestId</code> HTTP header – if you want to report an issue to
144
- * AWS, the support team can better diagnose the problem if given the Request
145
- * Id.</p>
146
- * </li>
147
- * </ul>
148
- * <p>Both the HTTP status code and the ErrorType header can be utilized to make
149
- * programmatic decisions about whether errors are retry-able and under what
150
- * conditions, as well as provide information on what actions the client programmer
151
- * might need to take in order to successfully try again.</p>
152
- * <p>For more information, see the <b>Errors</b> section at
153
- * the bottom of this topic, as well as <a href="https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/CommonErrors.html">Common Errors</a>.
154
- * </p>
155
- * </important>
156
- * @example
157
- * Use a bare-bones client and the command you need to make an API call.
158
- * ```javascript
159
- * import { KinesisVideoArchivedMediaClient, GetDASHStreamingSessionURLCommand } from "@aws-sdk/client-kinesis-video-archived-media"; // ES Modules import
160
- * // const { KinesisVideoArchivedMediaClient, GetDASHStreamingSessionURLCommand } = require("@aws-sdk/client-kinesis-video-archived-media"); // CommonJS import
161
- * const client = new KinesisVideoArchivedMediaClient(config);
162
- * const command = new GetDASHStreamingSessionURLCommand(input);
163
- * const response = await client.send(command);
164
- * ```
165
- *
166
- * @see {@link GetDASHStreamingSessionURLCommandInput} for command's `input` shape.
167
- * @see {@link GetDASHStreamingSessionURLCommandOutput} for command's `response` shape.
168
- * @see {@link KinesisVideoArchivedMediaClientResolvedConfig | config} for command's `input` shape.
169
- *
170
- */
171
8
  class GetDASHStreamingSessionURLCommand extends smithy_client_1.Command {
172
- // Start section: command_properties
173
- // End section: command_properties
174
9
  constructor(input) {
175
- // Start section: command_constructor
176
10
  super();
177
11
  this.input = input;
178
- // End section: command_constructor
179
12
  }
180
- /**
181
- * @internal
182
- */
183
13
  resolveMiddleware(clientStack, configuration, options) {
184
14
  this.middlewareStack.use(middleware_serde_1.getSerdePlugin(configuration, this.serialize, this.deserialize));
185
15
  const stack = clientStack.concat(this.middlewareStack);
@@ -5,214 +5,11 @@ const middleware_serde_1 = require("@aws-sdk/middleware-serde");
5
5
  const smithy_client_1 = require("@aws-sdk/smithy-client");
6
6
  const models_0_1 = require("../models/models_0");
7
7
  const Aws_restJson1_1 = require("../protocols/Aws_restJson1");
8
- /**
9
- * <p>Retrieves an HTTP Live Streaming (HLS) URL for the stream. You can then open the URL
10
- * in a browser or media player to view the stream contents.</p>
11
- * <p>Both the <code>StreamName</code> and the <code>StreamARN</code> parameters are
12
- * optional, but you must specify either the <code>StreamName</code> or the
13
- * <code>StreamARN</code> when invoking this API operation.</p>
14
- * <p>An Amazon Kinesis video stream has the following requirements for providing data
15
- * through HLS:</p>
16
- * <ul>
17
- * <li>
18
- * <p>The media must contain h.264 or h.265 encoded video and, optionally, AAC
19
- * encoded audio. Specifically, the codec ID of track 1 should be
20
- * <code>V_MPEG/ISO/AVC</code> (for h.264) or <code>V_MPEG/ISO/HEVC</code> (for
21
- * h.265). Optionally, the codec ID of track 2 should be <code>A_AAC</code>.</p>
22
- * </li>
23
- * <li>
24
- * <p>Data retention must be greater than 0.</p>
25
- * </li>
26
- * <li>
27
- * <p>The video track of each fragment must contain codec private data in the
28
- * Advanced Video Coding (AVC) for H.264 format or HEVC for H.265 format (<a href="https://www.iso.org/standard/55980.html">MPEG-4 specification ISO/IEC
29
- * 14496-15</a>). For information about adapting stream data to a given
30
- * format, see <a href="http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/producer-reference-nal.html">NAL Adaptation Flags</a>.</p>
31
- * </li>
32
- * <li>
33
- * <p>The audio track (if present) of each fragment must contain codec private data
34
- * in the AAC format (<a href="https://www.iso.org/standard/43345.html">AAC
35
- * specification ISO/IEC 13818-7</a>).</p>
36
- * </li>
37
- * </ul>
38
- * <p>Kinesis Video Streams HLS sessions contain fragments in the fragmented MPEG-4 form
39
- * (also called fMP4 or CMAF) or the MPEG-2 form (also called TS chunks, which the HLS
40
- * specification also supports). For more information about HLS fragment types, see the
41
- * <a href="https://tools.ietf.org/html/draft-pantos-http-live-streaming-23">HLS
42
- * specification</a>.</p>
43
- * <p>The following procedure shows how to use HLS with Kinesis Video Streams:</p>
44
- * <ol>
45
- * <li>
46
- * <p>Get an endpoint using <a href="http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_GetDataEndpoint.html">GetDataEndpoint</a>, specifying
47
- * <code>GET_HLS_STREAMING_SESSION_URL</code> for the <code>APIName</code>
48
- * parameter.</p>
49
- * </li>
50
- * <li>
51
- * <p>Retrieve the HLS URL using <code>GetHLSStreamingSessionURL</code>. Kinesis
52
- * Video Streams creates an HLS streaming session to be used for accessing content
53
- * in a stream using the HLS protocol. <code>GetHLSStreamingSessionURL</code>
54
- * returns an authenticated URL (that includes an encrypted session token) for the
55
- * session's HLS <i>master playlist</i> (the root resource needed for
56
- * streaming with HLS).</p>
57
- * <note>
58
- * <p>Don't share or store this token where an unauthorized entity could access
59
- * it. The token provides access to the content of the stream. Safeguard the
60
- * token with the same measures that you would use with your AWS
61
- * credentials.</p>
62
- * </note>
63
- * <p>The media that is made available through the playlist consists only of the
64
- * requested stream, time range, and format. No other media data (such as frames
65
- * outside the requested window or alternate bitrates) is made available.</p>
66
- * </li>
67
- * <li>
68
- * <p>Provide the URL (containing the encrypted session token) for the HLS master
69
- * playlist to a media player that supports the HLS protocol. Kinesis Video Streams
70
- * makes the HLS media playlist, initialization fragment, and media fragments
71
- * available through the master playlist URL. The initialization fragment contains
72
- * the codec private data for the stream, and other data needed to set up the video
73
- * or audio decoder and renderer. The media fragments contain H.264-encoded video
74
- * frames or AAC-encoded audio samples.</p>
75
- * </li>
76
- * <li>
77
- * <p>The media player receives the authenticated URL and requests stream metadata
78
- * and media data normally. When the media player requests data, it calls the
79
- * following actions:</p>
80
- * <ul>
81
- * <li>
82
- * <p>
83
- * <b>GetHLSMasterPlaylist:</b> Retrieves an HLS
84
- * master playlist, which contains a URL for the
85
- * <code>GetHLSMediaPlaylist</code> action for each track, and
86
- * additional metadata for the media player, including estimated bitrate
87
- * and resolution.</p>
88
- * </li>
89
- * <li>
90
- * <p>
91
- * <b>GetHLSMediaPlaylist:</b> Retrieves an HLS
92
- * media playlist, which contains a URL to access the MP4 initialization
93
- * fragment with the <code>GetMP4InitFragment</code> action, and URLs to
94
- * access the MP4 media fragments with the <code>GetMP4MediaFragment</code>
95
- * actions. The HLS media playlist also contains metadata about the stream
96
- * that the player needs to play it, such as whether the
97
- * <code>PlaybackMode</code> is <code>LIVE</code> or
98
- * <code>ON_DEMAND</code>. The HLS media playlist is typically static
99
- * for sessions with a <code>PlaybackType</code> of <code>ON_DEMAND</code>.
100
- * The HLS media playlist is continually updated with new fragments for
101
- * sessions with a <code>PlaybackType</code> of <code>LIVE</code>. There is
102
- * a distinct HLS media playlist for the video track and the audio track
103
- * (if applicable) that contains MP4 media URLs for the specific track.
104
- * </p>
105
- * </li>
106
- * <li>
107
- * <p>
108
- * <b>GetMP4InitFragment:</b> Retrieves the MP4
109
- * initialization fragment. The media player typically loads the
110
- * initialization fragment before loading any media fragments. This
111
- * fragment contains the "<code>fytp</code>" and "<code>moov</code>" MP4
112
- * atoms, and the child atoms that are needed to initialize the media
113
- * player decoder.</p>
114
- * <p>The initialization fragment does not correspond to a fragment in a
115
- * Kinesis video stream. It contains only the codec private data for the
116
- * stream and respective track, which the media player needs to decode the
117
- * media frames.</p>
118
- * </li>
119
- * <li>
120
- * <p>
121
- * <b>GetMP4MediaFragment:</b> Retrieves MP4
122
- * media fragments. These fragments contain the "<code>moof</code>" and
123
- * "<code>mdat</code>" MP4 atoms and their child atoms, containing the
124
- * encoded fragment's media frames and their timestamps. </p>
125
- * <note>
126
- * <p>After the first media fragment is made available in a streaming
127
- * session, any fragments that don't contain the same codec private
128
- * data cause an error to be returned when those different media
129
- * fragments are loaded. Therefore, the codec private data should not
130
- * change between fragments in a session. This also means that the
131
- * session fails if the fragments in a stream change from having only
132
- * video to having both audio and video.</p>
133
- * </note>
134
- * <p>Data retrieved with this action is billable. See <a href="https://aws.amazon.com/kinesis/video-streams/pricing/">Pricing</a> for details.</p>
135
- * </li>
136
- * <li>
137
- * <p>
138
- * <b>GetTSFragment:</b> Retrieves MPEG TS
139
- * fragments containing both initialization and media data for all tracks
140
- * in the stream.</p>
141
- * <note>
142
- * <p>If the <code>ContainerFormat</code> is <code>MPEG_TS</code>, this
143
- * API is used instead of <code>GetMP4InitFragment</code> and
144
- * <code>GetMP4MediaFragment</code> to retrieve stream
145
- * media.</p>
146
- * </note>
147
- * <p>Data retrieved with this action is billable. For more information, see
148
- * <a href="https://aws.amazon.com/kinesis/video-streams/pricing/">Kinesis Video Streams pricing</a>.</p>
149
- * </li>
150
- * </ul>
151
- * </li>
152
- * </ol>
153
- * <p>A streaming session URL must not be shared between players. The service
154
- * might throttle a session if multiple media players are sharing it. For
155
- * connection limits, see <a href="http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/limits.html">Kinesis Video Streams Limits</a>.</p>
156
- * <p>You can monitor the amount of data that the media player consumes by monitoring the
157
- * <code>GetMP4MediaFragment.OutgoingBytes</code> Amazon CloudWatch metric. For
158
- * information about using CloudWatch to monitor Kinesis Video Streams, see <a href="http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/monitoring.html">Monitoring Kinesis Video Streams</a>. For pricing information, see <a href="https://aws.amazon.com/kinesis/video-streams/pricing/">Amazon Kinesis Video
159
- * Streams Pricing</a> and <a href="https://aws.amazon.com/pricing/">AWS
160
- * Pricing</a>. Charges for both HLS sessions and outgoing AWS data apply.</p>
161
- * <p>For more information about HLS, see <a href="https://developer.apple.com/streaming/">HTTP Live Streaming</a> on the
162
- * <a href="https://developer.apple.com">Apple Developer site</a>.</p>
163
- *
164
- * <important>
165
- * <p>If an error is thrown after invoking a Kinesis Video Streams archived media API,
166
- * in addition to the HTTP status code and the response body, it includes the following
167
- * pieces of information: </p>
168
- * <ul>
169
- * <li>
170
- * <p>
171
- * <code>x-amz-ErrorType</code> HTTP header – contains a more specific error
172
- * type in addition to what the HTTP status code provides. </p>
173
- * </li>
174
- * <li>
175
- * <p>
176
- * <code>x-amz-RequestId</code> HTTP header – if you want to report an issue to
177
- * AWS, the support team can better diagnose the problem if given the Request
178
- * Id.</p>
179
- * </li>
180
- * </ul>
181
- * <p>Both the HTTP status code and the ErrorType header can be utilized to make
182
- * programmatic decisions about whether errors are retry-able and under what
183
- * conditions, as well as provide information on what actions the client programmer
184
- * might need to take in order to successfully try again.</p>
185
- * <p>For more information, see the <b>Errors</b> section at
186
- * the bottom of this topic, as well as <a href="https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/CommonErrors.html">Common Errors</a>.
187
- * </p>
188
- * </important>
189
- * @example
190
- * Use a bare-bones client and the command you need to make an API call.
191
- * ```javascript
192
- * import { KinesisVideoArchivedMediaClient, GetHLSStreamingSessionURLCommand } from "@aws-sdk/client-kinesis-video-archived-media"; // ES Modules import
193
- * // const { KinesisVideoArchivedMediaClient, GetHLSStreamingSessionURLCommand } = require("@aws-sdk/client-kinesis-video-archived-media"); // CommonJS import
194
- * const client = new KinesisVideoArchivedMediaClient(config);
195
- * const command = new GetHLSStreamingSessionURLCommand(input);
196
- * const response = await client.send(command);
197
- * ```
198
- *
199
- * @see {@link GetHLSStreamingSessionURLCommandInput} for command's `input` shape.
200
- * @see {@link GetHLSStreamingSessionURLCommandOutput} for command's `response` shape.
201
- * @see {@link KinesisVideoArchivedMediaClientResolvedConfig | config} for command's `input` shape.
202
- *
203
- */
204
8
  class GetHLSStreamingSessionURLCommand extends smithy_client_1.Command {
205
- // Start section: command_properties
206
- // End section: command_properties
207
9
  constructor(input) {
208
- // Start section: command_constructor
209
10
  super();
210
11
  this.input = input;
211
- // End section: command_constructor
212
12
  }
213
- /**
214
- * @internal
215
- */
216
13
  resolveMiddleware(clientStack, configuration, options) {
217
14
  this.middlewareStack.use(middleware_serde_1.getSerdePlugin(configuration, this.serialize, this.deserialize));
218
15
  const stack = clientStack.concat(this.middlewareStack);
@@ -5,71 +5,11 @@ const middleware_serde_1 = require("@aws-sdk/middleware-serde");
5
5
  const smithy_client_1 = require("@aws-sdk/smithy-client");
6
6
  const models_0_1 = require("../models/models_0");
7
7
  const Aws_restJson1_1 = require("../protocols/Aws_restJson1");
8
- /**
9
- * <p>Gets media for a list of fragments (specified by fragment number) from the archived
10
- * data in an Amazon Kinesis video stream.</p>
11
- *
12
- * <note>
13
- * <p>You must first call the <code>GetDataEndpoint</code> API to get an endpoint.
14
- * Then send the <code>GetMediaForFragmentList</code> requests to this endpoint using
15
- * the <a href="https://docs.aws.amazon.com/cli/latest/reference/">--endpoint-url
16
- * parameter</a>. </p>
17
- * </note>
18
- *
19
- * <p>For limits, see <a href="http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/limits.html">Kinesis Video Streams Limits</a>.</p>
20
- *
21
- * <important>
22
- * <p>If an error is thrown after invoking a Kinesis Video Streams archived media API,
23
- * in addition to the HTTP status code and the response body, it includes the following
24
- * pieces of information: </p>
25
- * <ul>
26
- * <li>
27
- * <p>
28
- * <code>x-amz-ErrorType</code> HTTP header – contains a more specific error
29
- * type in addition to what the HTTP status code provides. </p>
30
- * </li>
31
- * <li>
32
- * <p>
33
- * <code>x-amz-RequestId</code> HTTP header – if you want to report an issue to
34
- * AWS, the support team can better diagnose the problem if given the Request
35
- * Id.</p>
36
- * </li>
37
- * </ul>
38
- * <p>Both the HTTP status code and the ErrorType header can be utilized to make
39
- * programmatic decisions about whether errors are retry-able and under what
40
- * conditions, as well as provide information on what actions the client programmer
41
- * might need to take in order to successfully try again.</p>
42
- * <p>For more information, see the <b>Errors</b> section at
43
- * the bottom of this topic, as well as <a href="https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/CommonErrors.html">Common Errors</a>.
44
- * </p>
45
- * </important>
46
- * @example
47
- * Use a bare-bones client and the command you need to make an API call.
48
- * ```javascript
49
- * import { KinesisVideoArchivedMediaClient, GetMediaForFragmentListCommand } from "@aws-sdk/client-kinesis-video-archived-media"; // ES Modules import
50
- * // const { KinesisVideoArchivedMediaClient, GetMediaForFragmentListCommand } = require("@aws-sdk/client-kinesis-video-archived-media"); // CommonJS import
51
- * const client = new KinesisVideoArchivedMediaClient(config);
52
- * const command = new GetMediaForFragmentListCommand(input);
53
- * const response = await client.send(command);
54
- * ```
55
- *
56
- * @see {@link GetMediaForFragmentListCommandInput} for command's `input` shape.
57
- * @see {@link GetMediaForFragmentListCommandOutput} for command's `response` shape.
58
- * @see {@link KinesisVideoArchivedMediaClientResolvedConfig | config} for command's `input` shape.
59
- *
60
- */
61
8
  class GetMediaForFragmentListCommand extends smithy_client_1.Command {
62
- // Start section: command_properties
63
- // End section: command_properties
64
9
  constructor(input) {
65
- // Start section: command_constructor
66
10
  super();
67
11
  this.input = input;
68
- // End section: command_constructor
69
12
  }
70
- /**
71
- * @internal
72
- */
73
13
  resolveMiddleware(clientStack, configuration, options) {
74
14
  this.middlewareStack.use(middleware_serde_1.getSerdePlugin(configuration, this.serialize, this.deserialize));
75
15
  const stack = clientStack.concat(this.middlewareStack);