VBR: è in realtà così male come si dice?

Recentemente ho scritto un lungo post sulle impostazioni di codifica MP3 dei primi cento podcast nelle classifiche di iTunes. Uno dei miei suggerimenti era molto controverso: la gente su Reddit non era d’accordo sul fatto che andasse bene usare la codifica VBR nei podcast.

Sono rimasto sorpreso dalla veemenza con cui la gente ha insistito sul fatto che VBR è cattivo. “Non dovrebbe essere usato!””Stare lontano da VBR.”Non c’era carenza di gente che suggerisce di evitare VBR, ma poco in termini di sostanza dietro quelle affermazioni.

Ho deciso di raccogliere tutti gli argomenti contro VBR che ho potuto trovare, e ricercato ciascuno per determinare se fosse possibile verificare le affermazioni dietro ciascuno di essi.

Prima, però, alcuni background.

Per salvare il clic, darò un po ‘ di sfondo veloce. In un MP3, hai un bitrate. Il bitrate è il numero di bit necessari per memorizzare un secondo di audio. Un file MP3 128kbps richiede 128 kilobit per memorizzare un secondo di audio. Se si dispone di un file MP3 128kbps che è lungo dieci secondi, ci vorranno 1280 kilobit per memorizzare il file. Semplice.

Ecco come funziona CBR, o BitRate costante. L’intero file ha un bitrate. Lo svantaggio di questo è che non tutto l’audio è creato uguale. Alcuni audio richiede meno bit per memorizzare (ad esempio, un momento di silenzio). Alcuni audio richiede di più. Avere un bitrate significa che stai potenzialmente sprecando bit che memorizzano la fedeltà audio di cui non hai bisogno. Ecco dove VBR, o BitRate variabile, entra in gioco.

VBR consente di codificare blocchi del file a bitrate diversi. Quel secondo di quasi silenzio potrebbe schiacciare fino a 40kbps, mentre un secondo di musica potrebbe saltare fino a 160kbps. Fatto correttamente, questo può produrre un notevole risparmio di dimensioni.

Quali sono gli argomenti contro VBR?

Piuttosto che battere intorno al cespuglio, saltiamo dentro e guardiamo gli argomenti contro VBR e testiamo la validità di ciascuno.

VBR rompe cercando in un sacco di applicazioni.

Questo è vero, e lo chiamo specificamente nel mio post:

Con un file CBR, saltare in avanti o indietro è facile perché è possibile calcolare esattamente dove saltare. Con VBR, saltare avanti dieci secondi potrebbe significare saltare fino a 1280 kilobit-ma che potrebbe essere troppo se la qualità si abbassa entro quei dieci secondi.

In sostanza, non puoi sapere dove saltare nel file per iniziare a suonare in un timecode specifico, perché invece di essere una semplice moltiplicazione, devi conoscere i bitrate di tutto l’audio che porta a quel timecode.

Ci sono modi per evitarlo. Molto tempo fa, la gente ha creato una serie di standard che consentono ai metadati di essere incorporati nell’MP3, consentendo ai decodificatori di capire dove cercare. Potrei scrivere di più su questo, ma è un punto controverso perché praticamente nessuno implementa lo standard.

Vale la pena notare che l’importo con cui il timecode è disattivato cresce man mano che si va avanti nel file. All’inizio del file audio, è improbabile che la qualità sia diminuita di molto e la differenza potrebbe essere solo di pochi millisecondi. Dopo pochi minuti, però, che crescerà in secondi. Dopo un’ora e più, può arrivare a crescere fino a un minuto o più.

Alcuni podcast sono molto brevi. Considera il Palazzo della Memoria, che generalmente ha episodi inferiori a 15 minuti. Sarei più che sorpreso di sentire che seeking in un episodio TMP codificato VBR era spento da più di qualche manciata di secondi entro la fine del file. (Lo misurerei, ma è impossibile farlo correttamente senza l’accesso all’audio sorgente raw)

Altri podcast non richiedono davvero una funzione di ricerca robusta. Podcast ASMR, podcast con poco dialogo o senza dialogo a tutti, e podcast con jabber senza cervello come gli host, dire, giocare ai videogiochi tutti non hanno bisogno della capacità di cercare con precisione a un particolare timecode. Questo è un trade-off che un numero diverso da zero di podcast sono disposti a fare.

Anche la ricerca relativa non è in gran parte influenzata dalla codifica VBR. Il podcast Mio fratello Mio fratello e io usa la codifica VBR, ed è possibile saltare avanti di trenta secondi e indietro di dieci secondi con una precisione molto buona. C’è una buona ragione per questo tecnicamente: proprio come cercare dall’inizio di un file, è improbabile che la qualità diminuisca di molto durante il piccolo pezzo di tempo che stai saltando avanti. Saltare avanti di trenta secondi potrebbe significare in realtà saltare avanti di, diciamo, trentuno secondi. La quantità di inesattezza è determinata dalla quantità di audio che stai saltando, che con la ricerca relativa è di solito piuttosto piccola.

VBR in realtà non rende i file più piccoli.

Questo è vero per metà. VBR produrrà file di dimensioni quasi uguali a CBR se il bitrate medio del file VBR è lo stesso del bitrate fisso del file CBR. VBR produrrà anche file di dimensioni uguali a un file CBR se non cambia mai il bitrate (cioè, l’encoder non sceglie mai di abbassare la qualità, ad esempio con rumore casuale).

Escluso il caso in cui il file contenga solo rumore casuale (perché lo pubblichi comunque nel tuo podcast?) la differenza di dimensioni ha l’ovvio avvertimento che il file VBR avrà una qualità audio uguale o superiore rispetto al file CBR.

Considera questo: hai un fascicolo di dieci secondi. La prima metà è quasi silenziosa e la seconda metà è musica ad alta fedeltà. Se lo codifichiamo come CBR a 128kbps, sarà 1280kb. Se lo codifichiamo come VBR e l’encoder codifica ipoteticamente la prima metà a 64kbps e la seconda metà a 192kbps, la dimensione del file sarà ancora 1280kb e il bitrate medio è ancora 128kbps. Confrontando la qualità, però, troveremo il file VBR suona molto meglio, dal momento che il silenzio sta usando solo i bit di cui ha bisogno e più bit sono stati dedicati alla musica.

Sintonizzando le impostazioni del codificatore, è possibile ridurre efficacemente il bitrate medio del file codificato VBR in modo tale che la qualità corrisponda approssimativamente al file codificato CBR equivalente. In teoria, questo porterà ad una riduzione complessiva delle dimensioni del file. Se si sceglie le impostazioni VBR senza sapere cosa si sta facendo, però, si può facilmente finire per negare qualsiasi beneficio dimensione del file si potrebbe derivare da utilizzare VBR per cominciare.

I file VBR non mostrano la durata corretta.

Per impostazione predefinita, no, la durata di un file VBR verrà calcolata in base alla sua lunghezza di byte, risultando in una sovrastima (per lo stesso motivo per cui la ricerca non funziona). Questo è facilmente risolvibile, però: semplicemente specificando la durata audio nei tag ID3 usando un frame TLEN risolverà la durata. Alcuni decoder non leggono correttamente il frame TLEN, ma sono pochi e lontani tra loro e non vengono quasi mai utilizzati con le app e i dispositivi da cui qualcuno potrebbe consumare un podcast.

Codificatori come Adobe Audition generano file con codifica VBR non funzionanti.

Questo è qualcosa che ho trovato menzionato online in un certo numero di posti, risalendo a un post sui forum di Adobe. Senza leggere i dettagli, è facile creare una nuvola di FUD attorno a questo problema. Si scopre che questo è direttamente correlato all’ultima affermazione sulla durata: Audition semplicemente non stava (presumibilmente) aggiungendo i dati TLEN.

Aggiornamento: vorrei notare che non sono stato in grado di riprodurre questo problema con Adobe Audition. Potrebbe essere che un problema esistesse in una versione precedente, ma non sembra più essere il caso. Ho aggiornato questa sezione per affermare in modo più esplicito che non credo che ci sia un problema con Adobe Audition. Grazie a @ audiblychuck su Twitter per aver raggiunto.

Farei l’argomento che questa è la responsabilità del podcaster, non un problema per l’ascoltatore. È facile aggiungere tag ID3 e Audition non è l’unico cavallo in questa gara. Dietro le quinte, Audition utilizza l’encoder MP3 Fraunhofer. Il post sui forum di Adobe si riferisce anche a Audition CS6, rilasciato nel 2012; Non sarei sorpreso se una versione più recente risolvesse il problema.

Anche se Adobe non ha risolto questo problema, numerosi post su Internet raccomandano strumenti (MP3val, MP3Diag, ecc.) che rilevano e risolvono questo problema. Ffmpeg e LAME aggiungono correttamente il tag ID3 appropriato, il che significa che la maggior parte degli altri software di editing audio funzionerà correttamente per impostazione predefinita.

Quasi tutti i moderni decoder MP3 non richiedono un tag ID3 TLEN per determinare la durata corretta di un file MP3 VBR.

VBR non funziona con alcuni dispositivi.

Ci sono prove aneddotiche a sostegno di questo. Ho trovato un thread di commenti HackerNews sul supporto del dispositivo. Ecco il commento principale della discussione, parlando di un’esperienza di oltre un decennio fa:

A quanto pare, non tutti stanno ascoltando usando un dispositivo moderno. Quando abbiamo provato VBR un numero significativo di persone non poteva ascoltare perché il loro MP3 riproduzione hardware/software di scelta non supportava i file VBR correttamente. Non si rendevano conto che questo era il problema. Hanno appena lamentato che il file è stato danneggiato mentre funzionava bene per tutti gli altri.

Un commentatore ha avuto un problema con il proprio EigerMan F20:

Il mio bug preferito su questo era su un lettore MP3 _ancient_ che avevo (un EigerMan F20), che supportava gli MP3 VBR inc in modo incompleto. Non supportava le regioni di decodifica con determinati bitrate, quindi le saltava silenziosamente, portando a un’estrema confusione da parte mia.

L’EigerMan F20, nella foto con un enorme 32MB di memoria flash

Un altro commentatore ha avuto più fortuna con il suo Nomad Jukebox 3:

Sono abbastanza certo che il mio Nomad Jukebox 3 ha supportato i VBRS bene, e questo sta arrivando su 14 anni ora.

Un utente su hydrogenaudio ha avuto sfortuna con un lettore DVD in 2006:

Il mio lettore DVD (Samsung HD-860) non riproduce file mp3 vbr. Ha circa 2 anni e viene fornito anche con un’uscita HDMI.

Un altro commentatore nello stesso thread ha avuto problemi con la sua auto:

Il mio amico ha acquistato un nuovo Pontiac G5 2008 (questo è fondamentalmente il Grand Am, ma da allora lo hanno rinominato in G5) ed è venuto con un deck compatibile mp3-CD installato in fabbrica. L’unità riprodurrà i file VBR bene, ma abbiamo scoperto che tutti i fotogrammi in mp3 devono essere codificati a 128kbps o superiore.

Non continuerò a copiare e incollare post su auto e lettori MP3 di oltre un decennio fa. La maggior parte dei dispositivi che la gente sta menzionando non sarebbe nemmeno in grado di tenere un episodio di podcast completo da 2017!

La mia ricerca nel resto del web ha dato risultati simili. Non sono riuscito a trovare un singolo rapporto di un dispositivo realizzato negli ultimi dieci anni che non è riuscito a riprodurre file VBR, e questo non mi sorprende. Una rivendicazione uncited su Wikipedia afferma:

A partire dal dicembre 2006, i dispositivi che supportano solo i file codificati CBR sono in gran parte obsoleti, come la stragrande maggioranza dei moderni dispositivi musicali portatili e software di supporto VBR file codificati.

Senza alcuna prova contraria, non credo che la compatibilità del dispositivo sia un argomento valido contro VBR.

Se hai riscontrato problemi di compatibilità VBR con un dispositivo, mi piacerebbe sentirne parlare. Si prega di raggiungere!

Firefox non supporta VBR.

Questo non è più vero. Firefox supporta i file VBR. Mi sono testato su macOS e Windows 10. Firefox utilizza decoder audio della piattaforma host per riprodurre MP3 piuttosto che raggruppare il proprio decoder MP3. Su Windows, il file presumibilmente smette di riprodurre mid-stream a causa dei problemi di timecode discussi sopra. Questo non sembra più essere il caso a tutti. Il file ha giocato bene, senza troncamento e senza problemi di ricerca.

I professionisti dicono di non usare VBR.

Mi è stato riferito a un podcast autorità e altri professionisti del settore per i loro consigli sul perché evitare VBR. Ero interessato agli argomenti che queste persone hanno presentato.

Aggiornamento: Al momento della scrittura, un bug nel codice della mia analisi identificato in modo errato 15 podcast in iTunes top 100 podcast come utilizzando VBR. In verità, solo uno usa la codifica VBR. Questo numero è stato citato nella mia corrispondenza con Rob Walch.

La prima persona con cui mi è stato detto di entrare in contatto è Rob Walch, che è l’attuale VP delle relazioni podcaster di Libsyn. Gli ho mandato una e-mail, e lui ha risposto con un link a un post sul blog. Ecco un frammento di quel post:

VBR è un vecchio tech / hack che è stato creato per rendere i file musicali MP3 più piccoli ed era popolare nel periodo di massimo splendore della condivisione di file. Oggi non ce n’è bisogno: la larghezza di banda e lo storage disponibili oggi sono molto diversi rispetto a 15 e 20 anni fa. Ma ancora più importante gli standard ISO per MP3 non richiedono che i giocatori lo supportino.

Secondo lo standard (ISO/IEC 11172-3:1993) Sezione 2.4.2.3

“Al fine di fornire il più piccolo ritardo possibile e la complessità, il decodificatore non è tenuto a supportare un bitrate variabile in continuo quando in layer I o II. Layer III supporta bitrate variabile commutando l’indice di bitrate. Tuttavia, in formato libero, è richiesto un bitrate fisso.”

e

” Per il livello II, non sono consentite tutte le combinazioni di bitrate e modalità totali.”

Quindi, la maggior parte dei programmatori Layer II non sarebbe stato scritto con VBR in mente, e Layer II VBR è un hack. Funziona per casi limitati. Farlo funzionare nella stessa misura come MP3 in stile VBR sarà un importante hack.

In breve il giorno di VBR nella luce e nell’uso di massa è molto indietro rispetto a noi, alla fine degli anni ‘ 90 e al pre — podcasting.

Tutti questi argomenti sono gli stessi che abbiamo trattato sopra, con una manciata di eccezioni. Per uno, Rob sostiene che la larghezza di banda e lo stoccaggio è a buon mercato. Questo è vero, ma podcast listenership è esploso anche negli ultimi anni (anche dal suo post nel 2014). A livello internazionale, specialmente nei mercati emergenti, la larghezza di banda è costosa per l’ascoltatore, il che può essere un ostacolo all’aumento dell’ascolto al di fuori degli Stati Uniti.

Cita anche le specifiche MPEG ISO, ma le citazioni che estrae sono male interpretate. MP3 sta per “MPEG-2 Audio Layer 3″, quindi la citazione ” Layer III supporta il bitrate variabile cambiando l’indice di bitrate, “significa davvero” MP3 supporta il bitrate variabile.”Per quanto ne so, non puoi essere compatibile con MP3 e non supportare VBR (secondo le specifiche). La seconda citazione su “Layer 2” si riferisce a MPEG-2 Audio Layer 2, che è un codec diverso da MP3 interamente ed è irrilevante per la discussione.

Ho risposto con questi commenti, chiedendo se avesse dati per aiutare a dimostrare queste affermazioni. La risposta che ho ottenuto è stata un po ‘ salty salata.

Matt,

Onestamente — il titolo dell’articolo ha detto tutto — La prima e l’ultima parola su VBR.

VBR è morto-chiunque spinge per esso è solo combattendo mulini a vento.

CBR = buono

VBR = cattivo

È davvero così semplice — non cercare di fare di più da questo — VBR NON è completamente supportato dai giocatori e dagli standard.

Se si sta cercando di spingere per VBR — poi alla fine si guarda indietro su questa e-mail e desidera che appena ascoltato me. 🙂

e seguito rapidamente da

Ciao Matt,

Se stavi pensando di usare VBR o stai usando VBR e dopo aver letto il mio articolo non sei convinto di cambiare-devi davvero leggere davvero questo:

http://theoatmeal.com/comics/believe

C’è un’amara ironia nella sua risposta, che ti lascerò trovare mentre leggi la bella striscia di Matthew Inman sull’effetto del ritorno di fiamma. Gli ho premuto di nuovo per fornire dettagli, e ha ricevuto un ” altra risposta fredda:

Buona fortuna per la tua ricerca.

Considero VBR un problema morto e rotolare gli occhi quando viene in su. Che è la ragione per il post che ho fatto.

Sembra che ogni due anni alza la sua brutta testa.

Non sono sicuro di quale 15% hai visto — l’ultima volta che ho controllato top mostra che era 0%

http://podcast411.libsyn.com/will-increasing-your-bit-rate-equal-more-listeners

Vedi questo post.

A questo punto-è la mia ultima risposta su VBR.

Troppo da fare per perdere tempo su questo — il post che ho fatto ti dà tutte le informazioni di cui hai bisogno se lo guardi obiettivamente.

Ti consiglio davvero di passare a CBR e non avrai problemi.

Il post collegato ripete solo il mantra di Rob: “VBR = bad.”Senza indicare fatti oggettivi per sostenere le affermazioni che fa, non posso dire che le opinioni di Rob sulla questione contengano molta acqua.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.