Introduzione alla distribuzione di contenuti su richiesta utilizzando .NET SDKGet started with delivering content on demand using .NET SDK

Questa esercitazione illustra il processo di implementazione di un servizio per la distribuzione di contenuto video on demand (VoD) di base con l'applicazione Servizi multimediali di Azure (AMS) usando Azure Media Services .NET SDK.This tutorial walks you through the steps of implementing a basic Video-on-Demand (VoD) content delivery service with Azure Media Services (AMS) application using the Azure Media Services .NET SDK.

PrerequisitiPrerequisites

Per completare l'esercitazione è necessario quanto segue:The following are required to complete the tutorial:

Questa esercitazione include le attività seguenti:This tutorial includes the following tasks:

  1. Avviare l'endpoint di streaming usando il portale di Azure.Start streaming endpoint (using the Azure portal).
  2. Creare e configurare un progetto di Visual Studio.Create and configure a Visual Studio project.
  3. Connettersi all'account di Servizi multimediali.Connect to the Media Services account.
  4. Caricare un file video.Upload a video file.
  5. Codificare il file di origine in un set di file MP4 a velocità in bit adattiva.Encode the source file into a set of adaptive bitrate MP4 files.
  6. Pubblicare l'asset e ottenere gli URL di streaming e di download progressivo.Publish the asset and get streaming and progressive download URLs.
  7. Riprodurre i contenuti.Play your content.

PanoramicaOverview

Questa esercitazione illustra il processo di implementazione di un'applicazione di distribuzione di contenuti Video on Demand (VoD) usando l'SDK di Servizi multimediali di Azure per .NET.This tutorial walks you through the steps of implementing a Video-on-Demand (VoD) content delivery application using Azure Media Services (AMS) SDK for .NET.

L'esercitazione descrive il flusso di lavoro di base di Servizi multimediali nonché gli oggetti e le attività di programmazione usati più di frequente per lo sviluppo basato su Servizi multimediali.The tutorial introduces the basic Media Services workflow and the most common programming objects and tasks required for Media Services development. Al termine dell'esercitazione sarà possibile eseguire lo streaming o il download progressivo di un file multimediale di esempio caricato, codificato e scaricato.At the completion of the tutorial, you will be able to stream or progressively download a sample media file that you uploaded, encoded, and downloaded.

Modello AMSAMS model

L'immagine seguente illustra alcuni degli oggetti più comuni usati durante lo sviluppo di applicazioni VoD rispetto al modello OData di Servizi multimediali.The following image shows some of the most commonly used objects when developing VoD applications against the Media Services OData model.

Fare clic sull'immagine per visualizzarla a schermo intero.Click the image to view it full size.

È possibile visualizzare il modello completo qui.You can view the whole model here.

Avviare endpoint di streaming usando il portale di AzureStart streaming endpoints using the Azure portal

Uno degli scenari più frequenti dell'uso di Servizi multimediali di Azure riguarda la distribuzione di contenuto video in streaming a bitrate adattivo.When working with Azure Media Services one of the most common scenarios is delivering video via adaptive bitrate streaming. Servizi multimediali include la funzionalità per la creazione dinamica dei pacchetti, che consente di distribuire contenuto con codifica MP4 a bitrate adattivo nei formati supportati da Servizi multimediali, come MPEG DASH, HLS e Smooth Streaming in modalità JIT, senza dover archiviare le versioni predefinite di ognuno di questi formati di streaming.Media Services provides dynamic packaging, which allows you to deliver your adaptive bitrate MP4 encoded content in streaming formats supported by Media Services (MPEG DASH, HLS, Smooth Streaming) just-in-time, without you having to store pre-packaged versions of each of these streaming formats.

Nota

Quando l'account AMS viene creato, un endpoint di streaming predefinito viene aggiunto all'account con stato Arrestato.When your AMS account is created a default streaming endpoint is added to your account in the Stopped state. Per avviare lo streaming del contenuto e sfruttare i vantaggi della creazione dinamica dei pacchetti e della crittografia dinamica, l'endpoint di streaming da cui si vuole trasmettere il contenuto deve essere nello stato In esecuzione.To start streaming your content and take advantage of dynamic packaging and dynamic encryption, the streaming endpoint from which you want to stream content has to be in the Running state.

Per avviare l'endpoint di streaming, eseguire queste operazioni:To start the streaming endpoint, do the following:

  1. Accedere al portale di Azure.Log in at the Azure portal.
  2. Nella finestra Impostazioni fare clic su Endpoint di streaming.In the Settings window, click Streaming endpoints.
  3. Fare clic sull'endpoint di streaming predefinito.Click the default streaming endpoint.

    Verrà visualizzata la finestra DETTAGLI ENDPOINT DI STREAMING PREDEFINITO.The DEFAULT STREAMING ENDPOINT DETAILS window appears.

  4. Fare clic sull'icona di avvio.Click the Start icon.

  5. Fare clic sul pulsante Salva per salvare le modifiche apportate.Click the Save button to save your changes.

Creare e configurare un progetto di Visual StudioCreate and configure a Visual Studio project

  1. Configurare l'ambiente di sviluppo e popolare il file app.config con le informazioni di connessione, come descritto in Sviluppo di applicazioni di Servizi multimediali con .NET.Set up your development environment and populate the app.config file with connection information, as described in Media Services development with .NET.
  2. Creare una nuova cartella, in un punto qualsiasi nell'unità locale, e copiare un file con estensione mp4 di cui eseguire codifica e streaming o il download progressivo.Create a new folder (folder can be anywhere on your local drive) and copy an .mp4 file that you want to encode and stream or progressively download. In questo esempio viene usato il percorso "C:\VideoFiles".In this example, the "C:\VideoFiles" path is used.

Connettersi all'account di Servizi multimedialiConnect to the Media Services account

Quando si usa Servizi multimediali con .NET, è necessario usare la classe CloudMediaContext per la maggior parte delle attività di programmazione di Servizi multimediali: connessione all'account di Servizi multimediali, creazione, aggiornamento, accesso ed eliminazione dei seguenti oggetti: asset, file di asset, processi, criteri di accesso, localizzatori e così via.When using Media Services with .NET, you must use the CloudMediaContext class for most Media Services programming tasks: connecting to Media Services account; creating, updating, accessing, and deleting the following objects: assets, asset files, jobs, access policies, locators, etc.

Sovrascrivere la classe predefinita Program con il codice seguente.Overwrite the default Program class with the following code. Il codice mostra come leggere i valori di connessione dal file App.config e come creare l'oggetto CloudMediaContext per connettersi a Servizi multimediali.The code demonstrates how to read the connection values from the App.config file and how to create the CloudMediaContext object in order to connect to Media Services. Per altre informazioni, vedere la connessione all'API Servizi multimediali.For more information, see connecting to the Media Services API.

Assicurarsi di aggiornare il nome file e il percorso in cui salvare il file multimediale.Make sure to update the file name and path to where you have your media file.

La funzione Main chiama metodi che verranno definiti più in dettaglio in questa sezione.The Main function calls methods that will be defined further in this section.

Nota

Verranno visualizzati errori di compilazione finché si aggiungono definizioni per tutte le funzioni.You will be getting compilation errors until you add definitions for all the functions.

class Program
{
    // Read values from the App.config file.
    private static readonly string _AADTenantDomain =
    ConfigurationManager.AppSettings["AADTenantDomain"];
    private static readonly string _RESTAPIEndpoint =
    ConfigurationManager.AppSettings["MediaServiceRESTAPIEndpoint"];

    private static CloudMediaContext _context = null;

    static void Main(string[] args)
    {
    try
    {
        var tokenCredentials = new AzureAdTokenCredentials(_AADTenantDomain, AzureEnvironments.AzureCloudEnvironment);
        var tokenProvider = new AzureAdTokenProvider(tokenCredentials);

        _context = new CloudMediaContext(new Uri(_RESTAPIEndpoint), tokenProvider);

        // Add calls to methods defined in this section.
        // Make sure to update the file name and path to where you have your media file.
        IAsset inputAsset =
        UploadFile(@"C:\VideoFiles\BigBuckBunny.mp4", AssetCreationOptions.None);

        IAsset encodedAsset =
        EncodeToAdaptiveBitrateMP4s(inputAsset, AssetCreationOptions.None);

        PublishAssetGetURLs(encodedAsset);
    }
    catch (Exception exception)
    {
        // Parse the XML error message in the Media Services response and create a new
        // exception with its content.
        exception = MediaServicesExceptionParser.Parse(exception);

        Console.Error.WriteLine(exception.Message);
    }
    finally
    {
        Console.ReadLine();
    }
    }
}

Creare un nuovo asset e caricare un file videoCreate a new asset and upload a video file

In Servizi multimediali i file digitali vengono caricati (o inseriti) in un asset.In Media Services, you upload (or ingest) your digital files into an asset. L'entità Asset può contenere video, audio, immagini, raccolte di anteprime, tracce di testo e file di sottotitoli codificati, oltre ai metadati relativi a questi file. Dopo aver caricato i file, i contenuti vengono archiviati in modo sicuro nel cloud per altre operazioni di elaborazione e streaming.The Asset entity can contain video, audio, images, thumbnail collections, text tracks, and closed caption files (and the metadata about these files.) Once the files are uploaded, your content is stored securely in the cloud for further processing and streaming. I file nell'asset sono denominati File di asset.The files in the asset are called Asset Files.

Il metodo UploadFile definito di seguito chiama CreateFromFile, definito in .NET SDK Extensions.The UploadFile method defined below calls CreateFromFile (defined in .NET SDK Extensions). CreateFromFile crea un nuovo asset in cui viene caricato il file di origine specificato.CreateFromFile creates a new asset into which the specified source file is uploaded.

Il metodo CreateFromFile acquisisce AssetCreationOptions, che consente di specificare una delle opzioni di creazione seguenti:The CreateFromFile method takes AssetCreationOptions which lets you specify one of the following asset creation options:

  • None : non viene usata alcuna crittografia.None - No encryption is used. Si tratta del valore predefinito.This is the default value. Quando si usa questa opzione, il contenuto non è protetto durante il transito, né nell'archiviazione locale.Note that when using this option, your content is not protected in transit or at rest in storage. Se si pianifica la distribuzione di un file MP4 con il download progressivo, usare questa opzione.If you plan to deliver an MP4 using progressive download, use this option.
  • StorageEncrypted : usare questa opzione per crittografare localmente il contenuto non crittografato applicando la crittografia AES (Advanced Encryption Standard) a 256 bit e quindi caricarlo nel servizio Archiviazione di Azure, in cui viene archiviato in forma crittografata.StorageEncrypted - Use this option to encrypt your clear content locally using Advanced Encryption Standard (AES)-256 bit encryption, which then uploads it to Azure Storage where it is stored encrypted at rest. Gli asset protetti con la crittografia di archiviazione vengono decrittografati automaticamente e inseriti in un file system crittografato prima della codifica, quindi ricrittografati facoltativamente prima di essere ricaricati di nuovo come nuovo asset di output.Assets protected with Storage Encryption are automatically unencrypted and placed in an encrypted file system prior to encoding, and optionally re-encrypted prior to uploading back as a new output asset. La crittografia di archiviazione viene usata principalmente quando si vogliono proteggere i file multimediali con input di alta qualità con una crittografia avanzata sul disco locale.The primary use case for Storage Encryption is when you want to secure your high-quality input media files with strong encryption at rest on disk.
  • CommonEncryptionProtected : usare questa opzione per caricare contenuti già crittografati e protetti con Common Encryption o PlayReady DRM (ad esempio, Smooth Streaming protetto con PlayReady DRM).CommonEncryptionProtected - Use this option if you are uploading content that has already been encrypted and protected with Common Encryption or PlayReady DRM (for example, Smooth Streaming protected with PlayReady DRM).
  • EnvelopeEncryptionProtected : usare questa opzione se si stanno caricando contenuti HLS crittografati con AES.EnvelopeEncryptionProtected – Use this option if you are uploading HLS encrypted with AES. I file devono essere stati codificati e crittografati da Transform Manager.Note that the files must have been encoded and encrypted by Transform Manager.

Il metodo CreateFromFile consente anche di specificare un callback per visualizzare l'avanzamento del caricamento del file.The CreateFromFile method also lets you specify a callback in order to report the upload progress of the file.

Nell'esempio seguente è specificato None per le opzioni dell'asset.In the following example, we specify None for the asset options.

Aggiungere il seguente metodo alla classe Program.Add the following method to the Program class.

static public IAsset UploadFile(string fileName, AssetCreationOptions options)
{
    IAsset inputAsset = _context.Assets.CreateFromFile(
        fileName,
        options,
        (af, p) =>
        {
            Console.WriteLine("Uploading '{0}' - Progress: {1:0.##}%", af.Name, p.Progress);
        });

    Console.WriteLine("Asset {0} created.", inputAsset.Id);

    return inputAsset;
}

Codificare il file di origine in un set di file MP4 a velocità in bit adattivaEncode the source file into a set of adaptive bitrate MP4 files

Dopo aver inserito gli asset in Servizi multimediali, i file multimediali possono essere codificati, sottoposti a transmux e all'applicazione di filigrana e così via prima di essere distribuiti ai client.After ingesting assets into Media Services, media can be encoded, transmuxed, watermarked, and so on, before it is delivered to clients. Queste attività vengono pianificate ed eseguite in più istanze del ruolo in background per assicurare prestazioni e disponibilità elevate.These activities are scheduled and run against multiple background role instances to ensure high performance and availability. Queste attività vengono chiamate processi. Ogni processo è formato da attività atomiche che svolgono le procedure effettive nel file di asset.These activities are called Jobs, and each Job is composed of atomic Tasks that do the actual work on the Asset file.

Come indicato prima, quando si usa Servizi multimediali di Azure, uno degli scenari più frequenti consiste nella distribuzione di contenuti in streaming a velocità in bit adattiva ai client.As was mentioned earlier, when working with Azure Media Services, one of the most common scenarios is delivering adaptive bitrate streaming to your clients. Servizi multimediali può creare dinamicamente un pacchetto di un set di file MP4 a velocità in bit adattiva in uno dei formati seguenti: HTTP Live Streaming (HLS), Smooth Streaming e MPEG DASH.Media Services can dynamically package a set of adaptive bitrate MP4 files into one of the following formats: HTTP Live Streaming (HLS), Smooth Streaming, and MPEG DASH.

Per sfruttare la creazione dinamica dei pacchetti è necessario codificare o transcodificare il file in formato intermedio (di origine) in un set di file MP4 o Smooth Streaming a bitrate adattivo.To take advantage of dynamic packaging, you need to encode or transcode your mezzanine (source) file into a set of adaptive bitrate MP4 files or adaptive bitrate Smooth Streaming files.

Il seguente codice mostra come inviare un processo di codifica.The following code shows how to submit an encoding job. Il processo contiene un'attività che indica di transcodificare il file in formato intermedio in un set di file MP4 a velocità in bit adattiva con Media Encoder Standard.The job contains one task that specifies to transcode the mezzanine file into a set of adaptive bitrate MP4s using Media Encoder Standard. Il codice invia il processo e ne attende il completamento.The code submits the job and waits until it is completed.

Al termine, è possibile eseguire lo streaming dell'asset o il download progressivo dei file MP4 creati con la transcodifica.Once the job is completed, you would be able to stream your asset or progressively download MP4 files that were created as a result of transcoding.

Aggiungere il seguente metodo alla classe Program.Add the following method to the Program class.

static public IAsset EncodeToAdaptiveBitrateMP4s(IAsset asset, AssetCreationOptions options)
{

    // Prepare a job with a single task to transcode the specified asset
    // into a multi-bitrate asset.

    IJob job = _context.Jobs.CreateWithSingleTask(
        "Media Encoder Standard",
        "Adaptive Streaming",
        asset,
        "Adaptive Bitrate MP4",
        options);

    Console.WriteLine("Submitting transcoding job...");


    // Submit the job and wait until it is completed.
    job.Submit();

    job = job.StartExecutionProgressTask(
        j =>
        {
            Console.WriteLine("Job state: {0}", j.State);
            Console.WriteLine("Job progress: {0:0.##}%", j.GetOverallProgress());
        },
        CancellationToken.None).Result;

    Console.WriteLine("Transcoding job finished.");

    IAsset outputAsset = job.OutputMediaAssets[0];

    return outputAsset;
}

Pubblicare l'asset e ottenere gli URL di streaming e di download progressivoPublish the asset and get URLs for streaming and progressive download

Per eseguire lo streaming o il download di un asset è necessario prima "pubblicarlo" creando un localizzatore.To stream or download an asset, you first need to "publish" it by creating a locator. I localizzatori forniscono l'accesso ai file contenuti nell'asset.Locators provide access to files contained in the asset. Servizi multimediali supporta due tipi di localizzatori: localizzatori OnDemandOrigin, usati per lo streaming dei file multimediali (ad esempio, MPEG DASH, HLS o Smooth Streaming) e localizzatori di firma di accesso condiviso, usati per scaricare i file multimediali. Per altre informazioni sui localizzatori di firma di accesso condiviso, vedere questo blog.Media Services supports two types of locators: OnDemandOrigin locators, used to stream media (for example, MPEG DASH, HLS, or Smooth Streaming) and Access Signature (SAS) locators, used to download media files (for more information about SAS locators see this blog).

Alcuni dettagli sui formati di URLSome details about URL formats

Dopo aver creato i localizzatori, è possibile compilare gli URL usati per eseguire lo streaming o il download dei file.After you create the locators, you can build the URLs that would be used to stream or download your files. L'esempio in questa esercitazione restituirà URL che possono essere incollati nei browser appropriati.The sample in this tutorial will output URLs that you can paste in appropriate browsers. Questa sezione fornisce brevi esempi dei diversi formati.This section just gives short examples of what different formats look like.

Un URL di streaming per MPEG DASH ha il seguente formato:A streaming URL for MPEG DASH has the following format:

{nome endpoint di streaming-nome account servizi multimediali}.streaming.mediaservices.windows.net/{ID localizzatore}/{nome file}.ism/Manifest(format=mpd-time-csf){streaming endpoint name-media services account name}.streaming.mediaservices.windows.net/{locator ID}/{filename}.ism/Manifest(format=mpd-time-csf)

Un URL di streaming per HLS ha il seguente formato:A streaming URL for HLS has the following format:

{nome endpoint di streaming-nome account servizi multimediali}.streaming.mediaservices.windows.net/{ID localizzatore}/{nome file}.ism/Manifest(format=m3u8-aapl){streaming endpoint name-media services account name}.streaming.mediaservices.windows.net/{locator ID}/{filename}.ism/Manifest(format=m3u8-aapl)

Un URL di streaming per Smooth Streaming ha il seguente formato:A streaming URL for Smooth Streaming has the following format:

{nome endpoint di streaming-nome account servizi multimediali}.streaming.mediaservices.windows.net/{ID localizzatore}/{nome file}.ism/Manifest{streaming endpoint name-media services account name}.streaming.mediaservices.windows.net/{locator ID}/{filename}.ism/Manifest

Un URL di firma di accesso condiviso usato per scaricare i file ha il seguente formato:A SAS URL used to download files has the following format:

{nome contenitore BLOB}/{nome asset}/{nome file}/{firma di accesso condiviso}{blob container name}/{asset name}/{file name}/{SAS signature}

Le estensioni dell'SDK di Servizi multimediali per .NET forniscono pratici metodi di supporto che restituiscono URL formattati per l'asset pubblicato.Media Services .NET SDK extensions provide convenient helper methods that return formatted URLs for the published asset.

Il codice seguente usa le estensioni dell'SDK per .NET per creare i localizzatori e ottenere URL per lo streaming e il download progressivo.The following code uses .NET SDK Extensions to create locators and to get streaming and progressive download URLs. Il codice mostra anche come scaricare i file in una cartella locale.The code also shows how to download files to a local folder.

Aggiungere il seguente metodo alla classe Program.Add the following method to the Program class.

static public void PublishAssetGetURLs(IAsset asset)
{
    // Publish the output asset by creating an Origin locator for adaptive streaming,
    // and a SAS locator for progressive download.

    _context.Locators.Create(
        LocatorType.OnDemandOrigin,
        asset,
        AccessPermissions.Read,
        TimeSpan.FromDays(30));

    _context.Locators.Create(
        LocatorType.Sas,
        asset,
        AccessPermissions.Read,
        TimeSpan.FromDays(30));


    IEnumerable<IAssetFile> mp4AssetFiles = asset
            .AssetFiles
            .ToList()
            .Where(af => af.Name.EndsWith(".mp4", StringComparison.OrdinalIgnoreCase));

    // Get the Smooth Streaming, HLS and MPEG-DASH URLs for adaptive streaming,
    // and the Progressive Download URL.
    Uri smoothStreamingUri = asset.GetSmoothStreamingUri();
    Uri hlsUri = asset.GetHlsUri();
    Uri mpegDashUri = asset.GetMpegDashUri();

    // Get the URls for progressive download for each MP4 file that was generated as a result
    // of encoding.
    List<Uri> mp4ProgressiveDownloadUris = mp4AssetFiles.Select(af => af.GetSasUri()).ToList();


    // Display  the streaming URLs.
    Console.WriteLine("Use the following URLs for adaptive streaming: ");
    Console.WriteLine(smoothStreamingUri);
    Console.WriteLine(hlsUri);
    Console.WriteLine(mpegDashUri);
    Console.WriteLine();

    // Display the URLs for progressive download.
    Console.WriteLine("Use the following URLs for progressive download.");
    mp4ProgressiveDownloadUris.ForEach(uri => Console.WriteLine(uri + "\n"));
    Console.WriteLine();

    // Download the output asset to a local folder.
    string outputFolder = "job-output";
    if (!Directory.Exists(outputFolder))
    {
        Directory.CreateDirectory(outputFolder);
    }

    Console.WriteLine();
    Console.WriteLine("Downloading output asset files to a local folder...");
    asset.DownloadToFolder(
        outputFolder,
        (af, p) =>
        {
            Console.WriteLine("Downloading '{0}' - Progress: {1:0.##}%", af.Name, p.Progress);
        });

    Console.WriteLine("Output asset files available at '{0}'.", Path.GetFullPath(outputFolder));
}

Testare riproducendo i contenuti.Test by playing your content

Dopo aver eseguito il programma definito nella sezione precedente, nella finestra della console vengono visualizzati URL simili al seguente.Once you run the program defined in the previous section, the URLs similar to the following will be displayed in the console window.

URL per streaming adattivo:Adaptive streaming URLs:

Smooth StreamingSmooth Streaming

http://amstestaccount001.streaming.mediaservices.windows.net/ebf733c4-3e2e-4a68-b67b-cc5159d1d7f2/BigBuckBunny.ism/manifest

HLSHLS

http://amstestaccount001.streaming.mediaservices.windows.net/ebf733c4-3e2e-4a68-b67b-cc5159d1d7f2/BigBuckBunny.ism/manifest(format=m3u8-aapl)

MPEG DASHMPEG DASH

http://amstestaccount001.streaming.mediaservices.windows.net/ebf733c4-3e2e-4a68-b67b-cc5159d1d7f2/BigBuckBunny.ism/manifest(format=mpd-time-csf)

URL per download progressivo (audio e video).Progressive download URLs (audio and video).

https://storagetestaccount001.blob.core.windows.net/asset-38058602-a4b8-4b33-b9f0-6880dc1490ea/BigBuckBunny_H264_650kbps_AAC_und_ch2_96kbps.mp4?sv=2012-02-12&sr=c&si=166d5154-b801-410b-a226-ee2f8eac1929&sig=P2iNZJAvAWpp%2Bj9yV6TQjoz5DIIaj7ve8ARynmEM6Xk%3D&se=2015-02-14T01:13:05Z

https://storagetestaccount001.blob.core.windows.net/asset-38058602-a4b8-4b33-b9f0-6880dc1490ea/BigBuckBunny_H264_400kbps_AAC_und_ch2_96kbps.mp4?sv=2012-02-12&sr=c&si=166d5154-b801-410b-a226-ee2f8eac1929&sig=P2iNZJAvAWpp%2Bj9yV6TQjoz5DIIaj7ve8ARynmEM6Xk%3D&se=2015-02-14T01:13:05Z

https://storagetestaccount001.blob.core.windows.net/asset-38058602-a4b8-4b33-b9f0-6880dc1490ea/BigBuckBunny_H264_3400kbps_AAC_und_ch2_96kbps.mp4?sv=2012-02-12&sr=c&si=166d5154-b801-410b-a226-ee2f8eac1929&sig=P2iNZJAvAWpp%2Bj9yV6TQjoz5DIIaj7ve8ARynmEM6Xk%3D&se=2015-02-14T01:13:05Z

https://storagetestaccount001.blob.core.windows.net/asset-38058602-a4b8-4b33-b9f0-6880dc1490ea/BigBuckBunny_H264_2250kbps_AAC_und_ch2_96kbps.mp4?sv=2012-02-12&sr=c&si=166d5154-b801-410b-a226-ee2f8eac1929&sig=P2iNZJAvAWpp%2Bj9yV6TQjoz5DIIaj7ve8ARynmEM6Xk%3D&se=2015-02-14T01:13:05Z

https://storagetestaccount001.blob.core.windows.net/asset-38058602-a4b8-4b33-b9f0-6880dc1490ea/BigBuckBunny_H264_1500kbps_AAC_und_ch2_96kbps.mp4?sv=2012-02-12&sr=c&si=166d5154-b801-410b-a226-ee2f8eac1929&sig=P2iNZJAvAWpp%2Bj9yV6TQjoz5DIIaj7ve8ARynmEM6Xk%3D&se=2015-02-14T01:13:05Z

https://storagetestaccount001.blob.core.windows.net/asset-38058602-a4b8-4b33-b9f0-6880dc1490ea/BigBuckBunny_H264_1000kbps_AAC_und_ch2_96kbps.mp4?sv=2012-02-12&sr=c&si=166d5154-b801-410b-a226-ee2f8eac1929&sig=P2iNZJAvAWpp%2Bj9yV6TQjoz5DIIaj7ve8ARynmEM6Xk%3D&se=2015-02-14T01:13:05Z

https://storagetestaccount001.blob.core.windows.net/asset-38058602-a4b8-4b33-b9f0-6880dc1490ea/BigBuckBunny_AAC_und_ch2_96kbps.mp4?sv=2012-02-12&sr=c&si=166d5154-b801-410b-a226-ee2f8eac1929&sig=P2iNZJAvAWpp%2Bj9yV6TQjoz5DIIaj7ve8ARynmEM6Xk%3D&se=2015-02-14T01:13:05Z

https://storagetestaccount001.blob.core.windows.net/asset-38058602-a4b8-4b33-b9f0-6880dc1490ea/BigBuckBunny_AAC_und_ch2_56kbps.mp4?sv=2012-02-12&sr=c&si=166d5154-b801-410b-a226-ee2f8eac1929&sig=P2iNZJAvAWpp%2Bj9yV6TQjoz5DIIaj7ve8ARynmEM6Xk%3D&se=2015-02-14T01:13:05Z

Per eseguire lo streaming del video, incollare l'URL nella casella di testo URL in Azure Media Player.To stream your video, paste your URL in the URL textbox in the Azure Media Services Player.

Per testare il download progressivo, incollare un URL in un browser (ad esempio, IE, Chrome, Safari).To test progressive download, paste a URL into a browser (for example, Internet Explorer, Chrome, or Safari).

Per ulteriori informazioni, vedere gli argomenti seguenti:For more information, see the following topics:

Scaricare un esempioDownload sample

L'esempio di codice seguente contiene il codice creato in questa esercitazione: esempio.The following code sample contains the code that you created in this tutorial: sample.

Passaggi successiviNext Steps

Altre informazioni sui percorsi di apprendimento di Servizi multimediali di Azure:Read about the Azure Media Services learning paths:

Fornire commenti e suggerimentiProvide feedback

Usare il forum di suggerimenti degli utenti per fornire commenti e suggerimenti su come migliorare Servizi multimediali di Azure.Use the User Voice forum to provide feedback and make suggestions on how to improve Azure Media Services. È anche possibile passare direttamente a una delle categorie seguenti:You also can go directly to one of the following categories: