Summary (MPD)
Molte streaming produttori di uso costante bitrate (CBR) come un bitrate tecnica di controllo, in un tentativo di creare il più efficiente flusso per la consegna, o per adempiere, con la percezione che i requisiti Apple per HTTP Live Streaming (HLS). Tuttavia, CBR offre la qualità complessiva più bassa di tutte le tecniche di controllo del bitrate e introduce il potenziale di drammatici problemi di qualità transitoria come quelli mostrati in Figura 1.
Figura 1. Confronto tra codifica CBR e VBR (clicca sull’immagine per la visualizzazione a grandezza naturale).
Un recente sondaggio indica che molti produttori sono passati a variable bitrate encoding (VBR) e stanno ignorando le raccomandazioni di Apple di cui sopra. Test rivela che 110% vincolato VBR evita i problemi di qualità transitori causati dalla codifica CBR. I produttori che utilizzano ancora CBR dovrebbero prendere in considerazione il passaggio a VBR vincolato per evitare questi problemi di qualità transitoria e migliorare la qualità video complessiva.
Segmento 1: Il controllo del bitrate è una delle opzioni di codifica più fondamentali selezionate per ogni file compresso
Ogni volta che si codifica un file per la distribuzione in streaming, si sceglie un bitrate e una tecnica di controllo del bitrate. Questo è mostrato in Figura 2, da Adobe Media Encoder.
Figura 2. Tecniche di controllo del bitrate disponibili in Adobe Media Encoder.
Le due tecniche più comuni sono:
• Codifica a bitrate costante (CBR), in cui lo stesso bitrate viene applicato all’intero file, indipendentemente dalla complessità della scena. Con CBR, si imposta il bitrate di destinazione (Figura 2) ma non il massimo, perché il bitrate non dovrebbe variare in modo significativo, anche se in genere lo fa in qualche misura limitata, come mostrato in Figura 3.
Figura 3 mostra un file codificato utilizzando CBR. Come puoi vedere nella legenda a destra, il bitrate medio è 4936 kbps, mentre il picco è 5557 kbps. La linea blu chiaro ondulata è la velocità di trasmissione dati fluttuante, che varia minimamente per tutta la durata del file. Le singole colonne sono la dimensione di ogni gruppo codificato di immagini all’interno del file, con un fotogramma chiave ogni tre secondi in questo file 29.97 fps.
Figura 3. Un file con codifica CBR in Bitrate Viewer.
Si noti che CBR non è mai una linea piatta completa; una variabilità di circa il 5-10% è normale.
• VBR (Variable Bitrate Encoding), in cui viene soddisfatta la stessa velocità dati complessiva di destinazione, ma la velocità dati viene variata per tutta la durata del file in base alla complessità della scena. Con VBR, si imposta l’obiettivo e il massimo (Figura 2), e in alcune applicazioni, il minimo pure. Quando si imposta un massimo, la codifica VBR viene considerata vincolata e VBR viene spesso descritta dalla percentuale del vincolo. Nella figura 2, il bitrate massimo è di 2,4 Mbps, ovvero il 200% del bitrate di destinazione di 1,2 Mbps. Questa tecnica sarebbe chiamata VBR vincolato al 200%.
La figura 4 mostra lo stesso file della Figura 3 codificato utilizzando il 200% di VBR vincolato allo stesso bitrate di destinazione di 5000 kbps. Il bitrate medio è circa lo stesso (4988 kbps vs. 4936 kbps), ma il picco di bit rate è 9301 kbps, non abbastanza 200% ma nel campo da baseball. La linea di velocità dati blu ondulata varia molto più significativamente rispetto alla Figura 3, con tassi bassi all’inizio e picchi in tutto.
Figura 4. Lo stesso file codificato utilizzando 200% vincolato VBR.
• Molti produttori di default a CBR per alcuni o tutti i loro codifica. Nei primi giorni di streaming, le connessioni erano così vincolate che CBR è stato raccomandato per evitare picchi di velocità dei dati che potrebbero bloccare la riproduzione fluida. In Apple Technote TN2224, Apple afferma ” Variabilità Bit Rate – Non deve superare il 10% del bitrate di destinazione.”Più minacciosamente, Media Stream Validator di Apple, uno strumento utilizzato per testare i flussi HLS, crea un avviso se qualsiasi bitrate del segmento di flusso varia dal bitrate di destinazione di oltre il 10%. Non sorprende che, in un recente sondaggio condotto dallo Streaming Learning Center, 11 degli intervistati 16 hanno indicato che stavano ancora utilizzando la codifica CBR per alcuni dei loro flussi (Figura 5). Certo, il numero di intervistati è troppo piccolo per essere statisticamente significativo, anche se le risposte sono valide a scopo informativo.
Figura 5. Undici degli intervistati 16 stavano ancora utilizzando CBR su alcuni dei loro flussi, così come altre tecniche.
Come si può vedere in Figura 5, esistono altre tecniche di controllo del bitrate, tra cui Constant Rate Factor (CRF) e CRF Capped. Tuttavia, poiché sono utilizzati al meglio in casi molto limitati (per lo più contenuti sintetici come screencams e video PowerPoint con audio) non sono inclusi in questa discussione.
Segmento 2. CBR offre una qualità complessiva inferiore a VBR
La tabella 1 mostra i risultati di una serie di confronti di qualità eseguiti per il prossimo libro di Jan Ozer, Encoding by the Numbers, che uscirà nell’estate del ‘2016. Questi test hanno coinvolto file codificati a risoluzione 720p a 2 Mbps utilizzando FFmpeg, con punteggi VQM misurati dallo strumento di misurazione della qualità video dell’Università di Mosca (VQMT). Con VQM, i punteggi più bassi sono migliori, e nella tabella, i punteggi in rosso sono i peggiori, i punteggi in verde i migliori.
Tabella 1. Confronto qualità PSNR per diverse tecniche di controllo bitrate.
Notare le colonne delta di qualità nella Tabella 1. Il primo mostra la differenza di qualità totale tra il file di qualità più bassa e più alta nel gruppo. Il secondo mostra la differenza di qualità tra le clip codificate utilizzando VBR vincolato al 110% e al 200%. Come vedrai, i produttori possono evitare problemi di qualità transitori e rimanere all’interno delle raccomandazioni Apple utilizzando VBR vincolato al 110%. Tuttavia, i produttori che cercano il file di qualità più alta possibile, e indifferente con le raccomandazioni di Apple, dovrebbero utilizzare 200% vincolato VBR.
In tutti i casi di test, 2 Pass CBR consegnato la peggiore qualità, e in cinque su sei, 200% vincolato VBR consegnato la massima qualità. L’unica eccezione è stata la clip talking head, dove 1 pass CBR ha consegnato la massima qualità. Questo risultato sembra essere un’anomalia; in test simili eseguiti su clip a testa parlante a tre movimenti bassi, i risultati sono stati coerenti con tutti gli altri file nella Tabella 1. La più alta variabilità è stata osservata nella clip Big Buck Bunny, che ha mostrato un differenziale di qualità del 14,54% tra le clip di qualità più bassa e più alta (colonna Delta di qualità totale).
Il differenziale di qualità generale è altrimenti relativamente minore nella maggior parte delle altre clip. In realtà, probabilmente non è nemmeno osservabile durante la riproduzione normale. Tuttavia, in alcuni casi, i file CBR possono presentare un problema più serio; la qualità transitoria scende mostrato in Figura 1.
Segmento 3: I problemi di qualità transitoria di CBR sono molto più preoccupanti
Quando si codificano clip impegnative su parametri aggressivi, la codifica CBR può causare gravi problemi di qualità transitoria come quelli mostrati in Figura 1. La figura 6 è la schermata di visualizzazione dei risultati dello strumento VQMT dell’Università di Mosca, che mostra i punteggi VQM (punteggi più bassi migliori) per due file. Il file in rosso è stato codificato utilizzando VBR vincolato al 110%, mentre il file in blu è CBR. I picchi di dati cerchiati mostrano fotogrammi, o gruppi di fotogrammi, in cui la qualità del file CBR ha sofferto drammaticamente rispetto al file VBR vincolato al 110%. Il peggiore di questi differenziali è mostrato in Figura 1.
Figura 6. I picchi di velocità dati nella figura in basso mostrano fotogrammi, o gruppi di fotogrammi, in cui la qualità CBR è drammaticamente peggiore del 110% vincolato.
La cosa interessante è che il picco di bit rate per il file CBR supera effettivamente quello del file VBR. Potete vedere questo in Figura 7, che mostra Bitrate Viewer analizzando il file CBR (in alto) e il file VBR. Le credenze sulla destra mostrano il bitrate medio e di picco per entrambi i file. La media è quasi identica, mentre la velocità di picco per il file CBR è 2623 kbps rispetto a 2539 kbps per il file VBR vincolato al 110% (ma vedere la nota 5 sotto). Che la tua preoccupazione sia l’efficienza dello streaming, tenendo conto delle raccomandazioni di variabilità di Apple al 110% o di entrambi, constrained VBR raggiunge un risultato superiore, offrendo anche una qualità complessiva superiore ed evitando i cali di qualità transitori osservati nel file CBR.
Figura 7. Bitrate Viewer analizzando il file CBR in alto e il 110% vincolato file VBR sul fondo.
Puoi guardare un breve video che illustra e spiega questi problemi immediatamente sotto.
Questo video illustra i problemi di qualità transitoria a volte visti con il video CBR. Meglio visualizzato a schermo intero (fare clic sull’icona in basso a destra all’interno della finestra di riproduzione).
Forse non sorprendentemente, i risultati del nostro sondaggio hanno rivelato che il vincolo percentuale più comune utilizzato dagli intervistati era il 110% dell’obiettivo, anche se è vero che, come per i risultati del sondaggio in generale, il numero di intervistati è troppo piccolo per essere statisticamente significativo.
Figura 8. il 110% dell’obiettivo era il vincolo più comune.
Segmento 4: Molti produttori ignorano la raccomandazione di variabilità 110% di Apple
La figura 9 mostra alcuni dei risultati più interessanti del sondaggio. Cioè, di quelli che producono file HLS, la maggior parte dei produttori ignora completamente la raccomandazione di Apple. È interessante notare che l’unica domanda demografica posta nel sondaggio era il numero di file video prodotti ogni settimana. Dieci intervistati hanno indicato che stavano producendo oltre 100 file a settimana; di questo gruppo, cinque hanno seguito religiosamente la raccomandazione di Apple, cinque l’hanno ignorata completamente.
Figura 9. La maggior parte dei produttori ignora la raccomandazione di Apple.
Un’interessante domanda di follow-up sarebbe stata se gli intervistati che hanno ignorato la restrizione stavano distribuendo ai dispositivi iOS tramite un’app. Sfortunatamente, non abbiamo fatto questa domanda, lasciando aperta la preoccupazione che Apple rifiuterà le app quando il video riprodotto dall’app non soddisfa il requisito di variabilità 110%.
Segmento 5: Conclusioni
1. In tutti i test, CBR ha fornito la qualità complessiva più bassa di tutte le alternative di bitrate.
2. In tutti i test tranne uno, constrained VBR ha consegnato la massima qualità
3. Con filmati impegnativi e parametri di codifica aggressivi, i video codificati CBR possono presentare cali di qualità transitori, a volte drammatici.
4. Produrre utilizzando VBR vincolato al 110% sembra evitare questi problemi di qualità senza introdurre una significativa variabilità della velocità dei dati.
5. Nella maggior parte dei casi, la codifica con VBR vincolato al 200% offre la massima qualità.
6. Molti produttori ignorano la raccomandazione di Apple di produrre file HLS con una variabilità massima del flusso del 110%.
Segmento 6: Raccomandazioni
1. I produttori che attualmente utilizzano CBR per alcuni, o tutti i loro codici, dovrebbero prendere in considerazione il passaggio a VBR vincolato.
* Il VBR vincolato al 110% dovrebbe evitare problemi di qualità transitori.
• 200% vincolato VBR consegnerà la migliore qualità assoluta.
2. I produttori che distribuiscono video HLS tramite un’app dovrebbero probabilmente scegliere VBR vincolato al 110% per evitare problemi di approvazione dell’App Store quando inviano inizialmente o quando inviano aggiornamenti. Quelli che spediscono per la riproduzione desktop e mobile basata su browser (ad esempio nessuna app) dovrebbero considerare il VBR vincolato al 200%.
3. Questi risultati variano in base al codec e allo strumento di codifica. Come descritto di seguito, abbiamo prodotto tutti i file per questi test in FFmpeg utilizzando il codec x264. Abbiamo osservato i problemi di qualità transitoria con i file CBR in altri strumenti di codifica basati su x264, ma potrebbero non apparire in tutti gli strumenti di codifica.
4. Qualsiasi modifica di codifica importante come quelle raccomandate qui non dovrebbe essere implementata senza test per garantire qualità e giocabilità.
Appendice I: Come abbiamo testato
Ecco una breve descrizione delle procedure utilizzate per questi test.
1. Abbiamo prodotto tutti i file utilizzando FFmpeg su una workstation HP Z840 con Windows 7 Professional con 64 GB di RAM.
2. I parametri generali di codifica erano fotogrammi chiave ogni 3 secondi e il preset veryslow.
3. Abbiamo prodotto file CBR utilizzando lo stesso bitrate di destinazione, bitrate massimo e un’impostazione buffer di un secondo di video. Per gli obiettivi a 4 mbps, la stringa era:
-b:v 4000k
-maxrate 4000k
-bufsize 4000k
4. Abbiamo prodotto file VBR vincolati regolando l’impostazione della velocità massima e utilizzando un valore di buffer di 1 secondo. Per una 4 mbps di destinazione con il 110% vincolata CBR, la stringa:
-b:v 4000k
maxrate 4400k
bufsize 4000k
Per entrambi i CBR e VBR, la codifica con un buffer di miglioramento della qualità dello stream, ma è anche aumentato il flusso di variabilità.
5. Abbiamo prodotto i file CBR analizzati nelle figure 6 e 7 e nel video, utilizzando CBR a 1 passaggio, che ha aumentato la qualità del file rispetto a 2 passaggi (vedi Tabella 1), ma ha anche aumentato la variabilità dei file. Anche la codifica con CBR a 1 passaggio ha prodotto file ben al di sotto del target, quindi abbiamo dovuto codificare più volte a tassi sempre più elevati per soddisfare il tasso di dati target. L’utilizzo della codifica CBR a 2 passaggi offre file di qualità leggermente inferiore, ma anche una maggiore precisione della velocità dei dati e una ridotta variabilità del flusso.
6. Abbiamo verificato che il tasso di dati di destinazione di tutti i file erano entro il 5% del target.
7. Abbiamo prodotto tutti i punteggi di qualità inclusi sopra utilizzando lo strumento di misurazione della qualità video dell’Università di Mosca.