Creazione di filtri con il .NET SDK di Servizi multimediali di AzureCreating Filters with Azure Media Services .NET SDK

A partire dalla versione 2.11, Servizi multimediali consente di definire filtri per i propri asset.Starting with 2.11 release, Media Services enables you to define filters for your assets. I filtri sono costituiti da regole lato server che consentono ai clienti di eseguire operazioni particolari, come riprodurre solo una sezione di un video (anziché il video intero) oppure specificare solo un sottoinsieme di rendering audio e video, in modo che possa essere gestito dal dispositivo del cliente (anziché tutti i rendering associati all'asset).These filters are server side rules that will allow your customers to choose to do things like: playback only a section of a video (instead of playing the whole video), or specify only a subset of audio and video renditions that your customer's device can handle (instead of all the renditions that are associated with the asset). Il filtro degli asset viene eseguito attraverso manifesti dinamicicreati su richiesta del cliente per trasmettere un video in streaming in base ai filtri specificati.This filtering of your assets is achieved through Dynamic Manifests that are created upon your customer's request to stream a video based on specified filter(s).

Per altre informazioni sui filtri e sul manifesto dinamico, vedere Filtri e manifesti dinamici.For more detailed information related to filters and Dynamic Manifest, see Dynamic manifests overview.

Questo argomento illustra come usare l’SDK .NET Servizi multimediali per creare, aggiornare ed eliminare filtri.This topic shows how to use Media Services .NET SDK to create, update, and delete filters.

Si noti che si aggiorna un filtro, l'endpoint di streaming può impiegare fino a due minuti per aggiornare le regole.Note if you update a filter, it can take up to 2 minutes for streaming endpoint to refresh the rules. Se il contenuto è stato trasmesso usando dei filtri (e memorizzato nelle cache dei proxy e delle reti CDN), l'aggiornamento del filtro può determinare un errore del lettore.If the content was served using this filter (and cached in proxies and CDN caches), updating this filter can result in player failures. È consigliabile quindi cancellare la cache dopo aver aggiornato il filtro.It is recommend to clear the cache after updating the filter. Se questa operazione non è consentita, prendere in considerazione la possibilità di usare un filtro diverso.If this option is not possible, consider using a different filter.

Tipi usati per la creazione dei filtriTypes used to create filters

Durante la creazione dei filtri vengono usati i tipi seguenti:The following types are used when creating filters:

Creare/aggiornare/leggere/eliminare filtri globaliCreate/Update/Read/Delete global filters

Il seguente codice illustra come utilizzare .NET per creare, aggiornare, leggere ed eliminare filtri di asset.The following code shows how to use .NET to create, update,read, and delete asset filters.

string filterName = "GlobalFilter_" + Guid.NewGuid().ToString();

List<FilterTrackSelectStatement> filterTrackSelectStatements = new List<FilterTrackSelectStatement>();

FilterTrackSelectStatement filterTrackSelectStatement = new FilterTrackSelectStatement();
filterTrackSelectStatement.PropertyConditions = new List<IFilterTrackPropertyCondition>();
filterTrackSelectStatement.PropertyConditions.Add(new FilterTrackNameCondition("Track Name", FilterTrackCompareOperator.NotEqual));
filterTrackSelectStatement.PropertyConditions.Add(new FilterTrackBitrateRangeCondition(new FilterTrackBitrateRange(0, 1), FilterTrackCompareOperator.NotEqual));
filterTrackSelectStatement.PropertyConditions.Add(new FilterTrackTypeCondition(FilterTrackType.Audio, FilterTrackCompareOperator.NotEqual));
filterTrackSelectStatements.Add(filterTrackSelectStatement);

// Create
IStreamingFilter filter = _context.Filters.Create(filterName, new PresentationTimeRange(), filterTrackSelectStatements);

// Update
filter.PresentationTimeRange = new PresentationTimeRange(timescale: 500);
filter.Update();

// Read
var filterUpdated = _context.Filters.FirstOrDefault();
Console.WriteLine(filterUpdated.Name);

// Delete
filter.Delete();

Creare/aggiornare/leggere/eliminare filtri di assetCreate/Update/Read/Delete asset filters

Il seguente codice illustra come utilizzare .NET per creare, aggiornare, leggere ed eliminare filtri di asset.The following code shows how to use .NET to create, update,read, and delete asset filters.

string assetName = "AssetFilter_" + Guid.NewGuid().ToString();
var asset = _context.Assets.Create(assetName, AssetCreationOptions.None);

string filterName = "AssetFilter_" + Guid.NewGuid().ToString();


// Create
IStreamingAssetFilter filter = asset.AssetFilters.Create(filterName,
                                    new PresentationTimeRange(), 
                                    new List<FilterTrackSelectStatement>());

// Update
filter.PresentationTimeRange = 
        new PresentationTimeRange(start: 6000000000, end: 72000000000);

filter.Update();

// Read
asset = _context.Assets.Where(c => c.Id == asset.Id).FirstOrDefault();
var filterUpdated = asset.AssetFilters.FirstOrDefault();
Console.WriteLine(filterUpdated.Name);

// Delete
filterUpdated.Delete();

Creare URL di streaming basati su filtriBuild streaming URLs that use filters

Per informazioni su come pubblicare e distribuire asset, vedere Informazioni generali sulla distribuzione di contenuti ai clienti.For information on how to publish and deliver your assets, see Delivering Content to Customers Overview.

Gli esempi seguenti illustrano come aggiungere filtri agli URL di streaming.The following examples show how to add filters to your streaming URLs.

MPEG DASHMPEG DASH

http://testendpoint-testaccount.streaming.mediaservices.windows.net/fecebb23-46f6-490d-8b70-203e86b0df58/BigBuckBunny.ism/Manifest(format=mpd-time-csf, filter=MyFilter)

Apple HTTP Live Streaming (HLS) V4Apple HTTP Live Streaming (HLS) V4

http://testendpoint-testaccount.streaming.mediaservices.windows.net/fecebb23-46f6-490d-8b70-203e86b0df58/BigBuckBunny.ism/Manifest(format=m3u8-aapl, filter=MyFilter)

Apple HTTP Live Streaming (HLS) V3Apple HTTP Live Streaming (HLS) V3

http://testendpoint-testaccount.streaming.mediaservices.windows.net/fecebb23-46f6-490d-8b70-203e86b0df58/BigBuckBunny.ism/Manifest(format=m3u8-aapl-v3, filter=MyFilter)

Smooth StreamingSmooth Streaming

http://testendpoint-testaccount.streaming.mediaservices.windows.net/fecebb23-46f6-490d-8b70-203e86b0df58/BigBuckBunny.ism/Manifest(filter=MyFilter)

Percorsi di apprendimento di Servizi multimedialiMedia Services learning paths

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:

Vedere ancheSee Also

Filtri e manifesti dinamiciDynamic manifests overview