aws-sdk-kinesisvideoarchivedmedia 1.7.0 → 1.8.0
Sign up to get free protection for your applications and to get access to all the features.
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
|