Codifica con riconoscimento del contenuto

Logo servizi multimediali v3


Avviso

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

Suggerimento

Vuoi generare anteprime, unire due video, sottoprime un video o ruotarlo (tra le altre cose)? È possibile trovare il codice di esempio di Servizi multimediali nella pagina Esempi .

Panoramica del set di impostazioni di codifica con riconoscimento del contenuto

Per preparare il contenuto per la distribuzione usando lo streaming a bitrate adattivo, il video deve essere codificato a più velocità di bit (alto a basso) e più risoluzioni. Questa tecnica consente ai giocatori video moderni di oggi su Apple iOS, Android, Windows e Mac di usare protocolli di streaming che flussi senza buffering. Queste diverse rappresentazioni delle dimensioni della visualizzazione (risoluzione) e della qualità (bitrate) consentono al lettore di selezionare la versione migliore del video che le condizioni di rete correnti possono supportare. La rete potrebbe variare ampiamente da LTE, 4G, 5G, Wi-Fi pubblico o una rete domestica.

Il processo di codifica del contenuto in più rendering richiede la generazione di una "scala di codifica", una tabella di risoluzioni e velocità bit che indica al codificatore cosa generare. Per un esempio di scala di questo tipo, vedere i set di impostazioni di codifica predefiniti di Servizi multimediali.

In condizioni ideali, si vuole essere consapevoli del tipo di contenuto che si esegue la codifica. Usando queste informazioni è possibile ottimizzare la scala di codifica per corrispondere alla complessità e al movimento nel video di origine. Ciò significa che a ogni dimensione di visualizzazione (risoluzione) nella scala dovrebbe essere presente un bitrate al di là del quale qualsiasi aumento della qualità non è percettivo. Il codificatore opera a questo valore di bitrate ottimale.

Il livello successivo di ottimizzazione che può essere fatto consiste nel selezionare le risoluzioni in base al contenuto, ad esempio un video di una presentazione di PowerPoint con testo piccolo sembra sfocato quando codificate sotto 720 righe di pixel in altezza. Inoltre, potresti avere anche un video che cambia movimento e complessità in base alla modalità di ripresa e modifica. In questo modo è possibile ottimizzare e modificare le impostazioni di codifica in ogni scena o limite di ripresa. Un codificatore intelligente può essere sottoposto a attività per ottimizzare le impostazioni di codifica per ogni ripresa all'interno del video.

Servizi multimediali di Azure fornisce un set di impostazioni di streaming adattivo che risolve parzialmente il problema della variabilità nel bitrate e nella risoluzione dei video di origine. Tuttavia, questo set di impostazioni non analizza il contenuto di origine per vedere il modo in cui è complesso o la quantità di movimento che contiene.

Il set di impostazioni di codifica con riconoscimento del contenuto migliora il set di codifica "bitrate adattivo" più statico aggiungendo logica che consente al codificatore di cercare un valore di velocità in bit ottimale per una determinata risoluzione, ma senza richiedere un'analisi di calcolo completa. Questo set di impostazioni restituisce un valore univoco "scaletta" di MP4 allineati a GOP in base al file di origine. Dato un video di origine, il set di impostazioni esegue un'analisi rapida iniziale del contenuto di input e usa i risultati per determinare il numero ottimale di livelli, velocità in bit e risoluzioni necessarie per offrire l'esperienza di streaming a bitrate adattivo di alta qualità. Questo set di impostazioni è efficace con video di complessità bassa a media, in cui i file di output saranno a velocità di bit inferiori rispetto al set di impostazioni di streaming adattivo più statico, ma a una qualità che offre ancora un'esperienza ottimale ai destinatari. La cartella di output conterrà diversi file MP4 con video e audio pronti per lo streaming.

Configurare le impostazioni di output

Inoltre, gli sviluppatori possono controllare l'intervallo di output usati dal set di impostazioni di codifica con riconoscimento del contenuto quando si decidono le impostazioni ottimali per la codifica della scala di streaming in bit adattivo.

Usando la classe PresetConfigurations , gli sviluppatori possono passare un set di vincoli e opzioni al set di impostazioni di codifica con riconoscimento del contenuto per controllare i file risultanti generati dal codificatore. Le proprietà sono particolarmente utili per situazioni in cui si desidera limitare tutte le codifica a una risoluzione massima specifica per controllare l'esperienza o i costi dei processi di codifica. È anche utile essere in grado di controllare le velocità massime e minime di bit che il pubblico può essere in grado di supportare in una rete mobile o in un'area globale con vincoli di larghezza di banda.

Codec supportati

Il set di impostazioni di codifica con riconoscimento del contenuto è disponibile per l'uso con i codec seguenti:

  • H.264
  • HEVC (H.265)

Dettagli tecnici sui set di impostazioni con riconoscimento del contenuto

Consente ora di approfondire il funzionamento del set di impostazioni di codifica con riconoscimento del contenuto. i grafici di esempio seguenti mostrano il confronto usando metriche di qualità come PSNR e VMAF. L'origine è stata creata concatenando brevi clip di riprese ad alta complessità da film e spettacoli televisivi, destinati a stressare il codificatore. Per definizione, questo set di impostazioni produce risultati che variano dal contenuto al contenuto, significa anche che per alcuni contenuti potrebbe non esserci una riduzione significativa della velocità in bit o del miglioramento della qualità.

Curva di distorsione della frequenza (RD) tramite PSNR

Figura 1: Curva di distorsione della frequenza (RD) tramite la metrica PSNR per l'origine a complessità elevata

Curva di distorsione della frequenza (RD) tramite VMAF

Figura 2: Curva di distorsione della frequenza (RD) tramite la metrica VMAF per l'origine a complessità elevata

Di seguito sono riportati i risultati di un'altra categoria di contenuto di origine, in cui il codificatore è stato in grado di determinare che l'input era di scarsa qualità (molti artefatti di compressione a causa della velocità a bit bassa). Con il set di impostazioni con riconoscimento del contenuto, il codificatore ha deciso di produrre un solo livello di output, in modo che la maggior parte dei client sia in grado di riprodurre il flusso senza stallare.

Curva RD con PSNR

Figura 3: Curva RD con PSNR per input di bassa qualità (a 1080p)

Curva desktop remoto con VMAF

Figura 4: Curva RD con VMAF per input di bassa qualità (a 1080p)

Esempi di codifica

Vedere l'elenco completo degli esempi di codifica.

Guida e supporto tecnico

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