Filtri

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 distribuiscono contenuti ai clienti (eventi di streaming live o video su richiesta) il client potrebbe avere una maggiore flessibilità rispetto a quanto descritto nel file manifesto dell'asset predefinito. Servizi multimediali di Azure offre manifesti dinamici basati su filtri predefiniti.

I filtri sono regole lato server che consentono ai clienti di eseguire operazioni come:

  • Riprodurre una sola sezione di un video (anziché il video intero). Ad esempio:
    • Ridurre il manifesto in modo da mostrare solo una sottoclip di un evento live ("filtro di sottoclip") o
    • Tagliare l'inizio di un video ("trimming di un video").
  • Distribuire solo i rendering specificati e/o le tracce di lingua specificate, se supportate dal dispositivo usato per la riproduzione dei contenuti ("filtro di rendering").
  • Regolare la finestra di presentazione (DVR) in modo da ottenere una lunghezza limitata della finestra nel lettore ("regolazione finestra presentazione").

Servizi multimediali consente di creare filtri account e filtri asset per il contenuto. Inoltre, è possibile associare i filtri creati in modo preliminare a un localizzatore di streaming.

Tipi di filtro

Sono disponibili due tipi di filtri:

  • Filtri account (globali): possono essere applicati a qualsiasi asset nell’account di Servizi multimediali di Azure e hanno una durata equivalente a quella dell’account.
  • Filtri asset (locali): possono essere applicati solo a uno degli asset a cui è stato associato il filtro in fase di creazione e hanno una durata equivalente a quella dell’asset.

I filtri account e i tipi di filtri asset hanno esattamente le stesse proprietà per definire o descrivere il filtro. Tranne quando si crea il filtro asset, è necessario specificare il nome dell'asset a cui si desidera associare il filtro.

A seconda dello scenario, decidere quale tipo di filtro è più adatto (asset o account). I filtri asset sono più adatti per i profili di dispositivo (filtro di rendering), mentre i filtri asset possono essere usati per tagliare un asset specifico.

Utilizzare le seguenti proprietà per descrivere i filtri.

Nome Descrizione
firstQuality La prima velocità in bit di qualità del filtro.
presentationTimeRange Intervallo di tempo di presentazione di un manifesto dell'evento live. Questa proprietà viene utilizzata per filtrare i punti di inizio/fine del manifesto, la lunghezza della finestra di presentazione e la posizione iniziale live.
Per altre informazioni, vedere Intervallo di tempo di presentazione.
brani Le condizioni di selezione dei brani. Per ulteriori informazioni, vedere brani

presentationTimeRange

Utilizzare questa proprietà con i filtri asset. Non è consigliabile impostare la proprietà con Filtri account.

Nome Descrizione
startTimestamp Si applica a Video on Demand (VoD) o Live Streaming.
Si tratta di un valore long che rappresenta un punto di inizio assoluto del flusso. Viene arrotondato all'inizio GOP successivo più vicino. L'unità è la scala cronologica, quindi un valore startTimestamp pari a 150000000 corrisponde a 15 secondi.
Usare startTimestamp e endTimestamp per tagliare i frammenti che saranno nella playlist (manifesto).
Ad esempio, startTimestamp=40000000 e endTimestamp=10000000 usando la scala cronologica predefinita genererà una playlist contenente frammenti compresi tra 4 secondi e 10 secondi della presentazione VoD. Se un frammento attraversa il limite, l'intero frammento verrà incluso nel manifesto.
endTimestamp È adatto per i video on demand (VoD).
Per la presentazione di Live Streaming, viene ignorata e applicata automaticamente al termine della presentazione e il flusso diventa VoD.
Si tratta di un valore long che rappresenta un punto finale assoluto della presentazione, arrotondato all'inizio GOP successivo più vicino. L'unità è la scala cronologica, quindi un valore endTimestamp pari a 1800000000 corrisponde a 3 minuti.
Usare startTimestamp e endTimestamp per tagliare i frammenti che saranno nella playlist (manifesto).
Ad esempio, startTimestamp=40000000 e endTimestamp=10000000 usando la scala cronologica predefinita genererà una playlist contenente frammenti compresi tra 4 secondi e 10 secondi della presentazione VoD. Se un frammento attraversa il limite, l'intero frammento verrà incluso nel manifesto.
timescale Si applica a tutti i timestamp e le durate in un intervallo di tempo di presentazione, specificato come numero di incrementi in un secondo.
Il valore predefinito è 10000000 - dieci milioni di incrementi in un secondo, dove ogni incremento sarebbe lungo 100 nanosecondi. Tuttavia, il valore può variare a seconda dell'origine del video o se si usa un evento live con codifica nel cloud (il valore predefinito è 90Khz o 90000 per il video).
Ad esempio, se si vuole impostare un valore startTimestamp a 30 secondi, usare un valore pari a 300000000 quando si usa la scala cronologica predefinita. Assicurarsi di controllare il manifesto per l'asset per verificare che la scala cronologica per la traccia video sia nella scala impostata. Quando si usano eventi live con codifica, la scala cronologica può essere di 90 Khz (90000) per le tracce video e 48 khz (48000) per le tracce audio.
liveBackoffDuration Si applica solo a Live Streaming.
Questo valore definisce la posizione dinamica più recente a cui un client può cercare.
Usando questa proprietà, è possibile ritardare la posizione di riproduzione in tempo reale e creare un buffer sul lato server per i lettori.
L'unità per questa proprietà è la scala cronologica (vedere di seguito).
La durata massima di liveback è di 300 secondi (30000000000).
Ad esempio, un valore pari a 2000000000 indica che il contenuto disponibile più recente è di 20 secondi ritardato dal bordo reale.
presentationWindowDuration Si applica solo a Live Streaming.
Usa presentationWindowDuration per applicare una finestra scorrevole di frammenti da includere in una playlist.
L'unità per questa proprietà è la scala cronologica (vedere di seguito).
Ad esempio, impostare presentationWindowDuration = 1200000000 per applicare una finestra temporale scorrevole di due minuti. Nella playlist verranno inclusi i contenuti multimediali che rientrano nei 2 minuti dell’arco live. Se un frammento attraversa il limite, l'intero frammento verrà incluso nella playlist. La durata minima della finestra di presentazione è di 60 secondi.
forceEndTimestamp Si applica solo a Live Streaming.
Indica se la proprietà endTimestamp deve essere presente. Se true, endTimestamp deve essere specificato o viene restituito un codice di richiesta non valido.
Valori consentiti: false, true.

Brani

È necessario specificare un elenco di condizioni delle proprietà di rilevamento del filtro (FilterTrackPropertyConditions) in base alle tracce del flusso (Live Streaming o Video on Demand) nel manifesto creato in modo dinamico. I filtri vengono combinati usando gli operatori logici AND e O.

Le condizioni delle proprietà di filtro indicano i tipi di brano, i valori (descritti nella tabella seguente) e le operazioni (Uguale, DiversoDa).

Nome Descrizione
Bitrate Usare la velocità in bit del brano per il filtro.

Il valore migliore è un intervallo di velocità in bit, in bit al secondo. Ad esempio, "0-2427000".

Nota: sebbene sia possibile usare un valore di velocità in bit specifico, ad esempio 250000 (bit al secondo), questo approccio non è consigliato, perché le velocità in bit esatte possono variare da un asset a un altro.
FourCC Usare il valore FourCC del brano come filtro.

Il valore è il primo elemento di formato codec, come specificato in RFC 6381. Attualmente sono supportati i seguenti codec:
Per i video: "avc1", "hev1", "hvc1"
Per l’audio: "mp4a", "ec-3"

Per determinare i valori di FourCC per i brani in un asset, ottenere ed esaminare il file manifesto.
Lingua Usare la lingua del brano come filtro.

Il valore è il tag di una lingua che si desidera includere, come specificato in RFC 5646. Ad esempio, "en".
Nome Usare il nome del brano come filtro.
Tipo Usare il tipo di brano come filtro.

Sono consentiti i seguenti valori: "video", "audio" o "text".

Esempio

Nell'esempio seguente viene definito un filtro Live Streaming:

{
  "properties": {
    "presentationTimeRange": {
      "startTimestamp": 0,
      "endTimestamp": 170000000,
      "presentationWindowDuration": 9223372036854776000,
      "liveBackoffDuration": 0,
      "timescale": 10000000,
      "forceEndTimestamp": false
    },
    "firstQuality": {
      "bitrate": 128000
    },
    "tracks": [
      {
        "trackSelections": [
          {
            "property": "Type",
            "operation": "Equal",
            "value": "Audio"
          },
          {
            "property": "Language",
            "operation": "NotEqual",
            "value": "en"
          },
          {
            "property": "FourCC",
            "operation": "NotEqual",
            "value": "EC-3"
          }
        ]
      },
      {
        "trackSelections": [
          {
            "property": "Type",
            "operation": "Equal",
            "value": "Video"
          },
          {
            "property": "Bitrate",
            "operation": "Equal",
            "value": "3000000-5000000"
          }
        ]
      }
    ]
  }
}

Filtrare i manifesti HLS o DASH sulla creazione di Localizzatore di streaming

Servizi multimediali consente di creare un localizzatore di streaming pre-filtrato passando una raccolta di filtri nella proprietà filtro nell'entità localizzatore di streaming. In questo modo è possibile filtrare tutti i manifesti nel localizzatore di streaming. Il manifesto originale non è più disponibile tramite questo localizzatore di streaming e solo la risposta filtrata sarà accessibile ai client che richiedono gli URL per DASH o HLS dal localizzatore di streaming filtrato. Ciò è utile in situazioni in cui si vuole pubblicare solo una parte di un asset e impedire agli utenti di accedere al manifesto originale completo per l'asset modificando la stringa di query dell'URL manifesto HLS o DASH.

È possibile specificare un elenco di filtri asset o account nel localizzatore di streaming. Dynamic Packager applica questo elenco di filtri insieme a quelli specificati nel client nell'URL. Questa combinazione genera un manifesto dinamico, basato sui filtri nell'URL e nei filtri specificati nel localizzatore di streaming.

Aggiornamento dei filtri

I filtri e i localizzatori di streaming possono essere aggiornati al volo, ma tenere presente che può richiedere fino a 10 secondi per eventuali aggiornamenti da aggiornare nei server Web front-end e che possono verificarsi problemi con la memorizzazione nella cache della rete CDN downstream del contenuto se si aggiorna lo stesso localizzatore di streaming pubblicato e usato già in produzione.

Non è consigliabile aggiornare la definizione dei filtri associati a un localizzatore di streaming pubblicato attivamente, soprattutto quando la rete CDN è abilitata. I server di streaming e le reti CDN possono avere cache interne che potrebbero causare la restituzione di dati memorizzati nella cache non aggiornati.

Se la definizione del filtro deve essere modificata, è necessario creare un nuovo filtro e aggiungerlo all'URL del localizzatore di streaming o pubblicare un localizzatore di streaming univocamente nuovo che fa riferimento direttamente al filtro aggiornato.

Guida e supporto tecnico

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