Filtrare i manifesti usando Dynamic Packager
Avvertimento
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 funzionalità del dispositivo o larghezza di banda di rete disponibile. Il Dynamic Packager consente di specificare filtri che possono filtrare codec, risoluzioni, velocità in bit e combinazioni di tracce audio in tempo reale. 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 (larghezza di banda elevata, dispositivi mobili o scenari a larghezza di banda ridotta). In questo caso, i client possono modificare lo streaming del contenuto tramite la stringa di query (specificando i filtri di asset disponibili o i filtri account) 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, forse non si vuole pubblicare un manifesto che contiene tracce HD in un livello sottoscrittore specifico. In alternativa, è possibile rimuovere tracce ABR (Adaptive Bitrate) specifiche per ridurre i costi di recapito a un dispositivo specifico che non trarrebbe vantaggio dalle tracce aggiuntive. In questo caso, è possibile associare un elenco di filtri già creati al localizzatore di streaming alla 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 + 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 manifesto dinamico per indirizzare più scenari di casi d'uso per i dispositivi di destinazione. In questo argomento vengono illustrati i concetti relativi a manifesti dinamici e vengono forniti 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 di Dynamic Packaging, i manifesti 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 in flusso di lavoro comune su richiesta.
Ottenere ed esaminare i file manifesto
È necessario specificare un elenco di condizioni delle proprietà di rilevamento dei filtri in base alle tracce del flusso (live o video su richiesta [VOD]) in un manifesto creato in modo dinamico. Per ottenere ed esaminare le proprietà delle tracce, è necessario prima caricare il manifesto Smooth Streaming.
Monitorare la velocità in bit di un flusso video
È possibile usare la pagina demo 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
Esempi: URL con filtri nella stringa di query
È possibile applicare filtri ai protocolli di streaming ABR: HLS, MPEG-DASH e Smooth Streaming. La tabella seguente illustra 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 del rendering
È possibile scegliere di codificare l'asset in più profili di codifica (H.264 Baseline, H.264 High, AACL, AACH, Dolby Digital Plus) e bitrate di qualità multipla. Tuttavia, non tutti i dispositivi client supporteranno 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 vuole far parte di ogni profilo. Questo è detto filtro di rendering. Il diagramma seguente mostra un esempio di esso.
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 i due rendering da 1080p sono stati rimossi.
diagramma dei filtri di rendering
Rimozione delle tracce della lingua
Gli asset 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 nei framework del lettore specifici del dispositivo. Inoltre, in alcune piattaforme, le API lettore 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.
Taglio dell'inizio di un asset
Nella maggior parte degli eventi di streaming live, gli operatori eseguono alcuni test prima dell'evento effettivo. Ad esempio, potrebbero includere uno slate come questo prima dell'inizio dell'evento: "Il programma inizierà momentaneamente".
Se il programma è in fase di archiviazione, anche i dati di test e di slate vengono archiviati e inclusi nella presentazione. Tuttavia, queste informazioni non devono essere visualizzate ai client. Con Il manifesto dinamico è possibile creare un filtro ora di inizio e rimuovere i dati indesiderati dal manifesto.
Creazione di sottoclip (visualizzazioni) da un archivio live
Molti eventi live sono a esecuzione prolungata e l'archivio live può includere più eventi. Al termine dell'evento live, le emittenti potrebbero voler suddividere l'archivio live in sequenze di avvio e arresto del programma logico.
È possibile pubblicare questi programmi virtuali separatamente senza eseguire la 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 tali programmi virtuali sono i quarti di una partita di calcio o basket, inning nel baseball o singoli eventi di qualsiasi programma sportivo.
Con il manifesto dinamico è possibile creare filtri usando l'ora di inizio/fine e creare visualizzazioni virtuali sopra l'archivio live.
Ecco l'asset filtrato:
Regolazione della finestra di presentazione (DVR)
Attualmente Servizi multimediali di Azure offre l'archiviazione circolare in cui la durata può essere configurata tra 1 minuto e 25 ore. Il filtro del manifesto può essere usato per creare una finestra DVR in sequenza sulla parte superiore dell'archivio, senza eliminare supporti. Ci sono molti scenari in cui le emittenti vogliono fornire una finestra DVR limitata per spostarsi con il bordo live e allo stesso tempo mantenere una finestra di archiviazione più grande. Un'emittente potrebbe voler usare i dati che si trovano fuori dalla finestra DVR per evidenziare le clip oppure potrebbe voler fornire finestre DVR diverse per dispositivi diversi. Ad esempio, la maggior parte dei dispositivi mobili non gestisce finestre DVR di grandi dimensioni (è possibile avere una finestra DVR di 2 minuti per i dispositivi mobili e un'ora per i client desktop).
diagramma dei filtri dvr
Regolazione di LiveBackoff (posizione dinamica)
Il filtro del manifesto può essere usato per rimuovere alcuni secondi dal bordo attivo di un programma live. Il filtro consente alle emittenti di guardare 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 annuncio pubblicitario.
Oltre al supporto pubblicitario, l'impostazione live back-off può essere usata per regolare la posizione dei visualizzatori in modo che, quando i client si allontanano e raggiungono il bordo live, possono comunque ottenere frammenti dal server. In questo modo, i client non riceveranno un errore HTTP 404 o 412.
Combinazione di più regole in un singolo 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.
Combinazione di più filtri (composizione filtro)
È anche possibile combinare più filtri in un singolo URL. Lo scenario seguente illustra perché è consigliabile combinare i filtri:
- È 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 dell'account adatto per i profili di dispositivo. È possibile usare filtri account per tutti gli asset nello stesso account di Servizi multimediali senza ulteriori associazioni.
- Si vuole anche tagliare l'ora di inizio e di fine di un asset. Per eseguire il taglio, si creerà un filtro asset e si imposta l'ora di inizio/fine.
- 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à e si dispone di un altro MyStartTime per impostare un'ora di inizio specifica. È possibile combinare fino a tre filtri.
Considerazioni e limitazioni
I valori per forceEndTimestamp, presentationWindowDuratione liveBackoffDuration non devono essere impostati per un filtro VOD. Vengono usati solo per 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, possono essere necessari 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 l'esatto timestamp e la scala cronologica di inizio.
- 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 prevista del filtro in secondi> * scala cronologica
Ottenere assistenza e supporto tecnico
È possibile contattare Servizi multimediali con domande o seguire gli aggiornamenti in uno dei metodi seguenti:
- Q & A
-
stack overflow. Contrassegna le domande con
azure-media-services
. - @MSFTAzureMedia o usare @AzureSupport per richiedere supporto.
- Aprire un ticket di supporto tramite il portale di Azure.