Utiliser le décalage temporel et des sorties en direct pour créer une lecture vidéo à la demande

Logo de Media Services v3


Avertissement

Azure Media Services sera mis hors service le 30 juin 2024. Pour plus d’informations, consultez le Guide de mise hors service AMS.

Dans Azure Media Services, un objet Sortie en direct fonctionne comme un magnétoscope numérique qui capture et enregistre votre stream en direct dans un élément multimédia dans votre compte Media Services. Le contenu enregistré est conservé dans le conteneur défini par la ressource Élément multimédia (le conteneur est dans le compte de stockage Azure associé à votre compte). La sortie en direct vous permet également de contrôler certaines propriétés du stream en direct sortant, notamment la quantité du flux conservée dans l’enregistrement archive (par exemple, la capacité du magnétoscope numérique cloud) et quand les destinataires sont autorisés à démarrer la lecture du stream en direct. L’archive sur le disque est une archive circulaire de type « fenêtre » qui stocke uniquement la quantité de contenu spécifiée dans la propriété archiveWindowLength de la sortie en direct. Le contenu qui dépasse cette fenêtre d’archive est automatiquement supprimé du conteneur de stockage et n’est pas récupérable. La valeur archiveWindowLength représente un intervalle de temps ISO-8601 (par exemple, PTHH:MM:SS), qui spécifie la capacité du magnétoscope numérique. La valeur est comprise entre 1 minute minimum et 25 heures maximum.

La relation entre un événement en direct et ses sorties en direct est comparable à la diffusion télévisuelle traditionnelle, où un canal (événement en direct) représente un flux vidéo constant et un enregistrement (sortie en direct) est limité à une plage horaire spécifique (par exemple, un journal télévisé de 18h30 à 19h). Une fois que le flux transite dans l’événement en direct, vous pouvez commencer l’événement de streaming en créant un élément multimédia, une sortie en direct et un localisateur de streaming. La sortie en direct archive le flux et le met à la disposition des observateurs via le point de terminaison de streaming. Vous pouvez créer plusieurs sorties en direct (trois maximum) sur un événement en direct avec différents paramètres et longueurs de fenêtre d’archive. Pour plus d’informations sur le flux de travail de streaming en direct, vois la section Étapes générales.

Utilisation d’un magnétoscope numérique pendant un événement

Cette section explique comment utiliser un magnétoscope numérique au cours d’un événement afin de contrôler les parties du flux disponibles pour « rembobiner ».

La valeur archiveWindowLength détermine dans quelle mesure l’utilisateur peut revenir en arrière à partir de la position actuelle. La valeur archiveWindowLength spécifie également la longueur maximale que peuvent atteindre les manifestes du client.

Prenons l’exemple d’un match de football en streaming, dont la valeur ArchiveWindowLength n’est que de 30 minutes. Un utilisateur qui commencerait à regarder l’événement 45 minutes après le début de la rencontre pourrait revenir au maximum à la marque de 15 minutes. Vos sorties en direct pour le match se poursuivront jusqu’à l’arrêt de l’événement en direct. Le contenu en dehors de la valeur archiveWindowLength est rejeté continuellement du stockage et n’est pas récupérable. Dans cet exemple, la vidéo qui se trouve entre le début de l’événement et la marque de 15 minutes aurait été éliminée de votre magnétoscope numérique et du conteneur dans le Stockage Blob de l’élément multimédia. L’archive, non récupérable, est supprimée du conteneur dans le Stockage Blob Azure.

Un événement en direct prend en charge jusqu’à trois sorties en direct simultanées, ce qui rend possible la création de trois enregistrements/archives au maximum à partir d’un même flux en direct simultanément. Cette prise en charge vous permet de publier et d’archiver différentes parties d’un événement en fonction des besoins. Supposons que vous vouliez diffuser un flux linéaire temps réel 24 h/24, 7 j/7 et créer tout au long de la journée des « enregistrements » des différents programmes, qui seront proposés à la demande aux utilisateurs dans le cadre d’un service de replay. Dans ce scénario, vous commencez par créer une sortie en direct principale, avec une fenêtre d’archive courte d’une heure ou moins : ce sera le flux temps réel principal que visionneront les utilisateurs. Vous créez ensuite un localisateur de streaming pour cette sortie en direct et le publiez sur votre application ou votre site web comme flux « temps réel ». Pendant que l’événement en direct est en cours d’exécution, vous pouvez créer par programmation une deuxième sortie en direct simultanée au début d’un programme (ou 5 minutes avant pour fournir des descripteurs à supprimer ultérieurement). Cette deuxième sortie en direct peut être supprimée 5 minutes après la fin du programme. Avec ce second élément multimédia, vous pouvez créer un localisateur de streaming pour publier ce programme sous forme d’élément multimédia à la demande dans le catalogue de votre application. Vous pouvez répéter plusieurs fois ce processus pour les autres limites ou points forts du programme que vous souhaitez partager sous forme de vidéos à la demande, tandis que le flux « temps réel » de la première sortie en direct continue de diffuser le flux linéaire.

Utilisation de rewindWindowLength

Vous pouvez également utiliser la propriété rewindWindowLength pour une sortie en direct pour contrôler la durée pendant laquelle une visionneuse peut rechercher vers l’arrière pendant un événement en direct. Le paramètre permet également de réduire la taille du manifeste fourni au client via le réseau pendant le streaming en direct. Cela peut entraîner une expérience de streaming en direct plus efficace et réduire l’utilisation de la mémoire sur le client. Une fois la sortie en direct arrêtée, la vidéo archivée utilise la longueur de la fenêtre d’archivage d’origine décrite ci-dessus.

Une fois le flux terminé, vous pouvez accéder au fichier archivé dans la ressource définie par la propriété archiveWindowLength pour la sortie en direct. Cela vous permet de définir une durée d’archivage différente de la durée précédente de la « fenêtre glissante DVR » qui est visible pour le lecteur.

Cela est très utile lorsque vous souhaitez diffuser en continu avec une très petite fenêtre de décalage dans le lecteur, mais souhaitez archiver la totalité de l’événement en direct sur la ressource de sortie.

Vous pouvez définir rewindWindowLength sur une valeur minimale de 60 secondes.

Si vous créez un événement en direct à l’aide de LowLatencyV2, la valeur par défaut est de 30 minutes.

Lorsque vous envoyez une demande de sortie en direct, incluez rewindWindowLength dans les propriétés. Dans l’exemple REST ci-dessous, PT1H30M est utilisé pour indiquer 1 heure et 30 minutes pour la durée de la fenêtre de rembobinage.


{
  "properties": {
    "description": "test live output 1",
    "assetName": "6f3264f5-a189-48b4-a29a-a40f22575212",
    "archiveWindowLength": "PT5M",
    "rewindWindowLength": "PT1H30M",
    "manifestName": "testmanifest",
    "hls": {
      "fragmentsPerTsSegment": 5
    }
  }

Création d’une archive pour une lecture à la demande

La ressource de sortie en direct devient automatiquement une ressource à la demande lorsque la sortie en direct est supprimée. Vous devez supprimer toutes les sorties dynamiques avant de pouvoir arrêter un événement en direct. (Vous pouvez utiliser un indicateur facultatif removeOutputsOnStop pour supprimer automatiquement les sorties en direct à l’arrêt.) Les utilisateurs peuvent diffuser en continu votre contenu archivé à la demande tant que vous ne supprimez pas la ressource.

Notes

Quand vous supprimez la sortie en direct, vous ne supprimez pas l’élément multimédia sous-jacent ni le contenu de celui-ci.

Si vous avez publié l’élément multimédia de votre sortie en direct à l’aide d’un localisateur de streaming, l’événement en direct (jusqu’à la longueur de la fenêtre DVR) restera visible jusqu’à l’expiration ou la suppression du localisateur de streaming, en fonction de ce qui se produit en premier.

Pour plus d'informations, consultez les pages suivantes :

Obtenir de l’aide et du support

Vous pouvez contacter Media Services pour toute question ou suivre nos mises à jour selon l’une des méthodes suivantes :