aws-sdk-kinesisvideoarchivedmedia 1.7.0 → 1.8.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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d96dd21124299a0b8e22cce249696a6249f51fa6
|
4
|
+
data.tar.gz: 7c70e7cb8858d1693092fd9794bff62ef6c9ce82
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8987eae705f6a47006e6de97f93665a380eddea2734ae60017fd20f4cd0261fdbbef59f276330a478374e4321452c30214ded56cff1b710d6ea6e8f0c50ee0cf
|
7
|
+
data.tar.gz: 056fbdb5ba8e4b87a7346a028d363157575ac60438f49dad11b8227a77e610fc048b61b501b402412b4cf14c37a595243c90c713a2320557e58a5536be7afdfb
|
@@ -214,25 +214,32 @@ module Aws::KinesisVideoArchivedMedia
|
|
214
214
|
# An Amazon Kinesis video stream has the following requirements for
|
215
215
|
# providing data through HLS:
|
216
216
|
#
|
217
|
-
# * The media
|
217
|
+
# * The media must contain h.264 encoded video and, optionally, AAC
|
218
|
+
# encoded audio. Specifically, the codec id of track 1 should be
|
219
|
+
# `V_MPEG/ISO/AVC`. Optionally, the codec id of track 2 should be
|
220
|
+
# `A_AAC`.
|
218
221
|
#
|
219
222
|
# * Data retention must be greater than 0.
|
220
223
|
#
|
221
|
-
# * The
|
222
|
-
# Video Coding) for H.264 format ([MPEG-4
|
223
|
-
# 14496-15][1]). For information about adapting
|
224
|
-
# format, see [NAL Adaptation Flags][2].
|
224
|
+
# * The video track of each fragment must contain codec private data in
|
225
|
+
# the Advanced Video Coding (AVC) for H.264 format ([MPEG-4
|
226
|
+
# specification ISO/IEC 14496-15][1]). For information about adapting
|
227
|
+
# stream data to a given format, see [NAL Adaptation Flags][2].
|
228
|
+
#
|
229
|
+
# * The audio track (if present) of each fragment must contain codec
|
230
|
+
# private data in the AAC format ([AAC specification ISO/IEC
|
231
|
+
# 13818-7][3]).
|
225
232
|
#
|
226
233
|
# Kinesis Video Streams HLS sessions contain fragments in the fragmented
|
227
234
|
# MPEG-4 form (also called fMP4 or CMAF), rather than the MPEG-2 form
|
228
235
|
# (also called TS chunks, which the HLS specification also supports).
|
229
236
|
# For more information about HLS fragment types, see the [HLS
|
230
|
-
# specification][
|
237
|
+
# specification][4].
|
231
238
|
#
|
232
239
|
# The following procedure shows how to use HLS with Kinesis Video
|
233
240
|
# Streams:
|
234
241
|
#
|
235
|
-
# 1. Get an endpoint using [GetDataEndpoint][
|
242
|
+
# 1. Get an endpoint using [GetDataEndpoint][5], specifying
|
236
243
|
# `GET_HLS_STREAMING_SESSION_URL` for the `APIName` parameter.
|
237
244
|
#
|
238
245
|
# 2. Retrieve the HLS URL using `GetHLSStreamingSessionURL`. Kinesis
|
@@ -253,7 +260,7 @@ module Aws::KinesisVideoArchivedMedia
|
|
253
260
|
# The media that is made available through the playlist consists
|
254
261
|
# only of the requested stream, time range, and format. No other
|
255
262
|
# media data (such as frames outside the requested window or
|
256
|
-
# alternate
|
263
|
+
# alternate bitrates) is made available.
|
257
264
|
#
|
258
265
|
# 3. Provide the URL (containing the encrypted session token) for the
|
259
266
|
# HLS master playlist to a media player that supports the HLS
|
@@ -261,17 +268,17 @@ module Aws::KinesisVideoArchivedMedia
|
|
261
268
|
# initialization fragment, and media fragments available through the
|
262
269
|
# master playlist URL. The initialization fragment contains the
|
263
270
|
# codec private data for the stream, and other data needed to set up
|
264
|
-
# the video decoder and renderer. The media fragments
|
265
|
-
# H.264-encoded video frames
|
271
|
+
# the video or audio decoder and renderer. The media fragments
|
272
|
+
# contain H.264-encoded video frames or AAC-encoded audio samples.
|
266
273
|
#
|
267
274
|
# 4. The media player receives the authenticated URL and requests
|
268
275
|
# stream metadata and media data normally. When the media player
|
269
276
|
# requests data, it calls the following actions:
|
270
277
|
#
|
271
278
|
# * **GetHLSMasterPlaylist:** Retrieves an HLS master playlist,
|
272
|
-
# which contains a URL for the `GetHLSMediaPlaylist` action
|
273
|
-
# additional metadata for the media player,
|
274
|
-
#
|
279
|
+
# which contains a URL for the `GetHLSMediaPlaylist` action for
|
280
|
+
# each track, and additional metadata for the media player,
|
281
|
+
# including estimated bitrate and resolution.
|
275
282
|
#
|
276
283
|
# * **GetHLSMediaPlaylist:** Retrieves an HLS media playlist, which
|
277
284
|
# contains a URL to access the MP4 initialization fragment with
|
@@ -282,7 +289,9 @@ module Aws::KinesisVideoArchivedMedia
|
|
282
289
|
# `LIVE` or `ON_DEMAND`. The HLS media playlist is typically
|
283
290
|
# static for sessions with a `PlaybackType` of `ON_DEMAND`. The
|
284
291
|
# HLS media playlist is continually updated with new fragments for
|
285
|
-
# sessions with a `PlaybackType` of `LIVE`.
|
292
|
+
# sessions with a `PlaybackType` of `LIVE`. There is a distinct
|
293
|
+
# HLS media playlist for the video track and the audio track (if
|
294
|
+
# applicable) that contains MP4 media URLs for the specific track.
|
286
295
|
#
|
287
296
|
# * **GetMP4InitFragment:** Retrieves the MP4 initialization
|
288
297
|
# fragment. The media player typically loads the initialization
|
@@ -292,32 +301,45 @@ module Aws::KinesisVideoArchivedMedia
|
|
292
301
|
#
|
293
302
|
# The initialization fragment does not correspond to a fragment in
|
294
303
|
# a Kinesis video stream. It contains only the codec private data
|
295
|
-
# for the stream, which the media player
|
296
|
-
# frames.
|
304
|
+
# for the stream and respective track, which the media player
|
305
|
+
# needs to decode the media frames.
|
297
306
|
#
|
298
307
|
# * **GetMP4MediaFragment:** Retrieves MP4 media fragments. These
|
299
308
|
# fragments contain the "`moof`" and "`mdat`" MP4 atoms and
|
300
|
-
# their child atoms, containing the encoded fragment's
|
301
|
-
# frames and their
|
309
|
+
# their child atoms, containing the encoded fragment's media
|
310
|
+
# frames and their timestamps.
|
302
311
|
#
|
303
312
|
# <note markdown="1"> After the first media fragment is made available in a streaming
|
304
313
|
# session, any fragments that don't contain the same codec
|
305
|
-
# private data
|
306
|
-
#
|
307
|
-
# session.
|
314
|
+
# private data cause an error to be returned when those different
|
315
|
+
# media fragments are loaded. Therefore, the codec private data
|
316
|
+
# should not change between fragments in a session. This also
|
317
|
+
# means that the session fails if the fragments in a stream change
|
318
|
+
# from having only video to having both audio and video.
|
319
|
+
#
|
320
|
+
# </note>
|
321
|
+
#
|
322
|
+
# Data retrieved with this action is billable. See [Pricing][6]
|
323
|
+
# for details.
|
324
|
+
#
|
325
|
+
# * **GetTSFragment:** Retrieves MPEG TS fragments containing both
|
326
|
+
# initialization and media data for all tracks in the stream.
|
327
|
+
#
|
328
|
+
# <note markdown="1"> If the `ContainerFormat` is `MPEG_TS`, this API is used instead
|
329
|
+
# of `GetMP4InitFragment` and `GetMP4MediaFragment` to retrieve
|
330
|
+
# stream media.
|
308
331
|
#
|
309
332
|
# </note>
|
310
333
|
#
|
311
|
-
# Data retrieved with this action is billable.
|
312
|
-
# [
|
313
|
-
# details.
|
334
|
+
# Data retrieved with this action is billable. For more
|
335
|
+
# information, see [Kinesis Video Streams pricing][6].
|
314
336
|
#
|
315
337
|
# <note markdown="1"> The following restrictions apply to HLS sessions:
|
316
338
|
#
|
317
339
|
# * A streaming session URL should not be shared between players. The
|
318
340
|
# service might throttle a session if multiple media players are
|
319
341
|
# sharing it. For connection limits, see [Kinesis Video Streams
|
320
|
-
# Limits][
|
342
|
+
# Limits][7].
|
321
343
|
#
|
322
344
|
# * A Kinesis video stream can have a maximum of five active HLS
|
323
345
|
# streaming sessions. If a new session is created when the maximum
|
@@ -332,26 +354,27 @@ module Aws::KinesisVideoArchivedMedia
|
|
332
354
|
# You can monitor the amount of data that the media player consumes by
|
333
355
|
# monitoring the `GetMP4MediaFragment.OutgoingBytes` Amazon CloudWatch
|
334
356
|
# metric. For information about using CloudWatch to monitor Kinesis
|
335
|
-
# Video Streams, see [Monitoring Kinesis Video Streams][
|
336
|
-
# information, see [Amazon Kinesis Video Streams Pricing][
|
337
|
-
# Pricing][
|
357
|
+
# Video Streams, see [Monitoring Kinesis Video Streams][8]. For pricing
|
358
|
+
# information, see [Amazon Kinesis Video Streams Pricing][6] and [AWS
|
359
|
+
# Pricing][9]. Charges for both HLS sessions and outgoing AWS data
|
338
360
|
# apply.
|
339
361
|
#
|
340
|
-
# For more information about HLS, see [HTTP Live Streaming][
|
341
|
-
# [Apple Developer site][
|
362
|
+
# For more information about HLS, see [HTTP Live Streaming][10] on the
|
363
|
+
# [Apple Developer site][11].
|
342
364
|
#
|
343
365
|
#
|
344
366
|
#
|
345
367
|
# [1]: https://www.iso.org/standard/55980.html
|
346
|
-
# [2]: http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/
|
347
|
-
# [3]: https://
|
348
|
-
# [4]:
|
349
|
-
# [5]: http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/
|
350
|
-
# [6]:
|
351
|
-
# [7]:
|
352
|
-
# [8]:
|
353
|
-
# [9]: https://
|
354
|
-
# [10]: https://developer.apple.com
|
368
|
+
# [2]: http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/producer-reference-nal.html
|
369
|
+
# [3]: https://www.iso.org/standard/43345.html
|
370
|
+
# [4]: https://tools.ietf.org/html/draft-pantos-http-live-streaming-23
|
371
|
+
# [5]: http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_GetDataEndpoint.html
|
372
|
+
# [6]: https://aws.amazon.com/kinesis/video-streams/pricing/
|
373
|
+
# [7]: http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/limits.html
|
374
|
+
# [8]: http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/monitoring.html
|
375
|
+
# [9]: https://aws.amazon.com/pricing/
|
376
|
+
# [10]: https://developer.apple.com/streaming/
|
377
|
+
# [11]: https://developer.apple.com
|
355
378
|
#
|
356
379
|
# @option params [String] :stream_name
|
357
380
|
# The name of the stream for which to retrieve the HLS master playlist
|
@@ -399,18 +422,18 @@ module Aws::KinesisVideoArchivedMedia
|
|
399
422
|
#
|
400
423
|
# In both playback modes, if `FragmentSelectorType` is
|
401
424
|
# `PRODUCER_TIMESTAMP`, and if there are multiple fragments with the
|
402
|
-
# same start
|
403
|
-
#
|
404
|
-
#
|
405
|
-
#
|
406
|
-
#
|
407
|
-
#
|
425
|
+
# same start timestamp, the fragment that has the larger fragment number
|
426
|
+
# (that is, the newer fragment) is included in the HLS media playlist.
|
427
|
+
# The other fragments are not included. Fragments that have different
|
428
|
+
# timestamps but have overlapping durations are still included in the
|
429
|
+
# HLS media playlist. This can lead to unexpected behavior in the media
|
430
|
+
# player.
|
408
431
|
#
|
409
432
|
# The default is `LIVE`.
|
410
433
|
#
|
411
434
|
# @option params [Types::HLSFragmentSelector] :hls_fragment_selector
|
412
|
-
# The time range of the requested fragment, and the source of the
|
413
|
-
#
|
435
|
+
# The time range of the requested fragment, and the source of the
|
436
|
+
# timestamps.
|
414
437
|
#
|
415
438
|
# This parameter is required if `PlaybackMode` is `ON_DEMAND`. This
|
416
439
|
# parameter is optional if `PlaybackMode` is `LIVE`. If `PlaybackMode`
|
@@ -418,6 +441,19 @@ module Aws::KinesisVideoArchivedMedia
|
|
418
441
|
# `TimestampRange` should not be set. If `PlaybackMode` is `ON_DEMAND`,
|
419
442
|
# both `FragmentSelectorType` and `TimestampRange` must be set.
|
420
443
|
#
|
444
|
+
# @option params [String] :container_format
|
445
|
+
# Specifies which format should be used for packaging the media.
|
446
|
+
# Specifying the `FRAGMENTED_MP4` container format packages the media
|
447
|
+
# into MP4 fragments (fMP4 or CMAF). This is the recommended packaging
|
448
|
+
# because there is minimal packaging overhead. The other container
|
449
|
+
# format option is `MPEG_TS`. HLS has supported MPEG TS chunks since it
|
450
|
+
# was released and is sometimes the only supported packaging on older
|
451
|
+
# HLS players. MPEG TS typically has a 5-25 percent packaging overhead.
|
452
|
+
# This means MPEG TS typically requires 5-25 percent more bandwidth and
|
453
|
+
# cost than fMP4.
|
454
|
+
#
|
455
|
+
# The default is `FRAGMENTED_MP4`.
|
456
|
+
#
|
421
457
|
# @option params [String] :discontinuity_mode
|
422
458
|
# Specifies when flags marking discontinuities between fragments will be
|
423
459
|
# added to the media playlists. The default is `ALWAYS` when
|
@@ -425,17 +461,33 @@ module Aws::KinesisVideoArchivedMedia
|
|
425
461
|
# `PRODUCER_TIMESTAMP`.
|
426
462
|
#
|
427
463
|
# Media players typically build a timeline of media content to play,
|
428
|
-
# based on the
|
464
|
+
# based on the timestamps of each fragment. This means that if there is
|
429
465
|
# any overlap between fragments (as is typical if HLSFragmentSelector is
|
430
466
|
# `SERVER_TIMESTAMP`), the media player timeline has small gaps between
|
431
467
|
# fragments in some places, and overwrites frames in other places. When
|
432
468
|
# there are discontinuity flags between fragments, the media player is
|
433
469
|
# expected to reset the timeline, resulting in the fragment being played
|
434
470
|
# immediately after the previous fragment. We recommend that you always
|
435
|
-
# have discontinuity flags between fragments if the fragment
|
471
|
+
# have discontinuity flags between fragments if the fragment timestamps
|
436
472
|
# are not accurate or if fragments might be missing. You should not
|
437
473
|
# place discontinuity flags between fragments for the player timeline to
|
438
|
-
# accurately map to the producer
|
474
|
+
# accurately map to the producer timestamps.
|
475
|
+
#
|
476
|
+
# @option params [String] :display_fragment_timestamp
|
477
|
+
# Specifies when the fragment start timestamps should be included in the
|
478
|
+
# HLS media playlist. Typically, media players report the playhead
|
479
|
+
# position as a time relative to the start of the first fragment in the
|
480
|
+
# playback session. However, when the start timestamps are included in
|
481
|
+
# the HLS media playlist, some media players might report the current
|
482
|
+
# playhead as an absolute time based on the fragment timestamps. This
|
483
|
+
# can be useful for creating a playback experience that shows viewers
|
484
|
+
# the wall-clock time of the media.
|
485
|
+
#
|
486
|
+
# The default is `NEVER`. When HLSFragmentSelector is
|
487
|
+
# `SERVER_TIMESTAMP`, the timestamps will be the server start
|
488
|
+
# timestamps. Similarly, when HLSFragmentSelector is
|
489
|
+
# `PRODUCER_TIMESTAMP`, the timestamps will be the producer start
|
490
|
+
# timestamps.
|
439
491
|
#
|
440
492
|
# @option params [Integer] :expires
|
441
493
|
# The time in seconds until the requested session expires. This value
|
@@ -486,7 +538,9 @@ module Aws::KinesisVideoArchivedMedia
|
|
486
538
|
# end_timestamp: Time.now,
|
487
539
|
# },
|
488
540
|
# },
|
541
|
+
# container_format: "FRAGMENTED_MP4", # accepts FRAGMENTED_MP4, MPEG_TS
|
489
542
|
# discontinuity_mode: "ALWAYS", # accepts ALWAYS, NEVER
|
543
|
+
# display_fragment_timestamp: "ALWAYS", # accepts ALWAYS, NEVER
|
490
544
|
# expires: 1,
|
491
545
|
# max_media_playlist_fragment_results: 1,
|
492
546
|
# })
|
@@ -507,6 +561,12 @@ module Aws::KinesisVideoArchivedMedia
|
|
507
561
|
# Gets media for a list of fragments (specified by fragment number) from
|
508
562
|
# the archived data in an Amazon Kinesis video stream.
|
509
563
|
#
|
564
|
+
# <note markdown="1"> You must first call the `GetDataEndpoint` API to get an endpoint. Then
|
565
|
+
# send the `GetMediaForFragmentList` requests to this endpoint using the
|
566
|
+
# [--endpoint-url parameter][1].
|
567
|
+
#
|
568
|
+
# </note>
|
569
|
+
#
|
510
570
|
# The following limits apply when using the `GetMediaForFragmentList`
|
511
571
|
# API:
|
512
572
|
#
|
@@ -517,6 +577,10 @@ module Aws::KinesisVideoArchivedMedia
|
|
517
577
|
# megabytes per second (or 200 megabits per second) during a
|
518
578
|
# `GetMediaForFragmentList` session.
|
519
579
|
#
|
580
|
+
#
|
581
|
+
#
|
582
|
+
# [1]: https://docs.aws.amazon.com/cli/latest/reference/
|
583
|
+
#
|
520
584
|
# @option params [required, String] :stream_name
|
521
585
|
# The name of the stream from which to retrieve fragment media.
|
522
586
|
#
|
@@ -550,8 +614,24 @@ module Aws::KinesisVideoArchivedMedia
|
|
550
614
|
req.send_request(options, &block)
|
551
615
|
end
|
552
616
|
|
553
|
-
# Returns a list of Fragment objects from the specified stream and
|
554
|
-
#
|
617
|
+
# Returns a list of Fragment objects from the specified stream and
|
618
|
+
# timestamp range within the archived data.
|
619
|
+
#
|
620
|
+
# Listing fragments is eventually consistent. This means that even if
|
621
|
+
# the producer receives an acknowledgment that a fragment is persisted,
|
622
|
+
# the result might not be returned immediately from a request to
|
623
|
+
# `ListFragments`. However, results are typically available in less than
|
624
|
+
# one second.
|
625
|
+
#
|
626
|
+
# <note markdown="1"> You must first call the `GetDataEndpoint` API to get an endpoint. Then
|
627
|
+
# send the `ListFragments` requests to this endpoint using the
|
628
|
+
# [--endpoint-url parameter][1].
|
629
|
+
#
|
630
|
+
# </note>
|
631
|
+
#
|
632
|
+
#
|
633
|
+
#
|
634
|
+
# [1]: https://docs.aws.amazon.com/cli/latest/reference/
|
555
635
|
#
|
556
636
|
# @option params [required, String] :stream_name
|
557
637
|
# The name of the stream from which to retrieve a fragment list.
|
@@ -567,7 +647,7 @@ module Aws::KinesisVideoArchivedMedia
|
|
567
647
|
# ListFragmentsOutput$NextToken from a previously truncated response.
|
568
648
|
#
|
569
649
|
# @option params [Types::FragmentSelector] :fragment_selector
|
570
|
-
# Describes the
|
650
|
+
# Describes the timestamp range and timestamp origin for the range of
|
571
651
|
# fragments to return.
|
572
652
|
#
|
573
653
|
# @return [Types::ListFragmentsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
@@ -622,7 +702,7 @@ module Aws::KinesisVideoArchivedMedia
|
|
622
702
|
params: params,
|
623
703
|
config: config)
|
624
704
|
context[:gem_name] = 'aws-sdk-kinesisvideoarchivedmedia'
|
625
|
-
context[:gem_version] = '1.
|
705
|
+
context[:gem_version] = '1.8.0'
|
626
706
|
Seahorse::Client::Request.new(handlers, context)
|
627
707
|
end
|
628
708
|
|
@@ -12,8 +12,10 @@ module Aws::KinesisVideoArchivedMedia
|
|
12
12
|
include Seahorse::Model
|
13
13
|
|
14
14
|
ClientLimitExceededException = Shapes::StructureShape.new(name: 'ClientLimitExceededException')
|
15
|
+
ContainerFormat = Shapes::StringShape.new(name: 'ContainerFormat')
|
15
16
|
ContentType = Shapes::StringShape.new(name: 'ContentType')
|
16
17
|
DiscontinuityMode = Shapes::StringShape.new(name: 'DiscontinuityMode')
|
18
|
+
DisplayFragmentTimestamp = Shapes::StringShape.new(name: 'DisplayFragmentTimestamp')
|
17
19
|
ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
|
18
20
|
Expires = Shapes::IntegerShape.new(name: 'Expires')
|
19
21
|
Fragment = Shapes::StructureShape.new(name: 'Fragment')
|
@@ -68,7 +70,9 @@ module Aws::KinesisVideoArchivedMedia
|
|
68
70
|
GetHLSStreamingSessionURLInput.add_member(:stream_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "StreamARN"))
|
69
71
|
GetHLSStreamingSessionURLInput.add_member(:playback_mode, Shapes::ShapeRef.new(shape: PlaybackMode, location_name: "PlaybackMode"))
|
70
72
|
GetHLSStreamingSessionURLInput.add_member(:hls_fragment_selector, Shapes::ShapeRef.new(shape: HLSFragmentSelector, location_name: "HLSFragmentSelector"))
|
73
|
+
GetHLSStreamingSessionURLInput.add_member(:container_format, Shapes::ShapeRef.new(shape: ContainerFormat, location_name: "ContainerFormat"))
|
71
74
|
GetHLSStreamingSessionURLInput.add_member(:discontinuity_mode, Shapes::ShapeRef.new(shape: DiscontinuityMode, location_name: "DiscontinuityMode"))
|
75
|
+
GetHLSStreamingSessionURLInput.add_member(:display_fragment_timestamp, Shapes::ShapeRef.new(shape: DisplayFragmentTimestamp, location_name: "DisplayFragmentTimestamp"))
|
72
76
|
GetHLSStreamingSessionURLInput.add_member(:expires, Shapes::ShapeRef.new(shape: Expires, location_name: "Expires"))
|
73
77
|
GetHLSStreamingSessionURLInput.add_member(:max_media_playlist_fragment_results, Shapes::ShapeRef.new(shape: PageLimit, location_name: "MaxMediaPlaylistFragmentResults"))
|
74
78
|
GetHLSStreamingSessionURLInput.struct_class = Types::GetHLSStreamingSessionURLInput
|
@@ -20,11 +20,11 @@ module Aws::KinesisVideoArchivedMedia
|
|
20
20
|
# @return [Integer]
|
21
21
|
#
|
22
22
|
# @!attribute [rw] producer_timestamp
|
23
|
-
# The
|
23
|
+
# The timestamp from the producer corresponding to the fragment.
|
24
24
|
# @return [Time]
|
25
25
|
#
|
26
26
|
# @!attribute [rw] server_timestamp
|
27
|
-
# The
|
27
|
+
# The timestamp from the AWS server corresponding to the fragment.
|
28
28
|
# @return [Time]
|
29
29
|
#
|
30
30
|
# @!attribute [rw] fragment_length_in_milliseconds
|
@@ -43,9 +43,26 @@ module Aws::KinesisVideoArchivedMedia
|
|
43
43
|
include Aws::Structure
|
44
44
|
end
|
45
45
|
|
46
|
-
# Describes the
|
46
|
+
# Describes the timestamp range and timestamp origin of a range of
|
47
47
|
# fragments.
|
48
48
|
#
|
49
|
+
# Only fragments with a start timestamp greater than or equal to the
|
50
|
+
# given start time and less than or equal to the end time are returned.
|
51
|
+
# For example, if a stream contains fragments with the following start
|
52
|
+
# timestamps:
|
53
|
+
#
|
54
|
+
# * 00:00:00
|
55
|
+
#
|
56
|
+
# * 00:00:02
|
57
|
+
#
|
58
|
+
# * 00:00:04
|
59
|
+
#
|
60
|
+
# * 00:00:06
|
61
|
+
#
|
62
|
+
# A fragment selector range with a start time of 00:00:01 and end time
|
63
|
+
# of 00:00:04 would return the fragments with start times of 00:00:02
|
64
|
+
# and 00:00:04.
|
65
|
+
#
|
49
66
|
# @note When making an API call, you may pass FragmentSelector
|
50
67
|
# data as a hash:
|
51
68
|
#
|
@@ -58,11 +75,11 @@ module Aws::KinesisVideoArchivedMedia
|
|
58
75
|
# }
|
59
76
|
#
|
60
77
|
# @!attribute [rw] fragment_selector_type
|
61
|
-
# The origin of the
|
78
|
+
# The origin of the timestamps to use (Server or Producer).
|
62
79
|
# @return [String]
|
63
80
|
#
|
64
81
|
# @!attribute [rw] timestamp_range
|
65
|
-
# The range of
|
82
|
+
# The range of timestamps to return.
|
66
83
|
# @return [Types::TimestampRange]
|
67
84
|
#
|
68
85
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-video-archived-media-2017-09-30/FragmentSelector AWS API Documentation
|
@@ -87,7 +104,9 @@ module Aws::KinesisVideoArchivedMedia
|
|
87
104
|
# end_timestamp: Time.now,
|
88
105
|
# },
|
89
106
|
# },
|
107
|
+
# container_format: "FRAGMENTED_MP4", # accepts FRAGMENTED_MP4, MPEG_TS
|
90
108
|
# discontinuity_mode: "ALWAYS", # accepts ALWAYS, NEVER
|
109
|
+
# display_fragment_timestamp: "ALWAYS", # accepts ALWAYS, NEVER
|
91
110
|
# expires: 1,
|
92
111
|
# max_media_playlist_fragment_results: 1,
|
93
112
|
# }
|
@@ -142,10 +161,10 @@ module Aws::KinesisVideoArchivedMedia
|
|
142
161
|
#
|
143
162
|
# In both playback modes, if `FragmentSelectorType` is
|
144
163
|
# `PRODUCER_TIMESTAMP`, and if there are multiple fragments with the
|
145
|
-
# same start
|
164
|
+
# same start timestamp, the fragment that has the larger fragment
|
146
165
|
# number (that is, the newer fragment) is included in the HLS media
|
147
166
|
# playlist. The other fragments are not included. Fragments that have
|
148
|
-
# different
|
167
|
+
# different timestamps but have overlapping durations are still
|
149
168
|
# included in the HLS media playlist. This can lead to unexpected
|
150
169
|
# behavior in the media player.
|
151
170
|
#
|
@@ -153,8 +172,8 @@ module Aws::KinesisVideoArchivedMedia
|
|
153
172
|
# @return [String]
|
154
173
|
#
|
155
174
|
# @!attribute [rw] hls_fragment_selector
|
156
|
-
# The time range of the requested fragment, and the source of the
|
157
|
-
#
|
175
|
+
# The time range of the requested fragment, and the source of the
|
176
|
+
# timestamps.
|
158
177
|
#
|
159
178
|
# This parameter is required if `PlaybackMode` is `ON_DEMAND`. This
|
160
179
|
# parameter is optional if `PlaybackMode` is `LIVE`. If `PlaybackMode`
|
@@ -164,6 +183,20 @@ module Aws::KinesisVideoArchivedMedia
|
|
164
183
|
# be set.
|
165
184
|
# @return [Types::HLSFragmentSelector]
|
166
185
|
#
|
186
|
+
# @!attribute [rw] container_format
|
187
|
+
# Specifies which format should be used for packaging the media.
|
188
|
+
# Specifying the `FRAGMENTED_MP4` container format packages the media
|
189
|
+
# into MP4 fragments (fMP4 or CMAF). This is the recommended packaging
|
190
|
+
# because there is minimal packaging overhead. The other container
|
191
|
+
# format option is `MPEG_TS`. HLS has supported MPEG TS chunks since
|
192
|
+
# it was released and is sometimes the only supported packaging on
|
193
|
+
# older HLS players. MPEG TS typically has a 5-25 percent packaging
|
194
|
+
# overhead. This means MPEG TS typically requires 5-25 percent more
|
195
|
+
# bandwidth and cost than fMP4.
|
196
|
+
#
|
197
|
+
# The default is `FRAGMENTED_MP4`.
|
198
|
+
# @return [String]
|
199
|
+
#
|
167
200
|
# @!attribute [rw] discontinuity_mode
|
168
201
|
# Specifies when flags marking discontinuities between fragments will
|
169
202
|
# be added to the media playlists. The default is `ALWAYS` when
|
@@ -171,7 +204,7 @@ module Aws::KinesisVideoArchivedMedia
|
|
171
204
|
# `PRODUCER_TIMESTAMP`.
|
172
205
|
#
|
173
206
|
# Media players typically build a timeline of media content to play,
|
174
|
-
# based on the
|
207
|
+
# based on the timestamps of each fragment. This means that if there
|
175
208
|
# is any overlap between fragments (as is typical if
|
176
209
|
# HLSFragmentSelector is `SERVER_TIMESTAMP`), the media player
|
177
210
|
# timeline has small gaps between fragments in some places, and
|
@@ -179,10 +212,27 @@ module Aws::KinesisVideoArchivedMedia
|
|
179
212
|
# flags between fragments, the media player is expected to reset the
|
180
213
|
# timeline, resulting in the fragment being played immediately after
|
181
214
|
# the previous fragment. We recommend that you always have
|
182
|
-
# discontinuity flags between fragments if the fragment
|
183
|
-
#
|
184
|
-
#
|
185
|
-
#
|
215
|
+
# discontinuity flags between fragments if the fragment timestamps are
|
216
|
+
# not accurate or if fragments might be missing. You should not place
|
217
|
+
# discontinuity flags between fragments for the player timeline to
|
218
|
+
# accurately map to the producer timestamps.
|
219
|
+
# @return [String]
|
220
|
+
#
|
221
|
+
# @!attribute [rw] display_fragment_timestamp
|
222
|
+
# Specifies when the fragment start timestamps should be included in
|
223
|
+
# the HLS media playlist. Typically, media players report the playhead
|
224
|
+
# position as a time relative to the start of the first fragment in
|
225
|
+
# the playback session. However, when the start timestamps are
|
226
|
+
# included in the HLS media playlist, some media players might report
|
227
|
+
# the current playhead as an absolute time based on the fragment
|
228
|
+
# timestamps. This can be useful for creating a playback experience
|
229
|
+
# that shows viewers the wall-clock time of the media.
|
230
|
+
#
|
231
|
+
# The default is `NEVER`. When HLSFragmentSelector is
|
232
|
+
# `SERVER_TIMESTAMP`, the timestamps will be the server start
|
233
|
+
# timestamps. Similarly, when HLSFragmentSelector is
|
234
|
+
# `PRODUCER_TIMESTAMP`, the timestamps will be the producer start
|
235
|
+
# timestamps.
|
186
236
|
# @return [String]
|
187
237
|
#
|
188
238
|
# @!attribute [rw] expires
|
@@ -226,7 +276,9 @@ module Aws::KinesisVideoArchivedMedia
|
|
226
276
|
:stream_arn,
|
227
277
|
:playback_mode,
|
228
278
|
:hls_fragment_selector,
|
279
|
+
:container_format,
|
229
280
|
:discontinuity_mode,
|
281
|
+
:display_fragment_timestamp,
|
230
282
|
:expires,
|
231
283
|
:max_media_playlist_fragment_results)
|
232
284
|
include Aws::Structure
|
@@ -283,11 +335,11 @@ module Aws::KinesisVideoArchivedMedia
|
|
283
335
|
# * AWS\_KINESISVIDEO\_FRAGMENT\_NUMBER - Fragment number returned in
|
284
336
|
# the chunk.
|
285
337
|
#
|
286
|
-
# * AWS\_KINESISVIDEO\_SERVER\_SIDE\_TIMESTAMP - Server-side
|
287
|
-
#
|
338
|
+
# * AWS\_KINESISVIDEO\_SERVER\_SIDE\_TIMESTAMP - Server-side timestamp
|
339
|
+
# of the fragment.
|
288
340
|
#
|
289
|
-
# * AWS\_KINESISVIDEO\_PRODUCER\_SIDE\_TIMESTAMP - Producer-side
|
290
|
-
#
|
341
|
+
# * AWS\_KINESISVIDEO\_PRODUCER\_SIDE\_TIMESTAMP - Producer-side
|
342
|
+
# timestamp of the fragment.
|
291
343
|
#
|
292
344
|
# The following tags will be included if an exception occurs:
|
293
345
|
#
|
@@ -313,8 +365,8 @@ module Aws::KinesisVideoArchivedMedia
|
|
313
365
|
include Aws::Structure
|
314
366
|
end
|
315
367
|
|
316
|
-
# Contains the range of
|
317
|
-
# source of the
|
368
|
+
# Contains the range of timestamps for the requested media, and the
|
369
|
+
# source of the timestamps.
|
318
370
|
#
|
319
371
|
# @note When making an API call, you may pass HLSFragmentSelector
|
320
372
|
# data as a hash:
|
@@ -328,39 +380,39 @@ module Aws::KinesisVideoArchivedMedia
|
|
328
380
|
# }
|
329
381
|
#
|
330
382
|
# @!attribute [rw] fragment_selector_type
|
331
|
-
# The source of the
|
383
|
+
# The source of the timestamps for the requested media.
|
332
384
|
#
|
333
385
|
# When `FragmentSelectorType` is set to `PRODUCER_TIMESTAMP` and
|
334
386
|
# GetHLSStreamingSessionURLInput$PlaybackMode is `ON_DEMAND`, the
|
335
|
-
# first fragment ingested with a producer
|
387
|
+
# first fragment ingested with a producer timestamp within the
|
336
388
|
# specified FragmentSelector$TimestampRange is included in the media
|
337
|
-
# playlist. In addition, the fragments with producer
|
338
|
-
#
|
389
|
+
# playlist. In addition, the fragments with producer timestamps within
|
390
|
+
# the `TimestampRange` ingested immediately following the first
|
339
391
|
# fragment (up to the
|
340
392
|
# GetHLSStreamingSessionURLInput$MaxMediaPlaylistFragmentResults
|
341
393
|
# value) are included.
|
342
394
|
#
|
343
|
-
# Fragments that have duplicate producer
|
395
|
+
# Fragments that have duplicate producer timestamps are deduplicated.
|
344
396
|
# This means that if producers are producing a stream of fragments
|
345
|
-
# with producer
|
397
|
+
# with producer timestamps that are approximately equal to the true
|
346
398
|
# clock time, the HLS media playlists will contain all of the
|
347
|
-
# fragments within the requested
|
399
|
+
# fragments within the requested timestamp range. If some fragments
|
348
400
|
# are ingested within the same time range and very different points in
|
349
401
|
# time, only the oldest ingested collection of fragments are returned.
|
350
402
|
#
|
351
403
|
# When `FragmentSelectorType` is set to `PRODUCER_TIMESTAMP` and
|
352
404
|
# GetHLSStreamingSessionURLInput$PlaybackMode is `LIVE`, the producer
|
353
|
-
#
|
354
|
-
# the most recently ingested fragments based on server
|
405
|
+
# timestamps are used in the MP4 fragments and for deduplication. But
|
406
|
+
# the most recently ingested fragments based on server timestamps are
|
355
407
|
# included in the HLS media playlist. This means that even if
|
356
|
-
# fragments ingested in the past have producer
|
408
|
+
# fragments ingested in the past have producer timestamps with values
|
357
409
|
# now, they are not included in the HLS media playlist.
|
358
410
|
#
|
359
411
|
# The default is `SERVER_TIMESTAMP`.
|
360
412
|
# @return [String]
|
361
413
|
#
|
362
414
|
# @!attribute [rw] timestamp_range
|
363
|
-
# The start and end of the
|
415
|
+
# The start and end of the timestamp range for the requested media.
|
364
416
|
#
|
365
417
|
# This value should not be present if `PlaybackType` is `LIVE`.
|
366
418
|
# @return [Types::HLSTimestampRange]
|
@@ -373,7 +425,7 @@ module Aws::KinesisVideoArchivedMedia
|
|
373
425
|
include Aws::Structure
|
374
426
|
end
|
375
427
|
|
376
|
-
# The start and end of the
|
428
|
+
# The start and end of the timestamp range for the requested media.
|
377
429
|
#
|
378
430
|
# This value should not be present if `PlaybackType` is `LIVE`.
|
379
431
|
#
|
@@ -393,7 +445,7 @@ module Aws::KinesisVideoArchivedMedia
|
|
393
445
|
# }
|
394
446
|
#
|
395
447
|
# @!attribute [rw] start_timestamp
|
396
|
-
# The start of the
|
448
|
+
# The start of the timestamp range for the requested media.
|
397
449
|
#
|
398
450
|
# If the `HLSTimestampRange` value is specified, the `StartTimestamp`
|
399
451
|
# value is required.
|
@@ -407,7 +459,7 @@ module Aws::KinesisVideoArchivedMedia
|
|
407
459
|
# @return [Time]
|
408
460
|
#
|
409
461
|
# @!attribute [rw] end_timestamp
|
410
|
-
# The end of the
|
462
|
+
# The end of the timestamp range for the requested media. This value
|
411
463
|
# must be within 3 hours of the specified `StartTimestamp`, and it
|
412
464
|
# must be later than the `StartTimestamp` value.
|
413
465
|
#
|
@@ -418,7 +470,7 @@ module Aws::KinesisVideoArchivedMedia
|
|
418
470
|
# value is required.
|
419
471
|
#
|
420
472
|
# <note markdown="1"> This value is inclusive. The `EndTimestamp` is compared to the
|
421
|
-
# (starting)
|
473
|
+
# (starting) timestamp of the fragment. Fragments that start before
|
422
474
|
# the `EndTimestamp` value and continue past it are included in the
|
423
475
|
# session.
|
424
476
|
#
|
@@ -466,8 +518,8 @@ module Aws::KinesisVideoArchivedMedia
|
|
466
518
|
# @return [String]
|
467
519
|
#
|
468
520
|
# @!attribute [rw] fragment_selector
|
469
|
-
# Describes the
|
470
|
-
#
|
521
|
+
# Describes the timestamp range and timestamp origin for the range of
|
522
|
+
# fragments to return.
|
471
523
|
# @return [Types::FragmentSelector]
|
472
524
|
#
|
473
525
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-video-archived-media-2017-09-30/ListFragmentsInput AWS API Documentation
|
@@ -481,8 +533,9 @@ module Aws::KinesisVideoArchivedMedia
|
|
481
533
|
end
|
482
534
|
|
483
535
|
# @!attribute [rw] fragments
|
484
|
-
# A list of
|
485
|
-
#
|
536
|
+
# A list of archived Fragment objects from the stream that meet the
|
537
|
+
# selector criteria. Results are in no specific order, even across
|
538
|
+
# pages.
|
486
539
|
# @return [Array<Types::Fragment>]
|
487
540
|
#
|
488
541
|
# @!attribute [rw] next_token
|
@@ -499,7 +552,7 @@ module Aws::KinesisVideoArchivedMedia
|
|
499
552
|
include Aws::Structure
|
500
553
|
end
|
501
554
|
|
502
|
-
# The range of
|
555
|
+
# The range of timestamps for which to return fragments.
|
503
556
|
#
|
504
557
|
# @note When making an API call, you may pass TimestampRange
|
505
558
|
# data as a hash:
|
@@ -510,13 +563,13 @@ module Aws::KinesisVideoArchivedMedia
|
|
510
563
|
# }
|
511
564
|
#
|
512
565
|
# @!attribute [rw] start_timestamp
|
513
|
-
# The starting
|
566
|
+
# The starting timestamp in the range of timestamps for which to
|
514
567
|
# return fragments.
|
515
568
|
# @return [Time]
|
516
569
|
#
|
517
570
|
# @!attribute [rw] end_timestamp
|
518
|
-
# The ending
|
519
|
-
#
|
571
|
+
# The ending timestamp in the range of timestamps for which to return
|
572
|
+
# fragments.
|
520
573
|
# @return [Time]
|
521
574
|
#
|
522
575
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-video-archived-media-2017-09-30/TimestampRange AWS API Documentation
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws-sdk-kinesisvideoarchivedmedia
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Amazon Web Services
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-02-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-core
|