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: 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