Ce guide explique comment configurer votre outil de manipulation du fichier manifeste pour demander des segments d'annonces ou de slate à l'aide de la méthode pod segment.
Sélectionnez un protocole de streaming :
Prérequis
Avant de continuer, vous devez configurer un événement en direct pour le type d'insertion dynamique d'annonce (DAI, Dynamic Ad Insertion) Redirection de la diffusion de pods et les profils d'encodage. Pour configurer un événement en direct, choisissez l'une des méthodes suivantes :
- Interface utilisateur Ad Manager : configurer un livestream pour l'insertion dynamique d'annonces
- API Ad Manager : utilisez une bibliothèque cliente pour appeler la méthode
LiveStreamEventService.createLiveStreamEvents. Définissez le paramètreLiveStreamEvent.dynamicAdInsertionTypesurPOD_SERVING_REDIRECT. - Authentifier les requêtes : chaque requête de segment effectuée à l'aide de la diffusion de pods de redirection de segment doit inclure un jeton signé par HMAC pour l'authentification. Calculez ce jeton une fois par coupure publicitaire et partagez-le dans toutes les sessions de flux. Pour calculer le jeton HMAC, consultez Authentifier les demandes de série d'annonces.
Une fois l'événement de diffusion en direct configuré, récupérez les profils d'encodage de l'événement à partir de l'UI ou de l'API Ad Manager en appelant la méthode DaiEncodingProfileService.getDaiEncodingProfilesByStatement.
Récupérer le flux de contenu
Lorsqu'un utilisateur sélectionne un événement en direct, l'application cliente envoie une demande de flux à Google Ad Manager. Dans la réponse du flux, l'application extrait l'ID de session et les métadonnées Google DAI à inclure dans la requête de fichier manifeste du flux.
L'exemple suivant transmet un ID de session Google DAI à un outil de manipulation de fichier manifeste :
https://MANIFEST_MANIPULATOR_URL/manifest.m3u8?DAI_stream_ID=SESSION_ID&network_code=NETWORK_CODE&DAI_custom_asset_key=CUSTOM_ASSET_KEY
Lors du traitement de la demande de lecture de contenu vidéo, stockez l'ID de session Google DAI et CUSTOM_ASSET_KEY de la demande pour préparer l'insertion d'annonces.
Identifier les segments de coupure publicitaire et insérer des discontinuités
Lorsque vous traitez chaque fichier manifeste de variante, identifiez les tags EXT-X-CUE-IN et EXT-X-CUE-OUT dans votre flux, qui indiquent le début et la fin d'un bloc d'annonces.
Remplacez les tags EXT-X-CUE-IN et EXT-X-CUE-OUT par les éléments EXT-X-DISCONTINUITY pour que le lecteur vidéo client puisse basculer entre le contenu et les annonces.
L'exemple de fichier manifeste suivant remplace les balises EXT-X-CUE-IN et EXT-X-CUE-OUT :
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:5.000,
contentorigin.com/1.ts
#EXTINF:5.000,
contentorigin.com/2.ts
#EXT-X-CUE-OUT:15.000
#EXTINF:5.000,
contentorigin.com/3.ts
#EXTINF:5.000,
contentorigin.com/4.ts
#EXTINF:5.000,
contentorigin.com/5.ts
#EXT-X-CUE-IN
#EXTINF:5.000,
contentorigin.com/6.ts
#EXTINF:5.000,
contentorigin.com/7.mp4
#EXTINF:5.000,
contentorigin.com/8.mp4
L'exemple suivant illustre un fichier manifeste remplacé :
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:5.000,
contentorigin.com/1.ts
#EXTINF:5.000,
contentorigin.com/2.ts
#EXTINF:5.000,
#EXT-X-DISCONTINUITY
{... Insert ad segments here ...}
#EXT-X-DISCONTINUITY
#EXTINF:5.000,
contentorigin.com/6.mp4
#EXTINF:5.000,
contentorigin.com/7.mp4
#EXTINF:5.000,
contentorigin.com/8.mp4
Les segments d'annonces Google DAI ne sont pas chiffrés. Si votre contenu est chiffré, supprimez le chiffrement en insérant l'élément EXT-X-KEY:METHOD=NONE avant le premier segment d'annonce de chaque coupure publicitaire. À la fin de la coupure publicitaire, réactivez le chiffrement en insérant un EXT-X-KEY approprié.
Suivez l'heure de début, la durée et l'index de la prochaine coupure publicitaire.
Créer des URL de segments publicitaires
Remplacez chaque segment de contenu entre les balises EXT-X-DISCONTINUITY par une URL pointant vers la méthode de segment de groupe d'annonces.
L'exemple suivant assemble un segment de série d'annonces. Notez que les segments d'annonces utilisent un index basé sur zéro :
https://dai.google.com/linear/pods/v1/seg/network/NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/0.ts?sd=AD_SEGMENT_DURATION&pd=AD_BREAK_DURATION&stream_id=SESSION_ID&auth-token=HMAC
L'exemple suivant insère les segments de la série d'annonces dans le fichier manifeste :
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:5.00,
contentorigin.com/1.ts
#EXTINF:5.00,
contentorigin.com/2.ts
#EXT-X-DISCONTINUITY
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/seg/network/
NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/0.ts?sd=5000&so=0&pd=15000&stream_id=SESSION_ID
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/seg/network/
NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/1.ts?sd=5000&so=5000&pd=15000&stream_id=SESSION_ID
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/seg/network/
NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/2.ts?sd=5000&so=10000&pd=15000&stream_id=SESSION_ID
#EXT-X-DISCONTINUITY
#EXTINF:5.00,
contentorigin.com/6.mp4
#EXTINF:5.00,
contentorigin.com/7.mp4
#EXTINF:5.00,
contentorigin.com/8.mp4
Facultatif : Planifier une coupure publicitaire
Pour améliorer votre taux de remplissage, envoyez une notification de coupure publicitaire anticipée (EABN) avec la durée de la série d'annonces, les paramètres de ciblage personnalisés et les données de signal SCTE-35. Pour en savoir plus, consultez Envoyer des notifications anticipées pour les coupures publicitaires.