Le Blog Amazon Web Services

Règles de programmation avec MediaTailor Channel Assemby

AWS Elemental MediaTailor prend désormais en charge les règles de programmation « program rules » dans Channel Assembly, vous pouvez désormais appliquer des règles de programmation pour modifier dynamiquement la source en fonction de l’identifiant de l’utilisateur, ce qui vous permet de gérer de manière ciblée les substitutions de programmes sur les chaînes linéaires. Cette fonctionnalité permet de définir des médias alternatifs pour des cohortes d’audience, offrant ainsi aux clients une manière simple et économique de créer jusqu’à 50 audiences uniques sur une chaîne. Ces audiences peuvent être utilisées pour des cas spécifiques, tels que la localisation en fonction du marché conformément aux droits de contenu ou la segmentation par types de contenu pour renforcer l’engagement. Cet article explique comment configurer les règles de programmation en utilisant des identifiants d’audience sous forme de chaîne de paramètres « query string » ajoutée au manifeste de diffusion Live.

Exemple d’utilisation typique

Pour illustrer les règles de programme, prenons un exemple concret de diffusion régionale. Pendant la majeure partie de la journée, la programmation de la chaîne reste la même pour tous les marchés géographiques. Cependant, il arrive qu’un évènement sportif en direct ne puisse être diffusé que dans certains marchés spécifiques. Avant l’introduction des règles de programme, les clients devaient gérer des chaînes distinctes pour ces différents cas. Désormais, un évènement en direct est défini comme le programme par défaut, mais il peut être remplacé par une source de vidéo à la demande (VOD) pour un public spécifique en utilisant les règles de programme.

Comme illustré dans le schéma suivant, un seul canal MediaTailor est configuré, débutant par un programme provenant d’une source vidéo à la demande (en bleu), suivi par un programme par défaut utilisant une source en direct “Live Source” (en vert). Ce contenu est diffusé aux spectateurs sans aucun identifiant d’audience, garantissant ainsi une rétrocompatibilité totale avec les chaînes existantes. La source en direct pourrait être un évènement sportif, par exemple, avec un horaire de début fixe et une durée pouvant être ajustée si nécessaire pour prolonger la durée de l’évènement.

Cependant, le public qui doit basculer vers des médias alternatifs au moment de la limite de programmation de l’évènement en direct nécessitera un identifiant d’audience, par exemple « géorestrictif », à associer à une règle de programme pour une source VOD (jaune). Étant donné que la durée de l’évènement en direct est plus longue que la source VOD, une autre source VOD (rouge) peut être programmée pour cet identifiant d’audience afin de combler le temps jusqu’à la fin de l’évènement en direct. Après l’évènement en direct, le programme par défaut du public parent reprend, avec tous les spectateurs visionnant la même source VOD (bleue) jusqu’à ce qu’une nouvelle règle de programme soit appliquée.

Architecture-type

L’exemple d’architecture décrit dans le diagramme suivant pourrait être utilisé pour mettre en œuvre le workflow du cas d’utilisation présenté, impliquant la création d’une source en direct et d’une source VOD. Les détails techniques dépassent le cadre de cet article, mais vous pouvez vous référer à la bibliothèque de solutions Amazon Web Services (AWS) pour obtenir des informations sur le streaming en direct sur AWS et la vidéo à la demande sur AWS. Il est important de noter que AWS Elemental MediaTailor agit exclusivement en tant que service de manipulation de manifeste et n’altère pas le contenu multimédia. Son rôle est de réécrire le manifeste pour inclure les segments de contenu destinés à l’insertion de publicités et au flux linéaire assemblé.

Le lecteur vidéo charge le manifeste de streaming multivariant généré par MediaTailor, qui utilise Amazon CloudFront pour la diffusion du contenu. Lorsqu’une chaîne de paramètres « query string » est ajoutée avec un « audience Id », MediaTailor vérifie si un contenu alternatif a été défini pour le programme actuel avec cette valeur d’identifiant d’audience (audience Id). Si une requête est reçue avec un identifiant d’audience qui n’est pas défini sur la chaîne, une erreur 404 est renvoyée.

Voici les étapes à suivre pour mettre en place des règles de programmation.

Étape 1 – Créer un canal

Pour modifier un canal existant ou obtenir des instructions détaillées sur la création d’un nouveau canal, veuillez consulter le guide suivant « Comment utiliser Channel Assembly avec AWS Elemental MediaTailor pour créer des chaînes virtuelles à partir de sources existantes ».

Étape 2 – Configurer les audiences

La console AWS d’édition du canal comporte désormais une étape permettant de définir les audiences du canal, comme indiqué, avec la possibilité de créer jusqu’à 50 identifiants d’audience uniques. Veuillez noter que le format doit être alphanumérique, avec un maximum de 32 caractères.

Étape 3 – Ajouter un programme et définir des médias alternatifs pour le programme

Lorsque vous ajoutez des programmes à la grille horaire du canal, une étape supplémentaire vous permet d’associer des identifiants d’audience au programme en utilisant la liste déroulante comme illustrée. Dans cet exemple, un programme appelé « LiveSport » est ajouté avec une source en direct, ayant une durée minimale de 10 minutes et un type de transition absolue pour l’heure de début prévue supérieure à 1 minute dans le futur.

Ensuite, utilisez le bouton « Ajouter un média alternatif » (Add alternate media) pour cette audience, ce qui permettra d’élargir les options pour spécifier le média alternatif comme décrit. Pour les sources VOD, il est possible de définir une plage de clips, allant du début à un décalage de fin spécifié en millisecondes. Pour une source de diffusion en direct, en tant que média alternatif, indiquez l’heure de début planifiée en millisecondes depuis le temps epoch avec durée en millisecondes. Dans cet exemple, le média alternatif pour la diffusion en direct sera une source VOD nommée « BigCats ».

Étape 4 – Afficher la grille horaire du canal pour l’audience

Après avoir ajouté des programmes au canal, le panneau de programmation dispose désormais d’une liste déroulante d’audience pour filtrer la programmation associée. En utilisant l’exemple précédent, pour le programme planifié « LiveSport », l’identifiant d’audience « georestricted » dispose désormais d’un média alternatif avec la source VOD « BigCats ». Cependant, le public avec l’audience par défaut aura toujours le programme LiveSport original avec une source en direct.

Étape 5 – Démarrer le canal et tester la lecture

Après avoir démarré le canal, prévisualisez la chaîne linéaire dans votre lecteur vidéo préféré en utilisant le nom du manifeste des sorties du canal. Pour visualiser en tant qu’audience « georestricted », ajoutez la chaîne de paramètres « query string » suivante au manifeste :

?aws.mediatailor.channel.audienceId=georestricted

À titre d’exemple, voici un exemple d’URL complète pour le manifeste du canal:

https://<some prefix>.channel-assembly.mediatailor.us west2.amazonaws.com/v1/channel/ExampleChannel/index.m3u8?aws.mediatailor.channel.audienceId=georestricted

Félicitations ! Vous avez maintenant un flux assemblé linéaire unique de MediaTailor avec deux audiences distinctes grâce aux règles de programme !

Protection du contenu

Pour les situations où l’application des droits de contenu est nécessaire, il est conseillé de prévenir toute altération des chaîne de paramètres « query string » afin de contourner les règles de programme. Cette protection peut être mise en place en utilisant la solution Secure Media Delivery at the Edge sur AWS, qui assure une protection contre les accès non autorisés lors de la diffusion via Amazon CloudFront. Des jetons uniques sont générés pour chaque session de lecture, et en ajoutant la chaîne de paramètres « query string » audienceId en tant que paramètre dans les attributs du jeton, tel que décrit dans le guide de mise en œuvre. La validité de la valeur de chaîne de paramètres « query string » peut ensuite être vérifiée en « bordure » (edge) du réseau à l’aide de CloudFront Functions pour chaque demande, afin de garantir qu’il s’agit bien d’un « audience Id » valide.

Règles de géolocalisation

Lorsque vous personnalisez les règles de programme en fonction de la localisation des spectateurs, il existe des possibilités pour identifier cette localisation en bordure du réseau en utilisant les en-têtes de géolocalisation d’Amazon CloudFront. Ce processus pourrait comprendre les étapes suivantes :

  1. Configurer CloudFront pour inclure les en-têtes de demande nécessaires, tels que, CloudFront-Viewer-Postal-Code, ensuite, assurez-vous qu’il est intégré à la politique de mise en cache (cache policy)et ajouté à la politique de demande d’origine (origin request policy) pour MediaTailor.
  2. Créez une fonction CloudFront avec un code personnalisé pour associer le code postal à un identifiant d’audience (audienceId). L’utilisation de CloudFront KeyValueStore peut être avantageuse pour mettre à jour les données de correspondance indépendamment du code de la fonction.
  3. CloudFront Function ajouterait ensuite la chaîne de paramètres « query string » « audience Id » correspondant à la localisation, qui serait envoyée à MediaTailor en tant que requête d’origine.
  4. La réponse du spectateur contient désormais le manifeste personnalisé modifié conformément aux règles de programme, mais le spectateur ne sera jamais informé de l’identifiant d’audience qui lui est attribué.

Tarification

Des frais supplémentaires s’appliquent lorsque vous configurez un programme avec des médias alternatifs. Chaque heure supplémentaire de contenu, définie comme un média alternatif, entraîne l’utilisation de l’heure de canal du « niveau standard ».

Par exemple, si votre chaîne est configurée avec deux audiences (film_comédie et film_action) et que quatre fois par mois, un programme de 2 heures est configuré avec des médias alternatifs, les tarifs dans la région US-West-2 seraient les suivants : Audience par défaut = 730 heures par mois * 0,35 par heure (Niveau standard) = 255,50 $ Audience « film_comédie » = 4 * 2 heures (par mois) * 0,35 par heure (Niveau standard) = 2,80 $ Audience « film_action » = 4 * 2 heures (par mois) * 0,35 par heure (Niveau standard) = 2,80 $ Total : 255,50 $ + 2,80 $ + 2,80 $ = 261,10 $ par mois.

Récapitulatif

Dans ce billet, nous avons présenté les règles de programme d’AWS Elemental MediaTailor, ainsi que quelques cas d’utilisation potentiels et des approches recommandées pour la protection du contenu et les règles de géolocalisation. L’exemple de scénario décrit les étapes et les options de configuration dans la console de gestion AWS, où un évènement en direct est remplacé par une source VOD pour une audience spécifique. Grâce à ces fonctionnalités, il est possible de créer efficacement davantage de groupes de contenu pour élargir votre audience de visionnage et de monétiser votre contenu avec MediaTailor en tant que service d’insertion de publicité. Pour en savoir plus, veuillez consulter la page produit d’AWS Elemental MediaTailor.

Fabrice Pigeard

Fabrice Pigeard

Fabrice Pigeard est Solutions Architect spécialisé dans les services AWS EDGE et Media, travaillant en étroite collaboration avec les clients du secteur des médias en France. Avec deux décennies d’expérience dans la diffusion et les médias numériques, il aide ces clients à adopter sans difficulté les technologies cloud pour atteindre leurs principaux objectifs commerciaux et stimuler l’innovation.