Lo scorso febbraio vi avevamo segnalato la disponibilità dei Windows Media Services per Windows Server 2008 e la possibilità di utilizzarli sia in macchine con installazione completa che con modalità "Server Core".

I Media Services non sono però l'unica scelta che abbiamo a disposizione per effettuare streaming di contenuti multimediali, anche ad alta definizione, da piattaforma Microsoft. Ad esempio Radio Deejay e All Music hanno affiancato  a Windows Media Services i nuovi servizi Silverlight Streaming.

Come ci ricorda Giuseppe nel suo blog, sono principalmente tre gli scenari di delivery di video e contenuti multimediali da web:

  • Hosting dei contenuti video presso strutture terze specializzate nella distribuzione di questo tipo di contenuti attraverso CDN (Content Delivery Network) specifiche:
  • Infrastruttura di streaming installata nella server farm;
  • Download progressive, ovvero distribuzione del file attraverso un server web.

La piattaforma Microsoft offre una soluzione per tutti e tre gli scenari :

  • Silverlight Streaming che offre una CDN per la distribuzione di contenuti video e di applicazioni Silverlight in generale;
  • Windows Media Services per Windows Server 2008 che forniscono una piattaforma di streaming integrata in Windows Server con completo supporto per il DRM;
  • IIS 7 Media Pack Bit Rate Throttling che offre nuove funzionalità ad IIS7 per gestire gli scenari di download progressive , da poco disponibile nella versione finale.

In particolare il "Media Pack - Bit Rate Throttling Module" è un componente aggiuntivo di Internet Information Services 7.0 che consente agli amministratori di gestire il consumo di banda dei contenuti multimediali e dei files resi disponibili nei propri siti web.

Con il Bit Rate Throttling Module è possibile definire:

  • la quantità iniziale di dati che saranno inviati al client utilizzando tutta la larghezza di banda disponibile;
  • la larghezza di banda che sarà resa disponibile successivamente per il download.

L'utilizzo di questo componente si inquadra ad esempio in quegli scenari in cui sono ospitati su di un portale web molti video differenti, ed esistono molti client che accedono ai video stessi. L'obiettivo degli amministratori è ovviamente quello di garantire una riproduzione fluida dei video, e al tempo stesso massimizzare il numero di utenti concorrenti. Quando si lavora con contenuti multimediali è normale avere degli utenti che passano rapidamente da un video ad un altro senza terminarne la visualizzazione, ed è comunque sufficiente che la banda utilizzata da ciascun client per la riproduzione di ogni video sia pari al bitrate del video stesso.

In questo caso, potremmo configurare il throttling in questo modo:

  • il download dei primi 20-30 secondi dei video avviene alla velocità massima;
  • successivamente la velocità di download viene allineata al bitrate del video.

Così, se l'utente dopo pochi secondi deciderà di passare da un video ad un altro, lato server non avremo sprecato la banda necessaria per inviare l'intero contenuto del video verso il client; se l'utente deciderà di vedere tutto il video avremo assicurato il bitrate necessario per garantirne una riproduzione fluida.

La cosa interessante è che il throttling della banda può essere impiegato per il download di qualsiasi contenuto. Potremmo quindi impostare il filtro per garantire velocità di download costanti ad esempio per file .Zip o .Iso, o per qualsiasi altro contenuto memorizzato nei nostri server web.

Per chi è interessato, suggerisco di approfondire questo argomento leggendo il post di Giuseppe e questo articolo in cui vengono confrontati scenari d'uso e funzionalità di Windows Media Services e IIS 7.0 Media Pack .

Renato