Dans le cas d'une diffusion linéaire ou d'un flux en direct, votre playlist doit inclure les points "CUE-OUT" et "CUE-IN", qui constituent le spoints d'insertion des annonces. Exemple :
#EXT-X-CUE-OUT:DURATION=<time>
#EXT-X-CUE-IN
La balise EXT-X-CUE-OUT
représente le point de début de l'insertion, et la balise EXT-X-CUE-IN
représente son point de fin. La balise EXT-X-CUE-OUT
doit être associée à une balise EXT-X-CUE-IN
, qui indique la fin de la coupure publicitaire. L'ad server remplace la totalité de la section séparant les balises EXT-X-CUE-OUT
et EXT-X-CUE-IN
par le contenu de l'annonce vidéo.
L'expression DURATION=<time>
est obligatoire. Elle correspond à une estimation, en secondes ou en valeur à virgule flottante, de la durée de la coupure publicitaire. En d'autres termes, il s'agit de la durée qui sépare les balises EXT-X-CUE-IN
et EXT-X-CUE-OUT
. Vous pouvez également remplacer EXT-X-CUE-OUT:<time>
par #EXT-X-CUE-OUT:DURATION=<time>
.
Points de début et de fin de l'insertion
#EXTINF:10,
http://media.example.com/fileSequence7796.ts
#EXTINF:6,
http://media.example.com/fileSequence7797.ts
#EXT-X-CUE-OUT:DURATION=30
#EXTINF:4,
http://media.example.com/fileSequence7798.ts
#EXTINF:10,
http://media.example.com/fileSequence7799.ts
#EXTINF:10,
http://media.example.com/fileSequence7800.ts
#EXTINF:6,
http://media.example.com/fileSequence7801.ts
#EXT-X-CUE-IN
#EXTINF:4,
http://media.example.com/fileSequence7802.ts
#EXTINF:10,
http://media.example.com/fileSequence7803.ts
#EXTINF:3,
http://media.example.com/fileSequence7804.ts
L'ad server d'insertion dynamique d'annonce remplace le contenu se trouvant entre les balises OUT
et IN
par du contenu d'annonces vidéo pendant 30 secondes.
#EXTINF:10,
http://media.example.com/fileSequence7796.ts
#EXTINF:6,
http://media.example.com/fileSequence7797.ts
#EXT-X-CUE-OUT:DURATION=30
#EXTINF:10,
http://ads.example.com/fileSequence0001.ts
#EXTINF:10,
http://ads.example.com/fileSequence0002.ts
#EXTINF:10,
http://ads.example.com/fileSequence0003.ts
#EXT-X-CUE-IN
#EXTINF:4,
http://media.example.com/fileSequence7802.ts
#EXTINF:10,
http://media.example.com/fileSequence7803.ts
#EXTINF:3,
http://media.example.com/fileSequence7804.ts
Raccourcir une coupure publicitaire
Pour mettre fin à une coupure publicitaire de manière anticipée, l'encodeur doit envoyer un signal "CUE-IN" dans le flux pour indiquer que les flux d'insertion dynamique d'annonce doivent immédiatement mettre fin à la coupure publicitaire et recommencer à afficher le contenu brut.
Notez que si une coupure publicitaire se termine de manière anticipée, l'outil de contrôle de l'activité des flux affiche toujours les valeurs "Durée de la coupure publicitaire", "Durée de remplissage" et "Durée de diffusion" d'origine.
Créer une coupure publicitaire supplémentaire
Bien qu'il ne soit pas possible de prolonger une coupure publicitaire si elle est en cours de diffusion auprès d'utilisateurs, un encodeur peut envoyer un signal "CUE-OUT" supplémentaire dans le flux immédiatement après le signal "CUE-IN" de la coupure publicitaire précédente pour créer une coupure publicitaire supplémentaire contenant des annonces qui viennent d'être sélectionnées.
Remplir l'espace de coupure publicitaire restant
S'il n'y a pas d'annonce à afficher ou d'espace supplémentaire à remplir, l'utilisateur voit soit le contenu à l'écran, soit le contenu sous-jacent, en fonction des paramètres de coupure publicitaire choisis lors de la configuration de la diffusion en direct dans Ad Manager.
Marqueurs d'annonces compatibles avec les diffusions en direct
Les marqueurs suivants sont compatibles avec l'insertion d'annonces sur les contenus de diffusion en direct :
Ces types de balisage sont générés par plusieurs solutions d'encodage, y compris AWS Elemental.
Le format est le suivant :
POINT DE SORTIE
#EXT-X-CUE-OUT:DURATION=10.50,K=V
#EXT-X-CUE-OUT:10.50,K=V
Pour le moment, Ad Manager permet uniquement de transférer la valeur BREAKID
sous la forme d'une clé-valeur dans le point de sortie CUE-OUT.
POINT D'ENTRÉE
#EXT-X-CUE-IN
POINT DE SORTIE
#EXT-X-CUE:ID=31264,TYPE="SpliceOut",DURATION=30.00,TIME=77892728.264567
POINT D'ENTRÉE
Ces balisages ne comportent pas d'indicateur CUE-IN
explicite. Toutefois, ils marquent chaque segment après l'indicateur CUE-OUT
de la manière suivante :
#EXT-X-CUE:ID=31264,TYPE="SpliceOut",DURATION=30.00,TIME=77892728.264567,ELAPSED=5.00
Cette valeur indique l'emplacement d'un segment dans une coupure publicitaire. Le repère CUE-IN
est calculé à l'aide de la valeur de l'attribut ELAPSED
et de la durée du segment pour indiquer le dernier segment de la coupure.
POINT DE SORTIE
#EXT-X-DATERANGE:ID="splice-80f",PLANNED-DURATION=90.5,START-DATE="2017-03-24T13:46:04Z",SCTE35-OUT=0xFC301B00000000000000FFF00A05000001027FDF000000
La valeur de l'attribut PLANNED-DURATION
est utilisée comme durée de coupure publicitaire attendue.
POINT D'ENTRÉE
#EXT-X-DATERANGE:ID="splice-7ef",START-DATE="2017-03-24T13:38:04Z",SCTE35-IN=0xFC301B00000000000000FFF00A05000000FF7F5F0000000000007B7BA160
Les indicateurs d'insertion SCTE35 peuvent être spécifiés via des signaux de temps dans les balises HLS. Les informations SCTE sont disponibles au format binaire et doivent être décodées pour déterminer le type de signal envoyé.
POINT DE SORTIE
#EXT-OATCLS-SCTE35:/DAlAAAAAAAAAP/wFAUAAA+if+/+INAJ0P4AKTLgAAAAAAAA9UTkTA==
POINT D'ENTRÉE
#EXT-OATCLS-SCTE35:/DAgAAAAAAAAAP/wDwUAAAPvf0//ahTGjwAAAAAAALda4HI=
Les données binaires SCTE-35 (encodées en base64) doivent être décodées et analysées afin de déterminer si elles contiennent des signaux CUE-OUT/CUE-IN valides, ainsi que des informations sur le ciblage des coupures.
Par exemple, les données binaires suivantes contiennent un signal CUE-OUT valide :
POINT DE SORTIE
/DAsAAAAAyiYAP/wBQb/PVbrDQAWAhRDVUVJB48zWH//AAEuGvsAACIAAdRJqiI=
Une fois décodé, le message contient les champs suivants :
splice_command_type
défini sur une valeur de 6 indique qu'il s'agit d'un signal de tempssegmentation_type_id
indique le type de signal de temps
La valeur segmentation_type_id
suivante est reconnue comme un signal de temps CUE-OUT valide :
34
: début de coupure
La valeur du champ segmentation_type_id
suivant (lorsque splice_command_type = 6
) est reconnue comme un signal de temps CUE-IN valide :
35
: fin de coupure
Par exemple, les données binaires suivantes contiennent un signal CUE-IN valide :
POINT D'ENTRÉE
/DAnAAAAAyiYAP/wBQb/PX1ezQARAg9DVUVJB48zWH+/AAAjAAGwzKWt
Les données binaires SCTE-35 (encodées en base64) doivent être décodées et analysées afin de déterminer si elles contiennent des signaux CUE-OUT/CUE-IN valides, ainsi que des informations sur le ciblage des coupures.
Par exemple, les données binaires suivantes contiennent un signal CUE-OUT valide :
POINT DE SORTIE
/DAxAAAAAAAAAP/wBQb//ciI8QAbAhlDVUVJXQk9EX/fAAEuK3sBBUMxNDY0MAEBpOBiAg==
Une fois décodé, le message contient les champs suivants :
splice_command_type
défini sur une valeur de 6 indique qu'il s'agit d'un signal de tempssegmentation_type_id
indique le type de signal de temps
La valeur segmentation_type_id
suivante est reconnue comme un signal de temps CUE-OUT valide :
48
: début de l'annonce du fournisseur
La valeur du champ segmentation_type_id
suivant (lorsque splice_command_type = 6
) est reconnue comme un signal de temps CUE-IN valide :
49
: fin de l'annonce du fournisseur
Par exemple, les données binaires suivantes contiennent un signal CUE-IN valide :
POINT D'ENTRÉE
/DAsAAAAAAAAAP/wBQb//e78sQAWAhRDVUVJXQk9EX+fAQVDMTQ2NDEBAaKNu/4=
Les données binaires SCTE-35 (encodées en base64) doivent être décodées et analysées afin de déterminer si elles contiennent des signaux CUE-OUT/CUE-IN valides, ainsi que des informations sur le ciblage des coupures.
Par exemple, les données binaires suivantes contiennent un signal CUE-OUT valide :
POINT DE SORTIE
/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==
Une fois décodé, le message contient les champs suivants :
splice_command_type
défini sur une valeur de 6 indique qu'il s'agit d'un signal de tempssegmentation_type_id
indique le type de signal de temps
La valeur segmentation_type_id
suivante est reconnue comme un signal de temps CUE-OUT valide :
52
: début de l'opportunité d'emplacement du fournisseur
La valeur du champ segmentation_type_id
suivant (lorsque splice_command_type = 6
) est reconnue comme un signal de temps CUE-IN valide :
53
: fin de l'opportunité d'emplacement du fournisseur
Par exemple, les données binaires suivantes contiennent un signal CUE-IN valide :
POINT D'ENTRÉE
/DAvAAAAAAAA///wBQb+cuN0EAAZAhdDVUVJSAAAjn+PCAgAAAAALKChijUCALdPwUA=
Macros pour balisage SCTE-35
Si votre flux inclut le balisage EXT-OATCLS-SCTE35
ou EXT-X-DATERANGE
, les métadonnées sont automatiquement extraites et mises à disposition via des clés-valeurs personnalisées. Vous devez définir les clé-valeurs personnalisées et les ajouter comme macros lorsque vous générez des tags d'emplacement publicitaire.
Lorsque vous définissez les nouvelles clé-valeurs personnalisées pour les champs SCTE-35, utilisez une clé personnalisée (par exemple, "scte35") et définissez comme valeur une ou plusieurs macros correspondant au type de champ disponible dans le flux :
Macro | Description |
---|---|
%%SPLICE_INSERT_EVENT_ID%% |
Les entiers non signés dans le message SCTE35 sont convertis en chaînes au format décimal. |
%%SPLICE_INSERT_UPID%% |
|
%%TIME_SIGNAL_EVENT_ID%% |
|
%%TIME_SIGNAL_UPID%% |
S'affiche en minuscules au format hexadécimal, sans préfixe 0x . |
%%TIME_SIGNAL_UPID_RAW%% |
Insère les octets bruts du message SCTE sans conversion hexadécimale (la chaîne initiale doit être une chaîne valide encodée au format UTF-8). |
%%AFMM_CBC%% |
Extrait le code de coupure publicitaire à partir des informations d'insertion (obligatoire pour les spécifications AF2M). |