Como monitorar o tempo de atualização do manifesto - AWS Elemental MediaPackage

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Como monitorar o tempo de atualização do manifesto

AWS Elemental MediaPackageas respostas de reprodução incluem os seguintes cabeçalhos personalizados que indicam quando o manifesto MediaPackage foi modificado pela última vez em fluxos de trabalho de inserção de anúncios não dinâmicos. Esses cabeçalhos são úteis na solução de problemas relacionados a manifestos obsoletos.

X- MediaPackage -Manifest-Last Sequence

Esse é o mais alto número de sequência de segmento no manifesto.

  • Para DASH, esse é o mais alto número de segmento na versão mais baixa do manifesto.

  • Para HLS e CMAF, esse é o mais alto número de segmento na lista de reprodução de mídia.

  • Para MSS, esse é o mais alto número de segmento no manifesto.

Para ver exemplos de manifesto, consulte a seção a seguir.

X- MediaPackage -Manifest-Última atualização

O carimbo de data/hora da época em milissegundos quando MediaPackage gera o segmento referido em. X-MediaPackage-Manifest-Last-Sequence

Exemplos de manifesto

Exemplos de manifesto DASH

Para manifestos DASH compactos e completos, MediaPackage determina o X-MediaPackage-Manifest-Last-Sequence valor do maior número de segmentos na representação mais baixa do manifesto. O serviço calcula o valor X-MediaPackage-Manifest-Last-Updated com base em quando gera o segmento mencionado em X-MediaPackage-Manifest-Last-Sequence.

Veja a seguir um exemplo de um manifesto DASH compacto que usa o modelo de número com duração. MediaPackage determina o X-MediaPackage-Manifest-Last-Sequence valor do maior número de segmentos na representação mais baixa no manifesto. Por exemplo, no manifesto a seguir, o mais alto número de segmento é index_video_5_0_175232.mp4, então o valor de X-MediaPackage-Manifest-Last-Sequence é 175232. Consulte Atributo duration no SegmentTemplate para obter informações sobre como MediaPackage calcula o $Number$ valor da sequência. O valor de X-MediaPackage-Manifest-Last-Updated é o timestamp da época em milissegundos quando MediaPackage gera o segmento referido em. 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>

Veja a seguir um exemplo de um manifesto DASH compacto que usa o número com o modelo de cronograma. MediaPackage determina o X-MediaPackage-Manifest-Last-Sequence valor do maior número de segmentos na representação mais baixa no manifesto. Por exemplo, no manifesto a seguir, o mais alto número de segmento é index_video_1_0_7.mp4, então o valor de X-MediaPackage-Manifest-Last-Sequence é 7. O valor de X-MediaPackage-Manifest-Last-Updated is the é o timestamp da época em milissegundos quando MediaPackage gera o segmento referido em. 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>

Veja a seguir um exemplo de um manifesto DASH compacto que usa o modelo de número com duração. MediaPackage determina o X-MediaPackage-Manifest-Last-Sequence valor do maior número de segmentos na representação mais baixa no manifesto. Por exemplo, no manifesto a seguir, o mais alto número de segmento é index_video_1_0_1675200.mp4, então o valor de X-MediaPackage-Manifest-Last-Sequence é 1675200. Consulte Atributo media no SegmentTemplate para obter informações sobre como MediaPackage calcula o número de sequência. O valor de X-MediaPackage-Manifest-Last-Updated is the é o timestamp da época em milissegundos quando MediaPackage gera o segmento referido em. 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>

Manifesto HLS

MediaPackage determina o X-MediaPackage-Manifest-Last-Sequence valor do último segmento no manifesto. Por exemplo, no manifesto a seguir, index_1_3.ts é o mais alto número de sequência de segmento, então o valor de X-MediaPackage-Manifest-Last-Sequence é 3. O valor de X-MediaPackage-Manifest-Last-Updated corresponde ao timestamp da época em milissegundos quando MediaPackage gera o último segmento no manifesto.

#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

Manifesto CMAF

Semelhante ao HLS, MediaPackage determina o X-MediaPackage-Manifest-Last-Sequence valor do último segmento no manifesto. Por exemplo, no manifesto a seguir, ../cmafseg_video_1_10.mp4?m=1621616399 é o mais alto número de sequência de segmento, então o valor de X-MediaPackage-Manifest-Last-Sequence é 10. O valor de X-MediaPackage-Manifest-Last-Updated corresponde ao timestamp da época em milissegundos quando MediaPackage gera o último segmento no manifesto.

#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

Manifesto MSS

MediaPackage determina o X-MediaPackage-Manifest-Last-Sequence valor do segmento mais alto no manifesto, conforme indicado porFragments(a_2_0={start time}). Por exemplo, no manifesto a seguir, Fragments(a_2_0=380533333) é o mais alto número de sequência, então o valor de X-MediaPackage-Manifest-Last-Sequence é 380333333. O valor de X-MediaPackage-Manifest-Last-Updated corresponde ao timestamp da época em milissegundos quando MediaPackage gera o último segmento no manifesto.

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