Tutoriel : Encoder un fichier distant basé sur une URL et diffuser la vidéo en continu - .NETTutorial: Encode a remote file based on URL and stream the video - .NET

Ce tutoriel vous montre combien il est facile de coder et de lancer la diffusion en continu de vidéos sur une grande variété de navigateurs et d’appareils à l’aide d’Azure Media Services.This tutorial shows you how easy it is to encode and start streaming videos on a wide variety of browsers and devices using Azure Media Services. Un contenu d’entrée peut être spécifié à l’aide d’URL HTTPS, d’URL SAP ou de chemins d’accès aux fichiers situés dans le Stockage Blob Azure.An input content can be specified using HTTPS URLs, SAS URLs, or paths to files located in Azure Blob storage. Dans cette rubrique, l’exemple encode du contenu que vous mettez à disposition via une URL HTTPS.The sample in this topic encodes content that you make accessible via an HTTPS URL. Notez qu’AMS v3 ne prend pas en charge l’encodage de transfert mémorisé en bloc sur les URL HTTPS.Note that currently, AMS v3 does not support chunked transfer encoding over HTTPS URLs.

À la fin du tutoriel, vous serez en mesure de diffuser en continu une vidéo.By the end of the tutorial you will be able to stream a video.

Lire la vidéo

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.If you don't have an Azure subscription, create a free account before you begin.

PrérequisPrerequisites

Télécharger et configurer l’exempleDownload and configure the sample

Clonez un référentiel GitHub qui contient l’exemple .NET de diffusion en continu sur votre machine à l’aide de la commande suivante :Clone a GitHub repository that contains the streaming .NET sample to your machine using the following command:

git clone https://github.com/Azure-Samples/media-services-v3-dotnet-quickstarts.git

L’exemple se trouve dans le dossier EncodeAndStreamFiles.The sample is located in the EncodeAndStreamFiles folder.

Ouvrez appsettings.json dans votre projet téléchargé.Open appsettings.json in your downloaded project. Remplacez les valeurs par les informations d’identification que vous avez obtenues en accédant aux API.Replace the values with credentials that you got from accessing APIs.

L’exemple effectue les actions suivantes :The sample performs the following actions:

  1. Crée une transformation (vérifie d’abord si la transformation spécifiée existe).Creates a Transform (first, checks if the specified Transform exists).
  2. Crée un actif multimédia de sortie qui est utilisé comme sortie du travail d’encodage.Creates an output Asset that is used as the encoding Job's output.
  3. Crée l’entrée du travail qui est basée sur une URL HTTPS.Creates the Job's input that is based on an HTTPS URL.
  4. Soumet le travail d’encodage à l’aide de l’entrée et de la sortie créées précédemment.Submits the encoding Job using the input and output that was created earlier.
  5. Vérifie l’état du travail.Checks the Job's status.
  6. Crée un localisateur de streaming.Creates a Streaming Locator.
  7. Crée des URL de diffusion en continu.Builds streaming URLs.

Pour obtenir des explications sur chaque fonction dans l’exemple, examinez le code et lisez les commentaires dans ce fichier source.For explanations about what each function in the sample does, examine the code and look at the comments in this source file.

Exécution de l'exemple d'applicationRun the sample app

Lorsque vous exécutez l’application, les URL qui peuvent être utilisées pour lire la vidéo à l’aide de différents protocoles s’affichent.When you run the app, URLs that can be used to playback the video using different protocols are displayed.

  1. Appuyez sur Ctrl + F5 pour exécuter l’application EncodeAndStreamFiles.Press Ctrl+F5 to run the EncodeAndStreamFiles application.
  2. Choisissez le protocole HLS d’Apple (se termine par manifest(format=m3u8-aapl) ), puis copiez l’URL de diffusion en continu à partir de la console.Choose the Apple's HLS protocol (ends with manifest(format=m3u8-aapl)) and copy the streaming URL from the console.

Output

Le code source de l’exemple montre comment l’URL est construite.In the sample's source code, you can see how the URL is built. Pour générer cette URL, vous devez concaténer le nom d’hôte du point de terminaison de streaming et le chemin d’accès au localisateur de diffusion en continu.To build it, you need to concatenate the streaming endpoint's host name and the streaming locator path.

Test avec Azure Media PlayerTest with Azure Media Player

Pour tester la diffusion en continu, cet article utilise le lecteur multimédia Azure.To test the stream, this article uses Azure Media Player.

Notes

Si un lecteur est hébergé sur un site https, veillez à mettre à jour l’URL vers « https ».If a player is hosted on an https site, make sure to update the URL to "https".

  1. Ouvrez un navigateur web et accédez à https://aka.ms/azuremediaplayer/.Open a web browser and navigate to https://aka.ms/azuremediaplayer/.

  2. Dans le champ URL : , collez l’une des valeurs d’URL de diffusion en continu que vous avez obtenues lors de l’exécution de l’application.In the URL: box, paste one of the streaming URL values you got when you ran the application.

    Vous pouvez coller l’URL dans le format HLS, Dash ou Smooth : le lecteur multimédia Azure passe automatiquement à un protocole de streaming approprié pour la lecture sur votre appareil.You can paste the URL in HLS, Dash, or Smooth format and Azure Media Player will switch to an appropriate streaming protocol for playback on your device automatically.

  3. Appuyez sur Mise à jour du Lecteur Windows Media.Press Update Player.

Le lecteur multimédia Azure peut être utilisé pour effectuer des tests, mais ne doit pas être utilisé dans un environnement de production.Azure Media Player can be used for testing but should not be used in a production environment.

Nettoyer les ressourcesClean up resources

Si vous n’avez plus besoin des ressources de votre groupe de ressources, notamment les comptes Media Services et de stockage que vous avez créés dans ce tutoriel rapide, supprimez le groupe de ressources.If you no longer need any of the resources in your resource group, including the Media Services and storage accounts you created for this tutorial, delete the resource group.

Exécutez la commande CLI suivante :Execute the following CLI command:

az group delete --name amsResourceGroup

Examiner le codeExamine the code

Pour obtenir des explications sur chaque fonction dans l’exemple, examinez le code et lisez les commentaires dans ce fichier source.For explanations about what each function in the sample does, examine the code and look at the comments in this source file.

Le tutoriel Charger, encoder et diffuser en continu des fichiers vous donne un exemple de diffusion en continu plus élaboré, avec des explications détaillées.The upload, encode, and stream files tutorial gives you a more advanced streaming example with detailed explanations.

Codes d’erreur des tâchesJob error codes

Consultez Codes d’erreur.See Error codes.

MultithreadingMultithreading

Les Kits de développement logiciel (SDK) Azure Media Services v3 ne sont pas thread-safe.The Azure Media Services v3 SDKs are not thread-safe. Lorsque vous travaillez avec une application multithread, vous devez générer un nouvel objet AzureMediaServicesClient par thread.When working with multi-threaded application, you should generate a new AzureMediaServicesClient object per thread.

Étapes suivantesNext steps