Exemples de MPD DASH - AWS Elemental MediaTailor

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exemples de MPD DASH

Les sections suivantes fournissent des exemples d'origine MPDs et de personnalisation de DASH MPDs. La compréhension de ces exemples peut vous aider à configurer et à résoudre les problèmes liés à vos MediaTailor flux de travail.

Comprendre la structure du DASH MPD

Le streaming adaptatif dynamique via HTTP (DASH) utilise un manifeste MPD (Media Presentation Description) pour diffuser du contenu en streaming. Le MPD est un document XML qui décrit la structure et la disponibilité du contenu multimédia.

MPD (description de la présentation aux médias)

Le MPD est le principal fichier manifeste du streaming DASH qui décrit la structure et la disponibilité du contenu multimédia. Il contient des informations sur les périodes, les ensembles d'adaptation, les représentations et les segments qui constituent le contenu diffusé en continu.

Ce type de manifeste est également connu sous plusieurs autres noms dans divers contextes, notamment le manifeste DASH, le DASH MPD, le manifeste principal (par rapport au HLS) ou le manifeste de présentation.

Dans MediaTailor les flux de travail, le MPD est le point d'entrée pour les demandes de diffusion et c'est là que commence la personnalisation des publicités.

Période

Une période est une section temporelle d'une présentation DASH. Chaque période contient un ou plusieurs ensembles d'adaptation et représente une période médiatique. Dans les flux de travail d'insertion d'annonces, des périodes distinctes sont généralement utilisées pour faire la distinction entre le contenu et les publicités.

Dans MediaTailor les flux de travail, les périodes sont utilisées pour séparer le contenu principal du contenu publicitaire, chaque annonce étant généralement représentée par sa propre période.

AdaptationSet

An AdaptationSet regroupe un ensemble de versions codées interchangeables d'un ou de plusieurs composants de contenu multimédia. Par exemple, l'un AdaptationSet peut contenir plusieurs niveaux de qualité vidéo, tandis qu'un autre peut contenir plusieurs options de langue audio.

Dans les MediaTailor flux de travail, AdaptationSets ils sont préservés lors de l'insertion des publicités afin de garantir la cohérence des types de médias entre le contenu et les publicités.

Représentation

Une représentation est une version codée spécifique du contenu multimédia dans un AdaptationSet. Chaque représentation diffère généralement en termes de débit, de résolution ou d'autres paramètres de codage, ce qui permet aux clients de sélectionner la version la plus appropriée en fonction des conditions du réseau et des capacités de l'appareil.

Dans MediaTailor les flux de travail, les représentations dans les périodes publicitaires sont mises en correspondance aussi étroitement que possible avec les représentations dans les périodes de contenu afin de garantir une expérience de visionnage fluide.

Pour des informations plus détaillées sur les types de manifestes DASH, consultezTypes de manifestes DASH.

Exemples de MPD DASH en direct

Cette section fournit des exemples de DASH en direct MPDs. Chaque exemple répertorie un MPD tel qu'il a été reçu du serveur d'origine et MediaTailor a ensuite personnalisé le MPD avec des publicités.

Exemple d'insert d'épissure DASH MPD

Exemple de MPD DASH Origin pour un insert Splice

L'exemple suivant, tiré d'un MPD, montre une publicité publiée dans un manifeste reçu par DASH depuis l'origine du contenu. Cet exemple utilise le SpliceInsert marqueur pour indiquer la disponibilité d'une annonce.

<Period start="PT173402.036S" id="46041"> <EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml"> <Event duration="9450000"> <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="183265" tier="4095"> <scte35:SpliceInsert spliceEventId="99" spliceEventCancelIndicator="false" outOfNetworkIndicator="true" spliceImmediateFlag="false" uniqueProgramId="1" availNum="1" availsExpected="1"> <scte35:Program><scte35:SpliceTime ptsTime="7835775000"/></scte35:Program> <scte35:BreakDuration autoReturn="true" duration="9450000"/> </scte35:SpliceInsert> <scte35:SegmentationDescriptor segmentationEventId="99" segmentationEventCancelIndicator="false" segmentationDuration="9450000"> <scte35:DeliveryRestrictions webDeliveryAllowedFlag="true" noRegionalBlackoutFlag="true" archiveAllowedFlag="true" deviceRestrictions="3"/> <scte35:SegmentationUpid segmentationUpidType="8" segmentationUpidLength="0"/> <scte35:SegmentationTypeID segmentationType="52"/> <scte35:SegmentNum segmentNum="1"/> <scte35:SegmentsExpected segmentsExpected="1"/> </scte35:SegmentationDescriptor> </scte35:SpliceInfoSection> </Event> </EventStream> <AdaptationSet mimeType="video/mp4" segmentAlignment="true" subsegmentAlignment="true" startWithSAP="1" subsegmentStartsWithSAP="1" bitstreamSwitching="true"> <Representation id="1" width="960" height="540" frameRate="30000/1001" bandwidth="1000000" codecs="avc1.4D401F"> <SegmentTemplate timescale="30000" media="index_video_1_0_$Number$.mp4?m=1528475245" initialization="index_video_1_0_init.mp4?m=1528475245" startNumber="178444" presentationTimeOffset="10395907501"> <SegmentTimeline> <S t="10395907501" d="60060" r="29"/> <S t="10397709301" d="45045"/> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet> <AdaptationSet mimeType="audio/mp4" segmentAlignment="0" lang="eng"> <Representation id="2" bandwidth="96964" audioSamplingRate="48000" codecs="mp4a.40.2"> <SegmentTemplate timescale="48000" media="index_audio_2_0_$Number$.mp4?m=1528475245" initialization="index_audio_2_0_init.mp4?m=1528475245" startNumber="178444" presentationTimeOffset="16633452001"> <SegmentTimeline> <S t="16633452289" d="96256" r="3"/> <S t="16633837313" d="95232"/> <S t="16633932545" d="96256" r="4"/> <S t="16634413825" d="95232"/> <S t="16634509057" d="96256" r="5"/> <S t="16635086593" d="95232"/> <S t="16635181825" d="96256" r="4"/> <S t="16635663105" d="95232"/> <S t="16635758337" d="96256" r="5"/> <S t="16636335873" d="71680"/> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet> </Period>

Dans cet exemple de MPD d'origine :

  • L'<EventStream>élément contient des marqueurs SCTE-35 qui indiquent la disponibilité des publicités

  • L'<scte35:SpliceInsert>élément fournit des détails sur la disponibilité de la publicité

  • L'<scte35:BreakDuration>élément indique la durée de la pause publicitaire

  • Les <AdaptationSet> éléments définissent les flux vidéo et audio disponibles

Exemple de MPD personnalisé DASH pour insert Splice

AWS Elemental MediaTailor personnalise les produits publicitaires avec des spécifications publicitaires. Les personnalisations reflètent les données de l'utilisateur qui sont reçues du lecteur et les campagnes de publicité actuellement en cours.

L'exemple suivant montre une annonce disponible après l'avoir AWS Elemental MediaTailor personnalisée.

<Period id="178443_1" start="PT96H15M30.25S"> <BaseURL>http://111122223333.cloudfront.net/nbc_fallback_2/</BaseURL> <AdaptationSet bitstreamSwitching="false" frameRate="30/1" mimeType="video/mp4" segmentAlignment="true" startWithSAP="1" subsegmentAlignment="true" subsegmentStartsWithSAP="1"> <SegmentTemplate startNumber="1" timescale="90000"/> <Representation bandwidth="10000000" codecs="avc1.640028" height="1080" id="1" width="1920"> <SegmentTemplate initialization="nbc_fallback_ad_2_1080p_10init.mp4" media="nbc_fallback_ad_2_1080p_10_$Number%09d$.mp4" startNumber="1" timescale="90000"> <SegmentTimeline> <S d="180000" r="13" t="0"/> <S d="176940" t="2520000"/> </SegmentTimeline> </SegmentTemplate> </Representation> <Representation bandwidth="4000000" codecs="avc1.64001f" height="720" id="2" width="1280"> <SegmentTemplate initialization="nbc_fallback_ad_2_720p_9init.mp4" media="nbc_fallback_ad_2_720p_9_$Number%09d$.mp4" startNumber="1" timescale="90000"> <SegmentTimeline> <S d="180000" r="13" t="0"/> <S d="176940" t="2520000"/> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet> <AdaptationSet mimeType="audio/mp4" segmentAlignment="0" lang="eng"> <Representation id="8" bandwidth="128000" audioSamplingRate="48000" codecs="mp4a.40.2"> <SegmentTemplate initialization="nbc_fallback_ad_2_audio_2init.mp4" media="nbc_fallback_ad_2_audio_2_$Number%09d$.mp4" startNumber="1" timescale="90000"> <SegmentTimeline> <S d="180000" r="13" t="0"/> <S d="176940" t="2520000"/> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet> </Period>

Dans cet exemple de MPD personnalisé :

  • MediaTailor a créé une nouvelle période pour le contenu de l'annonce

  • L'<BaseURL>élément pointe vers l'emplacement du contenu publicitaire

  • Les <AdaptationSet> éléments conservent une structure similaire à celle du contenu

  • Les <Representation> éléments fournissent différents niveaux de qualité pour le contenu publicitaire

Exemple de signal horaire DASH MPD

Exemple de MPD d'origine DASH pour le signal horaire

L'exemple suivant, tiré d'un MPD, montre une publicité publiée dans un manifeste reçu par DASH depuis l'origine du contenu. Cet exemple utilise le TimeSignal marqueur pour indiquer la disponibilité d'une annonce.

<Period start="PT173402.036S" id="46041"> <EventStream timescale="90000" schemeIdUri="urn:scte:scte35:2013:xml"> <Event duration="9450000"> <scte35:SpliceInfoSection protocolVersion="0" ptsAdjustment="183265" tier="4095"> <scte35:TimeSignal> <scte35:SpliceTime ptsTime="7835775000"/> </scte35:TimeSignal> <scte35:SegmentationDescriptor segmentationEventId="99" segmentationEventCancelIndicator="false" segmentationDuration="9450000"> <scte35:DeliveryRestrictions webDeliveryAllowedFlag="true" noRegionalBlackoutFlag="true" archiveAllowedFlag="true" deviceRestrictions="3"/> <scte35:SegmentationUpid segmentationUpidType="8" segmentationUpidLength="0"/> <scte35:SegmentationTypeID segmentationType="52"/> <scte35:SegmentNum segmentNum="1"/> <scte35:SegmentsExpected segmentsExpected="1"/> </scte35:SegmentationDescriptor> </scte35:SpliceInfoSection> </Event> </EventStream> <AdaptationSet mimeType="video/mp4" segmentAlignment="true" subsegmentAlignment="true" startWithSAP="1" subsegmentStartsWithSAP="1" bitstreamSwitching="true"> <Representation id="1" width="960" height="540" frameRate="30000/1001" bandwidth="1000000" codecs="avc1.4D401F"> <SegmentTemplate timescale="30000" media="index_video_1_0_$Number$.mp4?m=1528475245" initialization="index_video_1_0_init.mp4?m=1528475245" startNumber="178444" presentationTimeOffset="10395907501"> <SegmentTimeline> <S t="10395907501" d="60060" r="29"/> <S t="10397709301" d="45045"/> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet> </Period>

Dans cet exemple de MPD d'origine :

  • L'<scte35:TimeSignal>élément est utilisé à la place de <scte35:SpliceInsert>

  • <scte35:SegmentationDescriptor>fournit des informations supplémentaires sur la disponibilité de la publicité

Exemple de MPD personnalisé DASH pour le signal horaire

AWS Elemental MediaTailor personnalise les produits publicitaires avec des spécifications publicitaires. Les personnalisations reflètent les données de l'utilisateur qui sont reçues du lecteur et les campagnes de publicité actuellement en cours.

L'exemple suivant montre une annonce disponible après l'avoir AWS Elemental MediaTailor personnalisée.

<Period id="178443_1" start="PT96H15M30.25S"> <BaseURL>http://111122223333.cloudfront.net/nbc_fallback_2/</BaseURL> <AdaptationSet bitstreamSwitching="false" frameRate="30/1" mimeType="video/mp4" segmentAlignment="true" startWithSAP="1" subsegmentAlignment="true" subsegmentStartsWithSAP="1"> <SegmentTemplate startNumber="1" timescale="90000"/> <Representation bandwidth="10000000" codecs="avc1.640028" height="1080" id="1" width="1920"> <SegmentTemplate initialization="nbc_fallback_ad_2_1080p_10init.mp4" media="nbc_fallback_ad_2_1080p_10_$Number%09d$.mp4" startNumber="1" timescale="90000"> <SegmentTimeline> <S d="180000" r="13" t="0"/> <S d="176940" t="2520000"/> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet> </Period>

Le MPD personnalisé pour le signal horaire est similaire à celui pour l'insert Splice, avec la MediaTailor création d'une nouvelle période pour le contenu publicitaire.

Exemples de MPD VOD DASH

Cette section fournit des exemples de vidéo à la demande (VOD) DASH MPDs. Chaque exemple répertorie un MPD tel qu'il a été reçu du serveur d'origine et MediaTailor a ensuite personnalisé le MPD avec des publicités.

Les VOD DASH MPDs suivent la même structure que les vidéos en direct MPDs, mais ils ont généralement un type="static" attribut dans l'élément MPD et peuvent contenir plusieurs périodes pour différents segments de contenu.

Pour des exemples de VOD DASH MPDs, consultez la MediaTailor documentation surMarqueurs publicitaires DASH.

Principales différences en matière de personnalisation MPDs

Lors de la MediaTailor personnalisation de DASH MPDs, il apporte plusieurs modifications importantes :

Gestion des périodes
  • De nouvelles périodes sont créées pour le contenu publicitaire

  • Les heures de début des périodes sont ajustées pour maintenir la continuité de la chronologie

  • EventStream les éléments dotés de marqueurs SCTE-35 sont traités et retirés

AdaptationSet et gestion des représentations
  • AdaptationSets dans l'annonce, des périodes sont créées pour correspondre au contenu AdaptationSets

  • Des représentations sont créées pour différents niveaux de qualité du contenu publicitaire

  • SegmentTemplate les éléments sont mis à jour pour pointer vers le contenu de l'annonce

La compréhension de ces modifications peut vous aider à résoudre les problèmes liés à vos MediaTailor flux de travail et à garantir une configuration correcte de votre CDN et de votre lecteur.

Pour plus d'informations sur DASH MPDs MediaTailor, consultez les rubriques suivantes :