Filtrare i manifesti usando Dynamic Packager

Logo di Servizi multimediali v3


Avviso

Servizi multimediali di Azure verrà ritirato il 30 giugno 2024. Per altre informazioni, vedere la Guida al ritiro di AMS.

Quando si distribuisce contenuto in streaming a bitrate adattivo ai dispositivi, a volte è necessario pubblicare più versioni di un manifesto per specificare le funzionalità del dispositivo o la larghezza di banda di rete disponibile. Dynamic Packager consente di specificare filtri in grado di filtrare codec, risoluzioni, velocità in bit e combinazioni di tracce audio specifiche. Il filtro rimuove la necessità di creare più copie. È sufficiente pubblicare un nuovo URL con un set specifico di filtri configurati per i dispositivi di destinazione (iOS, Android, SmartTV o browser) e le funzionalità di rete (scenari a larghezza di banda elevata, dispositivi mobili o a larghezza di banda ridotta). In questo caso, i client possono modificare lo streaming del contenuto tramite la stringa di query (specificando filtri asset o filtri account disponibili) e usare i filtri per trasmettere sezioni specifiche di un flusso.

Alcuni scenari di recapito richiedono che un cliente non possa accedere a tracce specifiche. Ad esempio, è possibile che non si voglia pubblicare un manifesto contenente tracce HD in un livello sottoscrittore specifico. In alternativa, è possibile rimuovere tracce specifiche di velocità in bit adattiva (ABR) per ridurre i costi di consegna a un dispositivo specifico che non trarrebbe vantaggio dalle tracce aggiuntive. In questo caso, è possibile associare un elenco di filtri creati in modo preliminare al localizzatore di streaming al termine della creazione. I client non possono quindi modificare il modo in cui il contenuto viene trasmesso perché è definito dal localizzatore di streaming.

È possibile combinare il filtro specificando filtri nel localizzatore di streaming e filtri aggiuntivi specifici del dispositivo specificati dal client nell'URL. Questa combinazione è utile per limitare tracce aggiuntive come metadati o flussi di eventi, lingue audio o tracce audio descrittive.

Questa possibilità di specificare filtri diversi nel flusso offre una potente soluzione di manipolazione del manifesto dinamico per definire scenari di casi d'uso multipli per i dispositivi di destinazione. Questo argomento illustra i concetti relativi ai manifesti dinamici e fornisce esempi di scenari in cui è possibile usare questa funzionalità.

Nota

I manifesti dinamici non modificano l'asset e il manifesto predefinito per tale asset.

Panoramica dei manifesti

Servizi multimediali di Azure supporta protocolli HLS, MPEG DASH e Smooth Streaming. Come parte della creazione dinamica dei pacchetti, i manifesti del client di streaming (playlist master HLS, DASH Media Presentation Description [MPD] e Smooth Streaming) vengono generati dinamicamente in base al selettore di formato nell'URL. Per altre informazioni, vedere i protocolli di recapito nel flusso di lavoro comune su richiesta.

Ottenere ed esaminare i file manifesto

Specificare un elenco di condizioni delle proprietà di rilevamento dei filtri in base alle tracce del flusso (live o video su richiesta [VOD]) da includere in un manifesto creato in modo dinamico. Per ottenere ed esaminare le proprietà dei brani, è necessario caricare prima di tutto il manifesto Smooth Streaming.

Monitorare la velocità in bit di un flusso video

È possibile usare la pagina di prova di Azure Media Player per monitorare la velocità in bit di un flusso video. Nella pagina demo vengono visualizzate informazioni di diagnostica nella scheda Diagnostica :

Diagnostica di Azure Media Player

Esempi: URL con filtri nella stringa di query

È possibile applicare filtri ai protocolli di streaming ABR: HLS, MPEG-DASH e Smooth Streaming. Nella tabella seguente sono disponibili alcuni esempi di URL con filtri:

Protocollo Esempio
HLS https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(format=m3u8-aapl,filter=myAccountFilter)
MPEG DASH https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(format=mpd-time-csf,filter=myAssetFilter)
Smooth Streaming https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(filter=myAssetFilter)

Filtro di rendering

È possibile scegliere di codificare l'asset in più profili di codifica (H.264 Baseline, H.264 High, AACL, AACH, Dolby Digital Plus) e velocità in bit multipli di qualità. Non tutti i dispositivi, tuttavia, supportano tutti i profili e le velocità in bit dell'asset. Ad esempio, i dispositivi Android meno recenti supportano solo H.264 Baseline+AACL. L'invio di velocità in bit più elevate a un dispositivo che non può ottenere i vantaggi comporta lo spreco di larghezza di banda e calcolo dei dispositivi. Un dispositivo di questo tipo deve decodificare tutte le informazioni specificate, solo per ridurre le prestazioni per la visualizzazione.

Con Il manifesto dinamico è possibile creare profili di dispositivo (ad esempio dispositivi mobili, console o HD/SD) e includere le tracce e le qualità che si desidera far parte di ogni profilo. Questo è detto filtro di rendering. Il diagramma seguente mostra un esempio.

Diagramma del filtro di rendering 2

Nella parte superiore del diagramma seguente viene illustrato il manifesto HLS per l'asset senza filtri. Contiene tutti e sette i rendering. In basso a sinistra, il diagramma mostra un manifesto HLS a cui è stato applicato un filtro denominato "ott". Il filtro "ott" specifica la rimozione di tutte le velocità in bit inferiori a 1 Mbps, quindi i due livelli di qualità inferiori sono stati rimossi nella risposta. In basso a destra, il diagramma mostra il manifesto HLS a cui è stato applicato un filtro denominato "mobile". Il filtro "mobile" specifica la rimozione dei rendering in cui la risoluzione è maggiore di 720p, quindi le due rendering da 1080p sono state rimosse.

Diagramma dei filtri di rendering

Rimozione delle tracce di lingua

Le risorse possono includere più lingue audio, ad esempio inglese, spagnolo, francese e così via. In genere, Player SDK gestisce la selezione predefinita della traccia audio e le tracce audio disponibili per ogni selezione utente.

Lo sviluppo di tali SDK player è complesso perché richiede implementazioni diverse in framework lettore specifici del dispositivo. Inoltre, in alcune piattaforme, le API player sono limitate e non includono la funzionalità di selezione audio in cui gli utenti non possono selezionare o modificare la traccia audio predefinita. Con i filtri asset, è possibile controllare il comportamento creando filtri che includono solo le lingue audio desiderate.

Diagramma dei filtri linguistici

Taglio dell'inizio di un asset

Nella maggior parte degli eventi in live streaming, gli operatori eseguono alcuni test prima dell'evento effettivo. Ad esempio, potrebbero includere uno slate simile al seguente prima dell'inizio dell'evento: "Il programma inizierà momentaneamente".

Se il programma prevede l'archiviazione, vengono archiviati e inclusi nella presentazione anche i dati del test e dello slate. Tuttavia, queste informazioni non devono essere visualizzate ai client. Con il manifesto dinamico, è possibile creare un filtro di ora di inizio e rimuovere dal manifesto tutti i dati non desiderati.

Diagramma filtro trim

Creazione di sottoclip (visualizzazioni) da un archivio live

Molti eventi live hanno una durata molto lunga ed è possibile quindi che un archivio live includa più eventi. Al termine dell'evento live, ad esempio, gli emittenti possono decidere di suddividere l'archivio live in sequenze logiche di avvio e arresto del programma.

È possibile pubblicare questi programmi virtuali separatamente senza post-elaborazione dell'archivio live e non creare asset separati (che non offre il vantaggio dei frammenti memorizzati nella cache esistenti nelle reti CDN). Esempi di programmi virtuali di questo tipo sono, ad esempio, i tempi di una partita di calcio o di basket, gli inning del baseball o eventi singoli di un qualsiasi programma sportivo.

Con il manifesto dinamico è possibile creare filtri usando l'ora di inizio/fine e creare visualizzazioni virtuali nella parte superiore dell'archivio live.

Diagramma dei filtri subsclips

Ecco l'asset filtrato:

diagramma filtro sci

Modifica della finestra di presentazione (DVR)

Attualmente Servizi multimediali di Azure offre un'archiviazione circolare in cui la durata può essere configurata tra 1 minuto e 25 ore. Usando i filtri del file manifesto, è possibile creare una finestra DVR in sequenza all'inizio dell'archivio, senza dover eliminare alcun contenuto. Sono molti i casi in cui per un emittente può essere utile creare una finestra DVR limitata, in grado di spostarsi con il margine live, e al tempo stesso mantenere una finestra di archiviazione più grande. Un'emittente potrebbe voler usare i dati fuori dalla finestra DVR per evidenziare le clip oppure potrebbe voler fornire finestre DVR diverse per dispositivi diversi. La maggior parte dei dispositivi mobili, ad esempio, non è in grado di gestire finestre DVR di grandi dimensioni (è possibile usufruire di una finestra DVR di 2 minuti per i dispositivi mobili e di un'ora per i client desktop).

Diagramma dei filtri dvr

Regolazione LiveBackoff (posizione live)

È possibile usare i filtri del file manifesto anche per rimuovere alcuni secondi dal margine live di un programma live. Il filtro consente alle emittenti di watch la presentazione nel punto di pubblicazione di anteprima e creare punti di inserimento degli annunci prima che i visualizzatori ricevano il flusso (supportato da 30 secondi). Le emittenti possono quindi spingere questi annunci ai loro framework client nel tempo per ricevere ed elaborare le informazioni prima dell'opportunità di pubblicità.

Oltre al supporto pubblicitario, l'impostazione live back-off può essere usata per regolare la posizione degli spettatori in modo che quando i client si allontanano e raggiungono il bordo attivo, possono comunque ottenere frammenti dal server. In questo modo, i client non riceveranno un errore HTTP 404 o 412.

Diagramma dei filtri backoff live

Combinazione di più regole in un unico filtro

È possibile combinare più regole di filtro in un unico filtro. Ad esempio, è possibile definire una "regola di intervallo" per rimuovere slates da un archivio live e filtrare anche le velocità in bit disponibili. Quando si applicano più regole di filtro, il risultato finale è l'intersezione di tutte le regole.

Diagramma dei filtri di più regole

Combinazione di più filtri (filtro composizione)

È inoltre possibile combinare più filtri in un singolo URL. Lo scenario seguente illustra il motivo per cui è possibile combinare filtri:

  1. È necessario filtrare le qualità video per i dispositivi mobili, ad esempio Android o iPad (per limitare le qualità video). Per rimuovere le qualità indesiderate, si creerà un filtro di account adatto per i profili del dispositivo. È possibile usare filtri account per tutti gli asset nello stesso account di Servizi multimediali senza ulteriori associazioni.
  2. Inoltre si desidera tagliare l'ora di inizio e fine di un asset. Per eseguire il taglio, si creerà un filtro asset e si imposterà l'ora di inizio/fine.
  3. Si desidera combinare entrambi questi filtri. Senza combinazione, sarebbe necessario aggiungere filtri di qualità al filtro di taglio, che renderebbe più difficile l'utilizzo del filtro.

Per combinare i filtri, impostare i nomi dei filtri sull'URL manifesto/playlist in formato delimitato da punto e virgola. Si supponga di avere un filtro denominato MyMobileDevice che filtra le qualità ed è disponibile un altro denominato MyStartTime per impostare un'ora di inizio specifica. È possibile combinare fino a tre filtri.

Considerazioni e limitazioni

  • I valori per forceEndTimestamp, presentationWindowDuration e liveBackoffDuration non devono essere impostati per un filtro VOD. Vengono usati solo per gli scenari di filtro in tempo reale.

  • Un manifesto dinamico opera nei limiti GOP (fotogrammi chiave), quindi il taglio ha un'accuratezza GOP.

  • È possibile usare lo stesso nome di filtro per i filtri di account e asset. I filtri asset hanno una precedenza maggiore e sostituiranno i filtri dell'account.

  • Se si aggiorna un filtro, l'aggiornamento delle regole può richiedere fino a 2 minuti prima che l'endpoint di streaming aggiorni le regole. Se sono stati usati filtri per gestire il contenuto e il contenuto è stato memorizzato nella cache dei proxy e della rete CDN, l'aggiornamento di questi filtri può causare errori del lettore. È consigliabile cancellare la cache dopo l'aggiornamento del filtro. Se questa opzione non è possibile, è consigliabile usare un filtro diverso.

  • I clienti devono scaricare manualmente il manifesto e analizzare il timestamp di inizio esatto e la scala cronologica.

    • Per determinare le proprietà delle tracce in un asset, ottenere ed esaminare il file manifesto.
    • La formula per impostare le proprietà timestamp del filtro asset è:
      startTimestamp = <ora di inizio nel manifesto> + <ora di inizio del filtro prevista in secondi> * scala cronologica

Guida e supporto tecnico

È possibile contattare Servizi multimediali con domande o seguire gli aggiornamenti tramite uno dei metodi seguenti: