Diffusion de vidéos en direct avec CloudFront et AWS Media Services - Amazon CloudFront

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.

Diffusion de vidéos en direct avec CloudFront et AWS Media Services

Pour utiliser AWS les services multimédias CloudFront afin de diffuser du contenu en direct à un public mondial, suivez les instructions incluses dans cette section.

Utilisez AWS Elemental MediaLive pour encoder les flux vidéo en direct en temps réel. Pour encoder un flux vidéo volumineux, MediaLive compressez-le en versions plus petites (encodages) qui peuvent être distribuées à vos spectateurs.

Après avoir compressé un flux vidéo en direct, vous disposez des deux options principales suivantes pour préparer et diffuser le contenu :

  • Convertissez votre contenu dans les formats requis, puis diffusez-le : si vous avez besoin de contenu dans plusieurs formats, utilisez AWS Elemental MediaPackage pour empaqueter le contenu pour différents types d'appareils. Lorsque vous empaquetez le contenu, vous pouvez également implémenter des fonctionnalités supplémentaires et ajouter la gestion des droits numériques (DRM) pour empêcher l’utilisation non autorisée de votre contenu. Pour step-by-step obtenir des instructions d'utilisation CloudFront pour diffuser du contenu MediaPackage formaté, consultezDiffusion d'une vidéo en direct formatée avec AWS Elemental MediaPackage.

  • Stockez et diffusez votre contenu à l'aide d'une origine évolutive : si le contenu est MediaLive codé dans les formats requis par tous les appareils utilisés par vos spectateurs, utilisez une origine hautement évolutive, par exemple AWS Elemental MediaStorepour diffuser le contenu. Pour step-by-step obtenir des instructions CloudFront d'utilisation pour diffuser du contenu stocké dans un MediaStore conteneur, voirDiffusion d'une vidéo en utilisant AWS Elemental MediaStore comme origine.

Une fois que vous avez configuré votre origine à l'aide de l'une de ces options, vous pouvez distribuer la vidéo en streaming en direct aux utilisateurs en utilisant CloudFront.

Astuce

Vous pouvez en savoir plus sur une solution AWS qui déploie automatiquement des services permettant de créer une expérience de visionnage en temps réel hautement disponible. Pour connaître les étapes permettant de déployer automatiquement cette solution, veuillez consulter Déploiement automatisé de streaming en direct.

Diffusion d'une vidéo en utilisant AWS Elemental MediaStore comme origine

Si vous avez une vidéo stockée dans un AWS Elemental MediaStoreconteneur, vous pouvez créer une CloudFront distribution pour diffuser le contenu.

Pour commencer, vous autorisez CloudFront l'accès à votre MediaStore conteneur. Ensuite, vous créez une CloudFront distribution et vous la configurez pour qu'elle fonctionne avec MediaStore.

Pour diffuser du contenu à partir d'un conteneur AWS Elemental MediaStore
  1. Suivez la procédure décrite dans Autoriser Amazon CloudFront à accéder à votre AWS Elemental MediaStore conteneur, puis revenez à ces étapes pour créer votre distribution.

  2. Créez une distribution avec les paramètres suivants :

    Domaine d'origine

    Point de terminaison de données attribué à votre MediaStore conteneur. Dans la liste déroulante, choisissez le MediaStore conteneur pour votre vidéo en direct.

    Chemin d’origine

    Structure de dossiers dans le MediaStore conteneur dans lequel vos objets sont stockés. Pour de plus amples informations, veuillez consulter Chemin d’origine.

    Ajout d'en-tête personnalisé

    Ajoutez des noms et des valeurs d'en-tête si vous CloudFront souhaitez ajouter des en-têtes personnalisés lorsqu'il transmet des demandes à votre origine.

    Viewer Protocol Policy

    Choisissez Rediriger HTTP vers HTTPS. Pour de plus amples informations, veuillez consulter Viewer Protocol Policy.

    Politique de cache et de demande de l'origine

    PourCache policy (Politique de cache), choisissez Create policy (Créer une politique), puis créez une politique de cache adaptée à vos besoins de mise en cache et aux durées de segment. Une fois la politique créée, actualisez la liste des politiques de cache et choisissez la politique que vous venez de créer.

    Pour la politique de demande Origin, choisissez CORS- CustomOrigin dans la liste déroulante.

    Pour les autres paramètres, vous pouvez définir des valeurs spécifiques selon d’autres exigences techniques ou selon les besoins de votre entreprise. Afin d’obtenir une liste de toutes les options pour les distributions ainsi que leurs informations de configuration, veuillez consulter Valeurs que vous spécifiez lorsque vous créez ou mettez à jour une distribution.

  3. Pour les liens de votre application (par exemple, un lecteur multimédia), spécifiez le nom du fichier multimédia dans le même format que celui que vous utilisez pour les autres objets que vous distribuez CloudFront.

Diffusion d'une vidéo en direct formatée avec AWS Elemental MediaPackage

Si vous avez formaté un flux en direct avec AWS Elemental MediaPackage, vous pouvez créer une distribution CloudFront et configurer les comportements de cache pour la diffusion du flux en direct. Le processus suivant implique que vous avez déjà créé un canal et ajouté des points de terminaison pour vos vidéos en direct en utilisant MediaPackage.

Pour créer une CloudFront distribution pour MediaPackage manuellement, procédez comme suit :

Étape 1 : Création et configuration d'une CloudFront distribution

Procédez comme suit pour configurer une CloudFront distribution pour la chaîne vidéo en direct que vous avez créée avec MediaPackage.

Pour créer une distribution pour votre canal vidéo en direct
  1. Connectez-vous à la CloudFront console AWS Management Console et ouvrez-la à l'adressehttps://console.aws.amazon.com/cloudfront/v4/home.

  2. Choisissez Create distribution (Créer une distribution).

  3. Choisissez les paramètres de la distribution, en particulier les suivants :

    Domaine de l'origine

    L'origine de votre chaîne vidéo MediaPackage en direct et de vos points de terminaison. Choisissez le champ de texte, puis dans la liste déroulante, choisissez le domaine MediaPackage d'origine de votre vidéo en direct. Vous pouvez mapper un domaine à plusieurs points de terminaison d'origine.

    Si vous avez créé votre domaine d'origine à partir d'un autre compte AWS, saisissez la valeur d'URL de l'origine dans le champ. L’origine doit être une URL HTTPS.

    Par exemple, pour un point de terminaison HLS comme https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/abc123/index.m3u8, le domaine d'origine est 3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com.

    Pour de plus amples informations, veuillez consulter Domaine de l'origine.

    Chemin d’origine

    Le chemin d'accès au MediaPackage point de terminaison à partir duquel le contenu est diffusé.

    Le champ Chemin de l'origine n'est pas rempli automatiquement. C'est à vous de le saisir manuellement.

    Pour de plus amples informations sur le fonctionnement d’un chemin d’origine, veuillez consulter Chemin d’origine.

    Important

    Le chemin générique * est obligatoire pour acheminer quelque part dans la CloudFront distribution. Pour éviter que les requêtes qui ne correspondent pas à un chemin explicite ne soient routées vers l'origine réelle, créez une origine « fictive » pour ce chemin générique.

    Exemple : Création d'une origine « fictive »

    Si, dans l'exemple suivant, les points de terminaison abc123 et def456 routent vers l'origine « réelle », les demandes de contenu vidéo de tout autre point de terminaison sont routées vers mediapackage.us-west-2.amazonaws.com sans le sous-domaine approprié, ce qui entraîne un HTTP 404.

    MediaPackage points de terminaison :

    https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/abc123/index.m3u8 https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/def456/index.m3u8

    CloudFront Origine A :

    Domain: 3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com Path: None

    CloudFront Origine B :

    Domain: mediapackage.us-west-2.amazonaws.com Path: None

    CloudFront comportement du cache :

    1. Path: /out/v1/abc123/* forward to Origin A 2. Path: /out/v1/def456/* forward to Origin A 3. Path: * forward to Origin B

    Pour les autres paramètres de distribution, définissez des valeurs spécifiques en fonction des autres exigences techniques ou des besoins de votre entreprise. Afin d’obtenir une liste de toutes les options pour les distributions ainsi que leurs informations de configuration, veuillez consulter Valeurs que vous spécifiez lorsque vous créez ou mettez à jour une distribution.

    Lorsque vous avez terminé de choisir les autres paramètres de distribution, choisissez Create distribution (Créer une distribution).

  4. Choisissez la distribution que vous venez de créer, puis choisissez Behaviors (Comportements).

  5. Sélectionnez le comportement du cache par défaut, puis choisissez Edit (Modifier). Spécifiez les paramètres de comportement du cache corrects pour le canal que vous avez choisi pour l'origine. Vous ajouterez ensuite une ou plusieurs autres origines supplémentaires et modifierez les paramètres de comportement du cache pour ces origines.

  6. Accédez à la page CloudFront des distributions.

  7. Attendez que la valeur de la colonne Dernière modification de votre distribution passe de Déploiement à une date et une heure indiquant que votre distribution CloudFront a été créée.

Étape 2 : ajouter des origines pour les domaines de vos points de MediaPackage terminaison

Répétez les étapes ci-dessous pour ajouter chacun des points de terminaison de votre MediaPackage chaîne à votre distribution, en gardant à l'esprit la nécessité de créer une origine « fictive ».

Pour ajouter d’autres points de terminaison en tant qu’origines
  1. Sur la CloudFront console, choisissez la distribution que vous avez créée pour votre chaîne.

  2. Choisissez Origins (Origines), puis Create origin (Créer une origine).

  3. Pour le domaine Origin, dans la liste déroulante, choisissez un MediaPackage point de terminaison pour votre chaîne.

  4. Pour les autres paramètres, définissez les valeurs en fonction des autres exigences techniques ou des besoins de votre entreprise. Pour de plus amples informations, veuillez consulter Paramètres d’origine.

  5. Choisissez Create origin (Créer une origine).

Étape 3 : Configurer les comportements de cache pour tous les points de terminaison

Pour chaque point de terminaison, vous devez configurer les comportements de cache pour ajouter des modèles de chemin qui acheminent les requêtes correctement. Les modèles de chemin que vous spécifiez dépendent du format vidéo que vous diffusez. La procédure suivante inclut les informations de modèle de chemin à utiliser pour les formats Apple HLS, CMAF, DASH et Microsoft Smooth Streaming.

Vous configurez généralement deux comportements de cache pour chaque point de terminaison :

  • Le manifeste parent, qui est l’index pour vos fichiers.

  • Les segments, qui sont les fichiers du contenu vidéo.

Pour créer un comportement de cache pour un point de terminaison
  1. Sur la CloudFront console, choisissez la distribution que vous avez créée pour votre chaîne.

  2. Choisissez Behaviors (Comportements), puis Create Behavior (Créer un comportement).

  3. Pour le modèle de chemin, utilisez un MediaPackage OriginEndpoint GUID spécifique comme préfixe de chemin.

    Modèles de chemin

    Pour un point de terminaison HLS comme https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/abc123/index.m3u8, créez les deux comportements de cache suivants :

    • Pour les manifestes parents et enfants, utilisez /out/v1/abc123/*.m3u8.

    • Pour les segments de contenu, utilisez /out/v1/abc123/*.ts.

    Pour un point de terminaison CMAF comme https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/abc123/index.m3u8, créez les deux comportements de cache suivants :

    • Pour les manifestes parents et enfants, utilisez /out/v1/abc123/*.m3u8.

    • Pour les segments de contenu, utilisez /out/v1/abc123/*.mp4.

    Pour un point de terminaison DASH comme https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/abc123/index.mpd, créez les deux comportements de cache suivants :

    • Pour le manifeste parent, utilisez /out/v1/abc123/*.mpd.

    • Pour les segments de contenu, utilisez /out/v1/abc123/*.mp4.

    Pour un point de terminaison Microsoft Smooth Streaming comme https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/abc123/index.ism, seul un manifeste est diffusé. Vous ne créez donc qu’un seul comportement de cache : out/v1/abc123/index.ism/*.

  4. Renseignez les valeurs des paramètres suivants pour chaque comportement de cache :

    Viewer Protocol Policy

    Choisissez Rediriger HTTP vers HTTPS.

    Politique de cache et de demande d'origine

    Pour Cache policy (Politique de cache), choisissez Create policy (Créer une poliltique). Pour votre nouvelle politique de cache, spécifiez les paramètres suivants :

    Durée de vie minimale

    Définissez sur 5 secondes ou moins pour éviter la diffusion de contenu obsolète.

    Chaînes de requête

    Pour Query strings (Chaînes de requête) (dans Cache key settings (Paramètres de clé de cache), choisissez Include specified query strings (Inclure des chaînes de requête spécifiées). Pour Allow (Autoriser), ajoutez les valeurs suivantes en les saisissant, puis choisissez Add item (Ajouter un élément) :

    • Ajoutez m en tant que chaîne de requête un paramètre que vous CloudFront souhaitez utiliser comme base pour la mise en cache. La MediaPackage réponse inclut toujours le tag permettant ?m=### de saisir l'heure de modification du point de terminaison. Si le contenu est déjà mis en cache avec une valeur différente pour cette balise, CloudFront demande un nouveau manifeste au lieu de diffuser la version mise en cache.

    • Si vous utilisez la fonctionnalité d'affichage décalé dans le temps dans MediaPackage, spécifiez start et en end tant que paramètres de chaîne de requête supplémentaires sur le comportement du cache pour les demandes de manifeste (*.m3u8*.mpd, etindex.ism/*). De cette façon, le contenu diffusé est spécifique à la période demandée dans la requête de manifeste. Pour en savoir plus sur le visionnage en différé et sur le formatage des paramètres de demande de début et de fin de contenu, consultez Visionnage en différé dans le Guide de l'utilisateur AWS Elemental MediaPackage.

    • Si vous utilisez la fonctionnalité de filtrage des manifestes dans MediaPackage, spécifiez aws.manifestfilter comme paramètre de chaîne de requête supplémentaire la politique de cache que vous utilisez avec le comportement du cache pour les demandes de manifeste (*.m3u8*.mpd, etindex.ism/*). Cela configure votre distribution pour transmettre la chaîne de aws.manifestfilter requête à votre MediaPackage origine, ce qui est nécessaire au fonctionnement de la fonctionnalité de filtrage des manifestes. Pour en savoir plus, consultez Filtrage des manifestes dans le Guide de l'utilisateur AWS Elemental MediaPackage.

    • Si vous utilisez le protocole HLS à faible latence (LL-HLS), spécifiez _HLS_msn et _HLS_part comme paramètres de chaîne de requête supplémentaires pour la politique de cache que vous utilisez avec le comportement de cache pour les demandes de manifeste (*.m3u8). Cela configure votre distribution pour qu'elle transmette les chaînes _HLS_msn et les chaînes de _HLS_part requête à votre MediaPackage origine, ce qui est nécessaire au fonctionnement de la fonctionnalité de blocage des demandes de playlist LL-HLS.

  5. Choisissez Créer.

  6. Après avoir créé la politique de cache, revenez au flux de création de comportements de cache. Actualisez la liste des politiques de cache, puis choisissez la politique que vous venez de créer.

  7. Choisissez Create behavior (Créer un comportement).

  8. Si votre point de terminaison n'est pas un point de terminaison Microsoft Smooth Streaming, répétez ces étapes pour créer un second comportement de cache.

Étape 4 : activer l'autorisation CDN basée sur l'en-tête MediaPackage

Nous recommandons d'activer l'autorisation MediaPackage CDN basée sur les en-têtes entre les MediaPackage points de terminaison et la distribution. CloudFront Pour plus d'informations, voir Activer l'autorisation CDN MediaPackage dans le guide de l'AWS Elemental MediaPackageutilisateur.

Étape 5 : Utiliser CloudFront pour diffuser la chaîne de diffusion en direct

Après avoir créé la distribution, ajouté les origines, créé les comportements de cache et activé l'autorisation CDN basée sur les en-têtes, vous pouvez diffuser le canal de diffusion en direct à l'aide de. CloudFront CloudFront achemine les demandes des utilisateurs vers les MediaPackage points de terminaison appropriés en fonction des paramètres que vous avez configurés pour les comportements du cache.

Pour les liens dans votre application (par exemple, un lecteur multimédia), spécifiez l'URL du fichier multimédia au format standard pour les CloudFront URL. Pour de plus amples informations, veuillez consulter Personnalisation du format d'URL pour les fichiers dans CloudFront.