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: d637f051b92a8a03175f281802ddb9a518661034
4
- data.tar.gz: 746e1ca0067e1f7e21ba7ea1c5746c3ab5930876
3
+ metadata.gz: d96dd21124299a0b8e22cce249696a6249f51fa6
4
+ data.tar.gz: 7c70e7cb8858d1693092fd9794bff62ef6c9ce82
5
5
  SHA512:
6
- metadata.gz: 70b4048d7a10bbd8be6692dc0e640b1294fbf082086e0f2590ff01931faf4b797d7bfd362a3d036b810d67a508aeac4a92834a0055dbd72adbf15d69f0d167a3
7
- data.tar.gz: 3ebf35e31ec1925b9e16edeb702fd08d22d224bf8589396c706fb93e9b867f5bc587cd646864a18e7e2b0c526ab1618fdede0a8be0497de51e0cf68460748322
6
+ metadata.gz: 8987eae705f6a47006e6de97f93665a380eddea2734ae60017fd20f4cd0261fdbbef59f276330a478374e4321452c30214ded56cff1b710d6ea6e8f0c50ee0cf
7
+ data.tar.gz: 056fbdb5ba8e4b87a7346a028d363157575ac60438f49dad11b8227a77e610fc048b61b501b402412b4cf14c37a595243c90c713a2320557e58a5536be7afdfb
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-kinesisvideoarchivedmedia/customizations'
42
42
  # @service
43
43
  module Aws::KinesisVideoArchivedMedia
44
44
 
45
- GEM_VERSION = '1.7.0'
45
+ GEM_VERSION = '1.8.0'
46
46
 
47
47
  end
@@ -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 type must be `video/h264`.
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 fragments must contain codec private data in the AVC (Advanced
222
- # Video Coding) for H.264 format ([MPEG-4 specification ISO/IEC
223
- # 14496-15][1]). For information about adapting stream data to a given
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][3].
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][4], specifying
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 bit rates) is made available.
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 contain
265
- # H.264-encoded video frames and time stamps.
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, and
273
- # additional metadata for the media player, including estimated
274
- # bit rate and resolution.
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 needs to decode video
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 video
301
- # frames and their time stamps.
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 are excluded in the HLS media playlist. Therefore,
306
- # the codec private data does not change between fragments in a
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. See
312
- # [Pricing](aws.amazon.comkinesis/video-streams/pricing/) for
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][5].
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][6]. For pricing
336
- # information, see [Amazon Kinesis Video Streams Pricing][7] and [AWS
337
- # Pricing][8]. Charges for both HLS sessions and outgoing AWS data
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][9] on the
341
- # [Apple Developer site][10].
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/latest/dg/producer-reference-nal.html
347
- # [3]: https://tools.ietf.org/html/draft-pantos-http-live-streaming-23
348
- # [4]: http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_GetDataEndpoint.html
349
- # [5]: http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/limits.html
350
- # [6]: http://docs.aws.amazon.com/kinesisvideostreams/latest/dg/monitoring.html
351
- # [7]: https://aws.amazon.com/kinesis/video-streams/pricing/
352
- # [8]: https://aws.amazon.com/pricing/
353
- # [9]: https://developer.apple.com/streaming/
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 time stamp, the fragment that has the larger fragment
403
- # number (that is, the newer fragment) is included in the HLS media
404
- # playlist. The other fragments are not included. Fragments that have
405
- # different time stamps but have overlapping durations are still
406
- # included in the HLS media playlist. This can lead to unexpected
407
- # behavior in the media player.
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 time
413
- # stamps.
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 time stamps of each fragment. This means that if there is
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 time stamps
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 time stamps.
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 start
554
- # location within the archived data.
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 time stamp range and time stamp origin for the range of
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.7.0'
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 time stamp from the producer corresponding to the fragment.
23
+ # The timestamp from the producer corresponding to the fragment.
24
24
  # @return [Time]
25
25
  #
26
26
  # @!attribute [rw] server_timestamp
27
- # The time stamp from the AWS server corresponding to the fragment.
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 time stamp range and time stamp origin of a range of
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 time stamps to use (Server or Producer).
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 time stamps to return.
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 time stamp, the fragment that has the larger fragment
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 time stamps but have overlapping durations are still
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 time
157
- # stamps.
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 time stamps of each fragment. This means that if there
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 time stamps
183
- # are not accurate or if fragments might be missing. You should not
184
- # place discontinuity flags between fragments for the player timeline
185
- # to accurately map to the producer time stamps.
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 time
287
- # stamp of the fragment.
338
+ # * AWS\_KINESISVIDEO\_SERVER\_SIDE\_TIMESTAMP - Server-side timestamp
339
+ # of the fragment.
288
340
  #
289
- # * AWS\_KINESISVIDEO\_PRODUCER\_SIDE\_TIMESTAMP - Producer-side time
290
- # stamp of the fragment.
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 time stamps for the requested media, and the
317
- # source of the time stamps.
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 time stamps for the requested media.
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 time stamp within the
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 time stamps
338
- # within the `TimestampRange` ingested immediately following the first
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 time stamps are deduplicated.
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 time stamps that are approximately equal to the true
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 time stamp range. If some fragments
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
- # time stamps are used in the MP4 fragments and for deduplication. But
354
- # the most recently ingested fragments based on server time stamps are
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 time stamps with values
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 time stamp range for the requested media.
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 time stamp range for the requested media.
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 time stamp range for the requested media.
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 time stamp range for the requested media. This value
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) time stamp of the fragment. Fragments that start before
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 time stamp range and time stamp origin for the range
470
- # of fragments to return.
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 fragment numbers that correspond to the time stamp range
485
- # provided.
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 time stamps for which to return fragments.
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 time stamp in the range of time stamps for which to
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 time stamp in the range of time stamps for which to
519
- # return fragments.
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.7.0
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: 2018-11-20 00:00:00.000000000 Z
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