VBR: is het eigenlijk zo slecht als ze zeggen?

ik schreef onlangs een lange post over de mp3-coderingsinstellingen van de top honderd podcasts op de iTunes-charts. Een van mijn suggesties was zeer controversieel: mensen op Reddit oneens over de vraag of het goed is om VBR-codering te gebruiken in podcasts.

ik was verrast door de heftigheid waarmee mensen volhielden dat VBR slecht is. “Het mag niet worden gebruikt! Blijf uit de buurt van VBR.”Er was geen tekort aan mensen die suggereren om VBR te vermijden, maar weinig in de weg van de inhoud achter die claims.

ik wilde alle argumenten tegen VBR verzamelen die ik kon vinden, en onderzocht elk ervan om te bepalen of het mogelijk was om de claims achter elk ervan te verifiëren.

eerst wat achtergrond.

om u de klik op te slaan, zal ik een snelle achtergrond geven. In een MP3 heb je een bitrate. De bitrate is het aantal bits dat nodig is om een seconde audio op te slaan. Een 128kbps MP3 bestand kost 128 kilobits om een seconde audio op te slaan. Als je een 128kbps MP3-bestand hebt dat tien seconden lang is, duurt het 1280 kilobits om het bestand op te slaan. Eenvoudig.

zo werkt CBR, of constante BitRate. Het hele bestand heeft één bitrate. Het nadeel hiervan is dat niet alle audio gelijk is gemaakt. Sommige audio vereist minder bits om op te slaan (bijvoorbeeld een moment van stilte). Sommige audio vereist meer. Het hebben van een bitrate betekent dat je potentieel verspillen bits opslaan audio trouw die je niet nodig hebt. Dat is waar VBR, of variabele BitRate, komt in.

VBR staat toe dat delen van het bestand worden gecodeerd met verschillende bitrates. Die seconde van bijna-stilte zou kunnen zakken tot 40kbps, terwijl een seconde van muziek zou kunnen springen tot 160kbps. Correct gedaan, kan dit zeer aanzienlijke besparingen in omvang opleveren.

Wat zijn de argumenten tegen VBR?

laten we er niet omheen draaien, maar laten we de argumenten tegen VBR bekijken en de validiteit van elk ervan testen.

VBR breekt zoeken in veel apps.

dit is waar, en ik noem dit specifiek in mijn bericht:

met een CBR-bestand is vooruit of achteruit overslaan eenvoudig, omdat je precies kunt berekenen waar je heen moet springen. Met VBR, tien seconden vooruit overslaan zou kunnen betekenen overslaan tot 1280 kilobits-maar dat kan te veel zijn als de kwaliteit wordt verlaagd binnen die tien seconden.

in wezen kunt u niet weten waar u heen moet springen in het bestand om te beginnen met spelen op een specifieke tijdcode, omdat u in plaats van een eenvoudige vermenigvuldiging, de bitrates van alle audio moet kennen die tot die tijdcode leiden.

er zijn manieren om dit te voorkomen. Lang, lang geleden, mensen creëerden een aantal normen die het mogelijk maken metadata te worden ingebed in de MP3, waardoor decoders om erachter te komen waar te zoeken naar. Ik zou hier meer over kunnen schrijven, maar het is een betwistbaar punt omdat vrijwel niemand de standaard implementeert.

het is vermeldenswaard dat de hoeveelheid waarmee de tijdcode uit is groter wordt naarmate je verder in het bestand komt. Aan het begin van het audiobestand, is het onwaarschijnlijk dat de kwaliteit is gedaald met zeer veel op alle, en het verschil misschien slechts een paar milliseconden. Na een paar minuten zal dat echter uitgroeien tot seconden. Na een uur en hoger, kan het groeien tot een minuut of meer.

sommige podcasts zijn erg kort. Denk aan het Memory Palace, dat over het algemeen afleveringen minder dan 15 minuten heeft. Ik zou meer dan verbaasd zijn om te horen dat het zoeken in een VBR-gecodeerde T. M. P. aflevering was uitgeschakeld door meer dan een paar handenvol seconden tegen het einde van het bestand. (Ik zou dit meten, maar het is onmogelijk om correct te doen zonder toegang tot de raw-bronaudio)

andere podcasts hebben niet echt een robuuste zoekfunctie nodig. ASMR podcasts, podcasts met weinig dialoogvenster of helemaal zonder dialoogvenster, en podcasts met hersenloze jabber als de hosts, zeggen, spelen video games allemaal niet de mogelijkheid om nauwkeurig te zoeken naar een bepaalde tijdcode nodig. Dit is een trade-off die een niet-nul aantal podcasts bereid zijn te maken.

relatief zoeken wordt ook grotendeels niet beïnvloed door VBR-codering. De podcast mijn broer mijn broer en Ik maakt gebruik van VBR-codering, en het is mogelijk om vooruit te springen door dertig seconden en terug door tien seconden met een zeer goede nauwkeurigheid. Technisch gezien is hier een goede reden voor.: net als het zoeken vanaf het begin van een bestand, is het onwaarschijnlijk dat de kwaliteit dips door heel veel tijdens de kleine brok van de tijd die u ‘ re overslaan door. Als je dertig seconden vooruit gaat, betekent dat dat je bijvoorbeeld eenendertig seconden vooruit gaat. De hoeveelheid onnauwkeurigheid wordt bepaald door de hoeveelheid audio die u overslaat, die met relatieve zoeken is meestal vrij klein.

VBR maakt bestanden niet kleiner.

dit is voor de helft waar. VBR zal bestanden produceren van bijna dezelfde grootte als CBR als de gemiddelde bitrate van het VBR-bestand hetzelfde is als de vaste bitrate van het CBR-bestand. VBR zal ook bestanden produceren die in grootte gelijk zijn aan een CBR-bestand als het nooit de bitrate verandert (dat wil zeggen, de encoder kiest nooit om de kwaliteit te verlagen, zoals met willekeurige ruis).

met uitzondering van het geval waarin het bestand alleen willekeurige ruis bevat (waarom publiceert u dat eigenlijk in uw podcast?) het verschil in grootte heeft de voor de hand liggende waarschuwing dat de VBR-bestand zal een gelijke of Grotere geluidskwaliteit in het algemeen dan de CBR-bestand.

beschouw dit: je hebt een dossier van tien seconden. De eerste helft is bijna-stilte, en de tweede helft is high-fidelity muziek. Als we dit coderen als CBR op 128kbps, zal het 1280kb zijn. Als we het coderen als VBR, en de encoder hypothetisch codeert de eerste helft op 64kbps en de tweede helft op 192kbps, zal de bestandsgrootte nog steeds 1280kb, en de gemiddelde bitrate is nog steeds 128kbps. Het vergelijken van de kwaliteit, hoewel, we zullen vinden dat de VBR-bestand klinkt veel beter, omdat de stilte is met behulp van alleen de bits die het nodig heeft en meer bits werden gewijd aan de muziek.

door de instellingen van uw encoder af te stemmen, kunt u effectief de gemiddelde bitrate van uw VBR-gecodeerde bestand verlagen, zodat de kwaliteit ongeveer overeenkomt met het equivalente CBR-gecodeerde bestand. In theorie zal dit leiden tot een algehele vermindering van de bestandsgrootte. Als u VBR-instellingen kiest zonder te weten wat u doet, echter, kunt u gemakkelijk eindigen ontkennen elke Bestandsgrootte voordeel dat u zou ontlenen aan het gebruik van VBR om te beginnen met.

VBR-bestanden tonen niet de juiste duur.

standaard wordt de duur van een VBR-bestand berekend door de lengte van de byte, wat resulteert in een overschatting (om dezelfde reden dat zoeken niet werkt). Dit kan echter gemakkelijk worden verholpen: door simpelweg de audioduur in de ID3-tags op te geven met een TLEN frame, wordt de duur hersteld. Sommige decoders lezen het TLEN frame niet correct, maar ze zijn weinig en ver tussen en worden bijna nooit gebruikt met de apps en apparaten waarvan iemand een podcast zou kunnen gebruiken.

Encoders zoals Adobe Audition genereren gebroken VBR-gecodeerde bestanden.

dit is iets wat ik online op een aantal plaatsen vond, terugvoerend naar een post op Adobe ‘ s forums. Zonder het lezen van de details, Het is gemakkelijk om een wolk van FUD rond dit probleem te creëren. Het blijkt dat dit direct gerelateerd is aan de laatste claim over de duur: Audition was simpelweg niet (naar verluidt) het toevoegen van de TLEN data.

Update: Ik wil graag opmerken dat ik dit probleem niet heb kunnen reproduceren met Adobe Audition. Het kan zijn dat er een probleem bestond in een vorige versie, maar dat lijkt niet langer het geval te zijn. Ik heb deze sectie bijgewerkt om meer expliciet te zeggen dat ik niet geloof dat er een probleem met Adobe Audition. Met dank aan @audiblychuck op Twitter voor het bereiken van contact.

ik zou het argument maken dat dit de verantwoordelijkheid is van de podcaster, geen probleem voor de luisteraar. Het is gemakkelijk om ID3-tags toe te voegen, en Auditie is niet het enige paard in deze race. Achter de schermen gebruikt Audition de Fraunhofer MP3 encoder. De post op Adobe ‘ s forums verwijst ook naar Audition CS6, uitgebracht in 2012; Ik zou niet verbaasd zijn als een meer recente versie het probleem opgelost.

zelfs als Adobe dit niet heeft opgelost, bevelen veel berichten op het internet tools aan (MP3val, MP3Diag, enz.) die dit probleem detecteren en oplossen. Ffmpeg en LAME voegen beide correct de juiste ID3-tag toe, wat betekent dat de meeste andere audiobewerkingssoftware standaard correct werkt.

bijna alle moderne MP3-decoders hebben geen ID3-tag TLEN nodig om de juiste duur van een VBR-MP3-bestand te bepalen.

VBR werkt niet met bepaalde apparaten.

er is anekdotisch bewijs dat dit ondersteunt. Ik vond een HackerNews opmerkingen thread over device support. Hier is de wortel commentaar van de discussie, praten over een ervaring van meer dan een decennium geleden:

het blijkt dat niet iedereen luistert met een modern apparaat. Toen we VBR probeerden, kon een aanzienlijk aantal mensen niet luisteren omdat hun MP3-afspeelende hardware / software naar keuze VBR-bestanden niet goed ondersteunt. Ze wisten niet dat dit het probleem was. Ze klaagden dat het bestand beschadigd was terwijl het goed werkte voor iedereen.

Eén commentator had een probleem met hun Eigenman F20:

mijn favoriete bug over dit was op een _ancient_ MP3-speler die ik had (een EigerMan F20), die VBR MP3s…onvolledig ondersteund. Het ondersteunde het decoderen van regio ‘ s met bepaalde bitrates niet, dus het zou ze gewoon stilletjes overslaan, wat leidde tot extreme verwarring van mijn kant.

de EigerMan F20, afgebeeld met maar liefst 32MB flashopslag

een andere commentator had meer geluk met zijn Nomad Jukebox 3:

ik ben er vrij zeker van dat mijn Nomad Jukebox 3 vbrs prima ondersteunt, en dat is nu 14 jaar oud.

een gebruiker op hydrogenaudio had pech met een DVD-speler in 2006:

Mijn DVD-speler (Samsung HD-860) speelt geen mp3 vbr-bestanden af. Het is ongeveer 2 jaar oud en wordt zelfs geleverd met een HDMI-uitgang.

een andere commentator in dezelfde discussie had problemen met zijn auto:

mijn vriend kocht een nieuwe 2008 Pontiac G5 (dit is in principe de Grand Am, maar ze hebben het sindsdien hernoemd naar G5) en het kwam met een in de fabriek geïnstalleerde MP3-CD compatibel deck. De eenheid zal spelen VBR-bestanden prima, maar we hebben ontdekt dat alle frames in de mp3 moet worden gecodeerd op 128 kbps of hoger.

Ik zal geen berichten blijven kopiëren en plakken over auto ‘ s en MP3-spelers van meer dan tien jaar geleden. De meeste van de apparaten die mensen noemen zou niet eens in staat zijn om een volledige podcast aflevering van houden 2017!

mijn onderzoek in de rest van het web leverde vergelijkbare resultaten op. Ik kon geen enkel rapport vinden van een apparaat dat in de afgelopen tien jaar is gemaakt en dat VBR-bestanden niet kon afspelen, en dit verbaast me niet. Een niet-geciteerde claim op Wikipedia Staten:

vanaf December 2006 zijn apparaten die alleen CBR-gecodeerde bestanden ondersteunen grotendeels verouderd, omdat de overgrote meerderheid van de moderne draagbare muziekapparaten en software VBR-gecodeerde bestanden ondersteunt.

zonder enig bewijs van het tegendeel, geloof ik niet dat apparaatcompatibiliteit een geldig argument is tegen VBR.

als u VBR-compatibiliteitsproblemen hebt ondervonden met een apparaat, zou ik er graag over horen. Alsjeblieft, steek je hand uit.

Firefox ondersteunt VBR niet.

Dit is niet langer het geval. Firefox ondersteunt VBR-bestanden. Ik heb mezelf getest op zowel macOS als Windows 10. Firefox maakt gebruik van de host platform audio decoder om MP3 te spelen in plaats van het bundelen van zijn eigen MP3 decoder. Op Windows, het bestand naar verluidt stopt met spelen mid-stream als gevolg van de tijdcode problemen hierboven besproken. Dit lijkt helemaal niet meer het geval te zijn. Het bestand speelde prima, zonder afkappen en geen zoekproblemen.

de professionals zeggen VBR niet te gebruiken.

ik werd doorverwezen naar een podcast autoriteiten en andere professionals uit de industrie voor hun advies over waarom VBR te vermijden. Ik was geïnteresseerd in de argumenten die deze mensen naar voren brachten.

Update: op het moment van schrijven identificeerde een fout in de code van mijn analyse ten onrechte 15 podcasts in de iTunes top 100 podcasts als VBR. In werkelijkheid gebruikt slechts één VBR-codering. Dit nummer werd geciteerd in mijn correspondentie met Rob Walch.

de eerste persoon met wie ik in contact moest komen is Rob Walch, de huidige VP van podcaster relaties bij Libsyn. Ik stuurde hem een e-mail, en hij reageerde met een link naar een blog post. Hier is een fragment van dat bericht:

VBR is een oude tech / hack die is gemaakt om MP3-muziekbestanden kleiner te maken en was populair terug in de hoogtijdagen van het delen van bestanden. Vandaag is er geen behoefte aan-beschikbare bandbreedte en opslag vandaag is veel anders dan 15 en 20 jaar geleden. Maar nog belangrijker ISO-normen voor MP3 vereisen geen spelers ondersteunen.

volgens de norm (ISO/IEC 11172-3:1993) paragraaf 2.4.2.3

“om de kleinst mogelijke vertraging en complexiteit te bieden, is de decoder niet vereist om een continu variabele bitrate te ondersteunen wanneer in laag I of II. laag III ondersteunt variabele bitrate door de bitrate-index te schakelen. Echter, in vrij formaat, vaste bitrate is vereist.”

en

” voor Layer II zijn niet alle combinaties van totale bitrate en modus toegestaan.”

vandaar dat de meeste Layer II programmeurs niet geschreven zouden zijn met VBR in gedachten, en Layer II VBR is een hack. Het werkt voor beperkte gevallen. Om het te werken in dezelfde mate als MP3-stijl VBR zal een grote hack.

in het kort VBR ‘ s dag in het licht en massagebruik is ver achter ons — terug in de late jaren 1990 en pre-podcasting.

al deze argumenten zijn hetzelfde als hierboven behandeld, met een handvol uitzonderingen. Voor een, Rob beweert dat bandbreedte en opslag is goedkoop. Dit is waar, maar podcast luisteraarschap is ook geëxplodeerd in de afgelopen jaren (zelfs sinds zijn post in 2014). Internationaal, met name in opkomende markten, is bandbreedte duur voor de luisteraar, wat een belemmering kan zijn voor het vergroten van luisteraarschap buiten de VS.

hij citeert ook de MPEG ISO spec, maar de citaten die hij uittrekt zijn verkeerd geïnterpreteerd. MP3 staat voor “MPEG-2 Audio Layer 3,” dus het citaat “Layer III ondersteunt variabele bitrate door het schakelen van de bitrate index, “echt betekent” MP3 ondersteunt variabele bitrate.”Naar mijn inzicht, je kunt niet MP3-compatibel en geen ondersteuning VBR (volgens de spec). Het tweede citaat over “Layer 2” verwijst naar MPEG-2 Audio Layer 2, dat is een andere codec van MP3 volledig en is irrelevant voor de discussie.

ik antwoordde met deze opmerkingen en vroeg of hij over gegevens beschikte om deze beweringen te staven. De reactie die ik kreeg was een beetje…zoutig.

Matt,

eerlijk-de titel van het artikel zei het al-het eerste en laatste woord op VBR.

VBR is dood-iedereen die erop aandringt, vecht gewoon tegen windmolens.

CBR = goed

VBR = slecht

het is echt zo eenvoudig — probeer hier niet meer van te maken-VBR wordt niet volledig ondersteund door spelers en standaarden.

als je probeert te pushen voor VBR-dan zal je uiteindelijk terugkijken op deze e-mail en wensen dat je gewoon naar mij geluisterd hebt. 🙂

en snel gevolgd door

Hi Matt,

Als u VBR wilt gebruiken of als u VBR gebruikt en nadat u mijn artikel hebt gelezen, bent u niet overtuigd om te veranderen — U moet dit echt echt lezen:

http://theoatmeal.com/comics/believe

er zit een bittere ironie in zijn antwoord, die ik je laat vinden als je Matthew Inman ‘ s Fijne strip leest over het averechts effect. Ik drukte hem opnieuw om details te geven, en kreeg een andere kille reactie:

succes met je zoektocht.

ik beschouw VBR als een dood probleem en rol de ogen als het ter sprake komt. Dat is de reden voor de post die ik heb gemaakt.

om de paar jaar steekt hij zijn lelijke kop op.

weet niet zeker wat 15% u zag — de laatste keer dat ik bovenaan controleerde, was het 0%

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

zie dit bericht.

op dit punt — het is mijn laatste antwoord op VBR.

te veel om tijd te verspillen aan dit-het bericht dat ik gemaakt heb geeft je alle informatie die je nodig hebt als je er objectief naar kijkt.

ik raad je echt aan om door te gaan naar CBR en je zult geen problemen hebben.

de gelinkte post herhaalt alleen Rob ’s mantra:” VBR = bad.”Zonder te wijzen op objectieve feiten ter ondersteuning van de beweringen die hij maakt, kan ik niet zeggen dat de meningen van Rob over de zaak veel waarde hebben.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.