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.”

Monitoring manifest update time - AWS Elemental MediaPackage

Monitoring manifest update time

AWS Elemental MediaPackage playback responses include the following custom headers that indicate when MediaPackage last modified the manifest in non-dynamic ad insertion workflows. These headers are helpful when troubleshooting issues related to stale manifests.

X-MediaPackage-Manifest-Last-Sequence

This is the highest segment sequence number in the manifest.

  • For DASH, this is the highest segment number in the lowest rendition of the manifest.

  • For HLS and CMAF, this is the highest segment number in the media playlist.

  • For MSS, this is the highest segment number in the manifest.

See the following section for manifest examples.

X-MediaPackage-Manifest-Last-Updated

The epoch timestamp in milliseconds when MediaPackage generates the segment referred to in X-MediaPackage-Manifest-Last-Sequence.

Manifest examples

DASH manifest examples

For both compact and full DASH manifests, MediaPackage determines the X-MediaPackage-Manifest-Last-Sequence value from the highest segment number in the lowest rendition of the manifest. The service calculates the X-MediaPackage-Manifest-Last-Updated value based on when it generates the segment referred to in X-MediaPackage-Manifest-Last-Sequence.

The following is an example of a compact DASH manifest that uses the number with duration template. MediaPackage determines the X-MediaPackage-Manifest-Last-Sequence value from the highest segment number in the lowest rendition in the manifest. For example, in the following manifest, the highest segment number is index_video_5_0_175232.mp4, so the value of X-MediaPackage-Manifest-Last-Sequence is 175232. See duration Attribute in the SegmentTemplate for information about how MediaPackage calculates the sequence $Number$ value. The value of X-MediaPackage-Manifest-Last-Updated is the epoch timestamp in milliseconds when MediaPackage generates the segment referred to in X-MediaPackage-Manifest-Last-Sequence.

<?xml version="1.0" encoding="utf-8"?> <MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:dash:schema:mpd:2011" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd" id="201" type="dynamic" publishTime="2021-09-08T21:01:38" minimumUpdatePeriod="PT0S" availabilityStartTime="2018-11-16T19:08:30Z+00:00" minBufferTime="PT0S" suggestedPresentationDelay="PT0.000S" timeShiftBufferDepth="PT116.533S" profiles="urn:mpeg:dash:profile:isoff-live:2011"> <Period start="PT0.000S" id="1"> <AdaptationSet mimeType="video/mp4" segmentAlignment="true" subsegmentAlignment="true" startWithSAP="1" subsegmentStartsWithSAP="1" bitstreamSwitching="true"> <SegmentTemplate timescale="30000" media="index_video_$RepresentationID$_0_$Number$.mp4?m=1543947824" initialization="index_video_$RepresentationID$_0_init.mp4?m=1543947824" startNumber="175032" duration="90000"/> <Representation id="1" width="640" height="360" frameRate="30/1" bandwidth="749952" codecs="avc1.640029"/> <Representation id="2" width="854" height="480" frameRate="30/1" bandwidth="1000000" codecs="avc1.640029"/> <Representation id="3" width="1280" height="720" frameRate="30/1" bandwidth="2499968" codecs="avc1.640029"/> </AdaptationSet> </Period> </MPD>

Number with duration - compact manifest

The following is an example of a compact DASH manifest that uses the number with duration template. MediaPackage determines the X-MediaPackage-Manifest-Last-Sequence value from the highest segment number in the lowest rendition in the manifest. For example, in the following manifest, the highest segment number is index_video_5_0_175232.mp4, so the value of X-MediaPackage-Manifest-Last-Sequence is 175232. See duration Attribute in the SegmentTemplate for information about how MediaPackage calculates the sequence $Number$ value. The value of X-MediaPackage-Manifest-Last-Updated is the epoch timestamp in milliseconds when MediaPackage generates the segment referred to in X-MediaPackage-Manifest-Last-Sequence.

<?xml version="1.0" encoding="utf-8"?> <MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:dash:schema:mpd:2011" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd" id="201" type="dynamic" publishTime="2021-09-08T21:01:38" minimumUpdatePeriod="PT0S" availabilityStartTime="2018-11-16T19:08:30Z+00:00" minBufferTime="PT0S" suggestedPresentationDelay="PT0.000S" timeShiftBufferDepth="PT116.533S" profiles="urn:mpeg:dash:profile:isoff-live:2011"> <Period start="PT0.000S" id="1"> <AdaptationSet mimeType="video/mp4" segmentAlignment="true" subsegmentAlignment="true" startWithSAP="1" subsegmentStartsWithSAP="1" bitstreamSwitching="true"> <SegmentTemplate timescale="30000" media="index_video_$RepresentationID$_0_$Number$.mp4?m=1543947824" initialization="index_video_$RepresentationID$_0_init.mp4?m=1543947824" startNumber="175032" duration="90000"/> <Representation id="1" width="640" height="360" frameRate="30/1" bandwidth="749952" codecs="avc1.640029"/> <Representation id="2" width="854" height="480" frameRate="30/1" bandwidth="1000000" codecs="avc1.640029"/> <Representation id="3" width="1280" height="720" frameRate="30/1" bandwidth="2499968" codecs="avc1.640029"/> </AdaptationSet> </Period> </MPD>

The following is an example of a compact DASH manifest that uses the number with timeline template. MediaPackage determines the X-MediaPackage-Manifest-Last-Sequence value from the highest segment number in the lowest rendition in the manifest. For example, in the following manifest, the highest segment number is index_video_1_0_7.mp4, so the value of X-MediaPackage-Manifest-Last-Sequence is 7. The value of X-MediaPackage-Manifest-Last-Updated is the is the epoch timestamp in milliseconds when MediaPackage generates the segment referred to in X-MediaPackage-Manifest-Last-Sequence.

<?xml version="1.0" encoding="utf-8"?> <MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:dash:schema:mpd:2011" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd" id="201" type="static" mediaPresentationDuration="PT72.458S" minBufferTime="PT0S" profiles="urn:mpeg:dash:profile:isoff-main:2011"> <Period start="PT0.000S" id="1" duration="PT74.758S"> <AdaptationSet mimeType="video/mp4" segmentAlignment="true" startWithSAP="1" subsegmentAlignment="true" subsegmentStartsWithSAP="1" bitstreamSwitching="true"> <SegmentTemplate timescale="48000" media="index_video_$RepresentationID$_0_$Number$.mp4?m=1621616401" initialization="index_video_$RepresentationID$_0_init.mp4?m=1621616401" startNumber="1" presentationTimeOffset="108800"> <SegmentTimeline> <S t="110400" d="540000" r="5"/> <S t="3350400" d="238000"/> </SegmentTimeline> </SegmentTemplate> <Representation id="1" width="640" height="480" frameRate="24/1" bandwidth="5000000" codecs="avc1.4D401E"/> </AdaptationSet> <AdaptationSet mimeType="audio/mp4" segmentAlignment="0" lang="eng"> <Label>eng</Label> <SegmentTemplate timescale="48000" media="index_audio_$RepresentationID$_0_$Number$.mp4?m=1621616401" initialization="index_audio_$RepresentationID$_0_init.mp4?m=1621616401" startNumber="1" presentationTimeOffset="108800"> <SegmentTimeline> <S t="108800" d="541696"/> <S t="650496" d="540672"/> <S t="1191168" d="539648" r="1"/> <S t="2270464" d="540672"/> <S t="2811136" d="539648"/> <S t="3350784" d="236544"/> </SegmentTimeline> </SegmentTemplate> <Representation id="2" bandwidth="192000" audioSamplingRate="48000" codecs="mp4a.40.2"> <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></AudioChannelConfiguration> </Representation> </AdaptationSet> <SupplementalProperty schemeIdUri="urn:scte:dash:utc-time" value="2021-05-21T16:59:47.450Z"></SupplementalProperty> </Period> </MPD>

The following is an example of a compact DASH manifest that uses the number with timeline template. MediaPackage determines the X-MediaPackage-Manifest-Last-Sequence value from the highest segment number in the lowest rendition in the manifest. For example, in the following manifest, the highest segment number is index_video_1_0_7.mp4, so the value of X-MediaPackage-Manifest-Last-Sequence is 7. The value of X-MediaPackage-Manifest-Last-Updated is the is the epoch timestamp in milliseconds when MediaPackage generates the segment referred to in X-MediaPackage-Manifest-Last-Sequence.

<?xml version="1.0" encoding="utf-8"?> <MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:dash:schema:mpd:2011" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd" id="201" type="static" mediaPresentationDuration="PT72.458S" minBufferTime="PT0S" profiles="urn:mpeg:dash:profile:isoff-main:2011"> <Period start="PT0.000S" id="1" duration="PT74.758S"> <AdaptationSet mimeType="video/mp4" segmentAlignment="true" startWithSAP="1" subsegmentAlignment="true" subsegmentStartsWithSAP="1" bitstreamSwitching="true"> <SegmentTemplate timescale="48000" media="index_video_$RepresentationID$_0_$Number$.mp4?m=1621616401" initialization="index_video_$RepresentationID$_0_init.mp4?m=1621616401" startNumber="1" presentationTimeOffset="108800"> <SegmentTimeline> <S t="110400" d="540000" r="5"/> <S t="3350400" d="238000"/> </SegmentTimeline> </SegmentTemplate> <Representation id="1" width="640" height="480" frameRate="24/1" bandwidth="5000000" codecs="avc1.4D401E"/> </AdaptationSet> <AdaptationSet mimeType="audio/mp4" segmentAlignment="0" lang="eng"> <Label>eng</Label> <SegmentTemplate timescale="48000" media="index_audio_$RepresentationID$_0_$Number$.mp4?m=1621616401" initialization="index_audio_$RepresentationID$_0_init.mp4?m=1621616401" startNumber="1" presentationTimeOffset="108800"> <SegmentTimeline> <S t="108800" d="541696"/> <S t="650496" d="540672"/> <S t="1191168" d="539648" r="1"/> <S t="2270464" d="540672"/> <S t="2811136" d="539648"/> <S t="3350784" d="236544"/> </SegmentTimeline> </SegmentTemplate> <Representation id="2" bandwidth="192000" audioSamplingRate="48000" codecs="mp4a.40.2"> <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></AudioChannelConfiguration> </Representation> </AdaptationSet> <SupplementalProperty schemeIdUri="urn:scte:dash:utc-time" value="2021-05-21T16:59:47.450Z"></SupplementalProperty> </Period> </MPD>

The following is an example of a compact DASH manifest that uses the number with duration template. MediaPackage determines the X-MediaPackage-Manifest-Last-Sequence value from the highest segment number in the lowest rendition in the manifest. For example, in the following manifest, the highest segment number is index_video_1_0_1675200.mp4, so the value of X-MediaPackage-Manifest-Last-Sequence is 1675200. See media Attribute in SegmentTemplate for information about how MediaPackage calculates the sequence number. The value of X-MediaPackage-Manifest-Last-Updated is the is the epoch timestamp in milliseconds when MediaPackage generates the segment referred to in X-MediaPackage-Manifest-Last-Sequence.

<?xml version="1.0" encoding="utf-8"?> <MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:dash:schema:mpd:2011" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd" id="201" type="static" mediaPresentationDuration="PT72.458S" minBufferTime="PT0S" profiles="urn:mpeg:dash:profile:isoff-main:2011"> <Period start="PT0.000S" id="1" duration="PT74.758S"> <AdaptationSet mimeType="video/mp4" segmentAlignment="true" startWithSAP="1" subsegmentAlignment="true" subsegmentStartsWithSAP="1" bitstreamSwitching="true"> <SegmentTemplate timescale="48000" media="index_video_$RepresentationID$_0_$Time$.mp4?m=1621616401" initialization="index_video_$RepresentationID$_0_init.mp4?m=1621616401" startNumber="1" presentationTimeOffset="108800"> <SegmentTimeline> <S t="55200" d="270000" r="5"/> <S t="1675200" d="119000"/> </SegmentTimeline> </SegmentTemplate> <Representation id="1" width="640" height="480" frameRate="24/1" bandwidth="5000000" codecs="avc1.4D401E"/> </AdaptationSet> <AdaptationSet mimeType="audio/mp4" segmentAlignment="0" lang="eng"> <Label>eng</Label> <SegmentTemplate timescale="48000" media="index_audio_$RepresentationID$_0_$Time$.mp4?m=1621616401" initialization="index_audio_$RepresentationID$_0_init.mp4?m=1621616401" startNumber="1" presentationTimeOffset="108800"> <SegmentTimeline> <S t="108800" d="541696"/> <S t="650496" d="540672"/> <S t="1191168" d="539648" r="1"/> <S t="2270464" d="540672"/> <S t="2811136" d="539648"/> <S t="3350784" d="236544"/> </SegmentTimeline> </SegmentTemplate> <Representation id="2" bandwidth="192000" audioSamplingRate="48000" codecs="mp4a.40.2"> <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></AudioChannelConfiguration> </Representation> </AdaptationSet> <SupplementalProperty schemeIdUri="urn:scte:dash:utc-time" value="2021-05-21T16:59:47.450Z"></SupplementalProperty> </Period> </MPD>

The following is an example of a compact DASH manifest that uses the number with duration template. MediaPackage determines the X-MediaPackage-Manifest-Last-Sequence value from the highest segment number in the lowest rendition in the manifest. For example, in the following manifest, the highest segment number is index_video_1_0_1675200.mp4, so the value of X-MediaPackage-Manifest-Last-Sequence is 1675200. See media Attribute in SegmentTemplate for information about how MediaPackage calculates the sequence number. The value of X-MediaPackage-Manifest-Last-Updated is the is the epoch timestamp in milliseconds when MediaPackage generates the segment referred to in X-MediaPackage-Manifest-Last-Sequence.

<?xml version="1.0" encoding="utf-8"?> <MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:dash:schema:mpd:2011" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd" id="201" type="static" mediaPresentationDuration="PT72.458S" minBufferTime="PT0S" profiles="urn:mpeg:dash:profile:isoff-main:2011"> <Period start="PT0.000S" id="1" duration="PT74.758S"> <AdaptationSet mimeType="video/mp4" segmentAlignment="true" startWithSAP="1" subsegmentAlignment="true" subsegmentStartsWithSAP="1" bitstreamSwitching="true"> <SegmentTemplate timescale="48000" media="index_video_$RepresentationID$_0_$Time$.mp4?m=1621616401" initialization="index_video_$RepresentationID$_0_init.mp4?m=1621616401" startNumber="1" presentationTimeOffset="108800"> <SegmentTimeline> <S t="55200" d="270000" r="5"/> <S t="1675200" d="119000"/> </SegmentTimeline> </SegmentTemplate> <Representation id="1" width="640" height="480" frameRate="24/1" bandwidth="5000000" codecs="avc1.4D401E"/> </AdaptationSet> <AdaptationSet mimeType="audio/mp4" segmentAlignment="0" lang="eng"> <Label>eng</Label> <SegmentTemplate timescale="48000" media="index_audio_$RepresentationID$_0_$Time$.mp4?m=1621616401" initialization="index_audio_$RepresentationID$_0_init.mp4?m=1621616401" startNumber="1" presentationTimeOffset="108800"> <SegmentTimeline> <S t="108800" d="541696"/> <S t="650496" d="540672"/> <S t="1191168" d="539648" r="1"/> <S t="2270464" d="540672"/> <S t="2811136" d="539648"/> <S t="3350784" d="236544"/> </SegmentTimeline> </SegmentTemplate> <Representation id="2" bandwidth="192000" audioSamplingRate="48000" codecs="mp4a.40.2"> <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></AudioChannelConfiguration> </Representation> </AdaptationSet> <SupplementalProperty schemeIdUri="urn:scte:dash:utc-time" value="2021-05-21T16:59:47.450Z"></SupplementalProperty> </Period> </MPD>

HLS manifest

MediaPackage determines the X-MediaPackage-Manifest-Last-Sequence value from the last segment in the manifest. For example, in the following manifest index_1_3.ts is the highest segment sequence number, so the value of X-MediaPackage-Manifest-Last-Sequence is 3. The value of X-MediaPackage-Manifest-Last-Updated corresponds to the epoch timestamp in milliseconds when MediaPackage generates the last segment in the manifest.

#EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:8 #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:7.500, index_1_0.ts?m=1583172400 #EXTINF:7.500, index_1_1.ts?m=1583172400 #EXTINF:7.500, index_1_2.ts?m=1583172400 #EXTINF:7.500, index_1_3.ts?m=1583172400 #EXT-X-ENDLIST

CMAF manifest

Similar to HLS, MediaPackage determines the X-MediaPackage-Manifest-Last-Sequence value from the last segment in the manifest. For example, in the following manifest ../cmafseg_video_1_10.mp4?m=1621616399 is the highest segment sequence number, so the value of X-MediaPackage-Manifest-Last-Sequence is 10. The value of X-MediaPackage-Manifest-Last-Updated corresponds to the epoch timestamp in milliseconds when MediaPackage generates the last segment in the manifest.

#EXTM3U #EXT-X-VERSION:6 #EXT-X-INDEPENDENT-SEGMENTS #EXT-X-TARGETDURATION:12 #EXT-X-MEDIA-SEQUENCE:1 #EXT-X-MAP:URI="../cmafseg_video_1_track_1098178399_csid_aaa_2_init.mp4" #EXTINF:11.250, ../cmafseg_video_1_1.mp4?m=1621616399 #EXTINF:11.250, ../cmafseg_video_1_2.mp4?m=1621616399 #EXTINF:11.250, ../cmafseg_video_1_3.mp4?m=1621616399 #EXTINF:11.250, ../cmafseg_video_1_4.mp4?m=1621616399 #EXTINF:11.250, ../cmafseg_video_1_5.mp4?m=1621616399 #EXTINF:11.250, ../cmafseg_video_1_6.mp4?m=1621616399 #EXTINF:11.250, ../cmafseg_video_1_7.mp4?m=1621616399 #EXTINF:11.250, ../cmafseg_video_1_8.mp4?m=1621616399 #EXTINF:11.250, ../cmafseg_video_1_9.mp4?m=1621616399 #EXTINF:0.542, ../cmafseg_video_1_10.mp4?m=1621616399 #EXT-X-ENDLIST

MSS manifest

MediaPackage determines the X-MediaPackage-Manifest-Last-Sequence value from the highest segment in the manifest, as indicated by Fragments(a_2_0={start time}). For example, in the following manifest Fragments(a_2_0=380533333) is the highest sequence number, so the value of X-MediaPackage-Manifest-Last-Sequence is 380333333. The value of X-MediaPackage-Manifest-Last-Updated corresponds to the epoch timestamp in milliseconds when MediaPackage generates the last segment in the manifest.

<SmoothStreamingMedia MajorVersion="2" MinorVersion="2" TimeScale="10000000" CanSeek="TRUE" CanPause="TRUE" IsLive="TRUE" LookAheadFragmentCount="2" DVRWindowLength="3000000000" Duration="0"> <CustomAttributes> <Attribute Name="ProducerReferenceTime" Value="2017-06-14T22:07:01.967Z"/> </CustomAttributes> <StreamIndex Type="video" Name="video" Subtype="" Chunks="3" TimeScale="10000000" Url="Events(203_0)/QualityLevels({bitrate})/Fragments(v={start time})" QualityLevels="1"> <QualityLevel Index="0" Bitrate="4000000" CodecPrivateData="00000001274D401F924602802DD80880000003008000001E7220007A120000895477BDC07C22114E0000000128FEBC80" FourCC="H264" MaxWidth="1280" MaxHeight="720"/> <c d="120000000" t="20333333"/> <c d="120000000"/> <c d="120000000"/> </StreamIndex> <StreamIndex Type="audio" Name="fra_1" Language="fra" Subtype="" Chunks="3" TimeScale="10000000" Url="Events(203_0)/QualityLevels({bitrate})/Fragments(a_2_0={start time})"> <QualityLevel Index="0" Bitrate="128460" CodecPrivateData="1190" FourCC="AACL" AudioTag="255" Channels="2" SamplingRate="48000" BitsPerSample="16" PacketSize="4"/> <c d="120533333" t="20000000"/> <c d="119893333"/> <c d="120106667"/> </StreamIndex> </SmoothStreamingMedia>
PrivacySite termsCookie preferences
© 2025, Amazon Web Services, Inc. or its affiliates. All rights reserved.