Select your cookie preferences

We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”

Using I-frame playlists to enable in AWS Elemental MediaPackage trick-play - AWS Elemental MediaPackage v2

Using I-frame playlists to enable in AWS Elemental MediaPackage trick-play

MediaPackage supports live trick-play by creating an I-frame playlist from an existing live stream. The I-frame playlist contains the I-frame only video segments that your player uses for the image thumbnails. For information about I-frame playlists, see the HTTP Live Streaming 2nd Edition specification.

To use an I-frame playlist to enable trick-play for HLS
  • In the MediaPackage console, choose Include Iframe-only stream in the Segment settings when creating or editing an endpoint. MediaPackage generates I-frame only streams for each rendition in the parent playlist.

    This example HLS parent playlist generated by MediaPackage uses EXT-X-I-FRAME-STREAM-INF tags for each rendition and includes the "index_1_iframe.m3u8" and "index_2_iframe.m3u8" child playlist URIs.

    #EXTM3U #EXT-X-VERSION:4 #EXT-X-INDEPENDENT-SEGMENTS #EXT-X-STREAM-INF:CODECS="avc1.42001f,mp4a.40.2",AVERAGE-BANDWIDTH=1000,RESOLUTION=1920x1080,VIDEO-RANGE=SDR,FRAME-RATE=30.0,BANDWIDTH=2000,CLOSED-CAPTIONS="CC" index_1.m3u8 #EXT-X-STREAM-INF:CODECS="avc1.42001f,mp4a.40.2",AVERAGE-BANDWIDTH=2000,RESOLUTION=1920x1080,VIDEO-RANGE=SDR,FRAME-RATE=30.0,BANDWIDTH=3000,CLOSED-CAPTIONS="CC" index_2.m3u8 #EXT-X-STREAM-INF:CODECS="mp4a.40.2",AVERAGE-BANDWIDTH=1000,BANDWIDTH=2000 index_3.m3u8 #EXT-X-I-FRAME-STREAM-INF:CODECS="avc1.42001f,mp4a.40.2",RESOLUTION=1920x1080,VIDEO-RANGE=SDR,BANDWIDTH=1000,URI="index_1_iframe.m3u8" #EXT-X-I-FRAME-STREAM-INF:CODECS="avc1.42001f,mp4a.40.2",RESOLUTION=1920x1080,VIDEO-RANGE=SDR,BANDWIDTH=1000,URI="index_2_iframe.m3u8"

    MediaPackage also inserts EXT-I-FRAMES-ONLY tags in the child playlist, and then generates and includes an I-frame only playlist in the stream. This playlist enables player functionality like fast forward and rewind.

    This example HLS child playlist generated by MediaPackage uses the EXT-X-I-FRAMES-ONLY tag and includes the index_1_iframe_0.ts segment URI.

    #EXTM3U #EXT-X-VERSION:4 #EXT-X-INDEPENDENT-SEGMENTS #EXT-X-TARGETDURATION:6 #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-DISCONTINUITY-SEQUENCE:0 #EXT-X-I-FRAMES-ONLY #EXT-X-PROGRAM-DATE-TIME:2021-12-07T10:00:00Z #EXTINF:6.0, index_1_iframe_0.ts
To use an I-frame playlist to enable trick-play for DASH
  • MediaPackage supports live trick-play by creating an I-frame representation from an existing live stream. The I-frame representation contains the I-frame only video segments that your player uses for the image thumbnails.

    For information about I-frame playlists with DASH, see the DASH-IF Interoperability Points specification, v4.3, section 3.2.9.

    In the MediaPackage console, choose Include Iframe-only stream in the Segment settings, when creating or editing an endpoint. MediaPackage generates I-frame only streams for each rendition in the DASH manifest.

    This example DASH manifest generated by MediaPackage uses a specific AdaptationSet that includes a <EssentialProperty schemeIdUri="http://dashif.org/guidelines/trickmode" /> element and Representation elements including both a frameRate and a maxPlayoutRate attributes, which values are representative of trickplay track properties.

    <MPD id="0" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="dynamic" minimumUpdatePeriod="PT2S" minBufferTime="PT5S" timeShiftBufferDepth="PT1M4.559S" suggestedPresentationDelay="PT10S" availabilityStartTime="2024-01-01T00:00:00.000000+00:00" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:mspr="urn:microsoft:playready" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd" publishTime="2024-04-02T17:05:14.000894+00:00"> <Period id="1712019690992" start="PT2209H1M30S"> <AdaptationSet id="1170682507" contentType="video" mimeType="video/mp4" segmentAlignment="true" codingDependency="false"> <EssentialProperty schemeIdUri="http://dashif.org/guidelines/trickmode" value="2137622408"/> <SegmentTemplate timescale="48000" media="cmaf-segment_$RepresentationID$_$Number$.mp4" initialization="cmaf-segment_$RepresentationID$_8005_init.mp4" startNumber="23393" presentationTimeOffset="831120"> <SegmentTimeline> <S t="6589849554" d="180179"/> <S t="6590029734" d="180179"/> <S t="6590209914" d="180179"/> <S t="6590390094" d="180179"/> <S t="6590570274" d="180179"/> <S t="6590750454" d="180179"/> <S t="6590930634" d="180179"/> <S t="6591110814" d="180179"/> <S t="6591290994" d="180179"/> <S t="6591471174" d="180179"/> <S t="6591651354" d="180179"/> <S t="6591831534" d="180179"/> <S t="6592011714" d="180179"/> <S t="6592191894" d="180179"/> <S t="6592372074" d="180179"/> <S t="6592552254" d="180179"/> </SegmentTimeline> </SegmentTemplate> <Representation id="1_iframe" bandwidth="1048" frameRate="24000/90090" codecs="avc1.4D401F" width="1280" height="720" maxPlayoutRate="90"/> <Representation id="2_iframe" bandwidth="1572" frameRate="24000/90090" codecs="avc1.4D401F" width="1920" height="1080" maxPlayoutRate="90"/> </AdaptationSet> <AdaptationSet id="2137622408" contentType="video" mimeType="video/mp4" segmentAlignment="true"> <SegmentTemplate timescale="48000" media="cmaf-segment_$RepresentationID$_$Number$.mp4" initialization="cmaf-segment_$RepresentationID$_8005_init.mp4" startNumber="23393" presentationTimeOffset="831120"> <SegmentTimeline> <S t="6589849554" d="180179"/> <S t="6590029734" d="180179"/> <S t="6590209914" d="180179"/> <S t="6590390094" d="180179"/> <S t="6590570274" d="180179"/> <S t="6590750454" d="180179"/> <S t="6590930634" d="180179"/> <S t="6591110814" d="180179"/> <S t="6591290994" d="180179"/> <S t="6591471174" d="180179"/> <S t="6591651354" d="180179"/> <S t="6591831534" d="180179"/> <S t="6592011714" d="180179"/> <S t="6592191894" d="180179"/> <S t="6592372074" d="180179"/> <S t="6592552254" d="180179"/> </SegmentTimeline> </SegmentTemplate> <Representation id="1" bandwidth="2000000" frameRate="24000/1001" codecs="avc1.4D401F" width="1280" height="720"/> <Representation id="1" bandwidth="5000000" frameRate="24000/1001" codecs="avc1.4D401F" width="1920" height="1080"/> </AdaptationSet> <AdaptationSet id="972192134" contentType="audio" mimeType="audio/mp4" segmentAlignment="true" lang="und"> <Label>und</Label> <SegmentTemplate timescale="48000" media="cmaf-segment_$RepresentationID$_$Number$.mp4" initialization="cmaf-segment_$RepresentationID$_8005_init.mp4" startNumber="23393" presentationTimeOffset="831120"> <SegmentTimeline> <S t="6589853020" d="180224" r="1"/> <S t="6590213469" d="180224" r="1"/> <S t="6590573917" d="179200"/> <S t="6590753117" d="180224"/> <S t="6590933342" d="180224" r="3"/> <S t="6591654239" d="180224" r="1"/> <S t="6592014688" d="180224" r="3"/> </SegmentTimeline> </SegmentTemplate> <Representation id="6" bandwidth="191522" codecs="mp4a.40.2" audioSamplingRate="48000"> <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/> </Representation> </AdaptationSet> <SupplementalProperty schemeIdUri="urn:scte:dash:utc-time" value="2024-04-02T17:04:13.680Z"/> </Period> </MPD>
PrivacySite termsCookie preferences
© 2025, Amazon Web Services, Inc. or its affiliates. All rights reserved.