VBR: est-ce vraiment aussi mauvais qu’on le dit?

J’ai récemment écrit un long article sur les paramètres d’encodage MP3 des cent meilleurs podcasts des graphiques iTunes. Une de mes suggestions était très controversée: les gens de Reddit n’étaient pas d’accord pour savoir s’il était acceptable d’utiliser l’encodage VBR dans les podcasts.

J’ai été surpris par la véhémence avec laquelle les gens ont insisté sur le fait que VBR était mauvais. « Il ne devrait pas être utilisé! » » Éloignez-vous de VBR. »Les gens ne manquaient pas de suggérer d’éviter le VBR, mais peu de substance derrière ces revendications.

J’ai entrepris de rassembler tous les arguments contre VBR que j’ai pu trouver et j’ai fait des recherches sur chacun d’eux pour déterminer s’il était possible de vérifier les allégations derrière chacun d’eux.

Tout d’abord, un peu de contexte.

Pour vous sauver le clic, je vais vous donner un aperçu rapide. Dans un MP3, vous avez un débit binaire. Le débit est le nombre de bits nécessaire pour stocker une seconde d’audio. Un fichier MP3 de 128 kbps prend 128 kilobits pour stocker une seconde d’audio. Si vous avez un fichier MP3 de 128 kbps d’une durée de dix secondes, il faudra 1280 kilobits pour stocker le fichier. Simple.

C’est ainsi que fonctionne le CBR, ou débit binaire constant. Le fichier entier a un débit binaire. L’inconvénient de cela est que tous les fichiers audio ne sont pas créés égaux. Certains fichiers audio nécessitent moins de bits à stocker (par exemple, un moment de silence). Certains fichiers audio nécessitent plus. Avoir un débit binaire signifie que vous gaspillez potentiellement des bits stockant une fidélité audio dont vous n’avez pas besoin. C’est là que le VBR, ou débit binaire variable, entre en jeu.

VBR permet d’encoder des morceaux du fichier à différents débits. Cette seconde de quasi-silence pourrait descendre à 40kbps, tandis qu’une seconde de musique pourrait sauter jusqu’à 160kbps. Fait correctement, cela peut générer des économies de taille très substantielles.

Quels sont les arguments contre VBR?

Plutôt que de tourner autour du pot, jetons un coup d’œil aux arguments contre VBR et testons la validité de chacun.

Pauses VBR recherchant dans de nombreuses applications.

C’est vrai, et je l’appelle spécifiquement dans mon post:

Avec un fichier CBR, sauter en avant ou en arrière est facile car vous pouvez calculer exactement où aller. Avec VBR, sauter dix secondes d’avance peut signifier sauter jusqu’à 1280 kilobits — mais cela pourrait être trop si la qualité est abaissée dans ces dix secondes.

Essentiellement, vous ne pouvez pas savoir où aller dans le fichier pour commencer à jouer à un code temporel spécifique, car au lieu d’être une simple multiplication, vous devez connaître les débits de tous les fichiers audio menant à ce code temporel.

Il existe des moyens d’éviter cela. Il y a longtemps, les gens ont créé un certain nombre de normes qui permettent d’intégrer des métadonnées dans le MP3, permettant aux décodeurs de savoir où chercher. Je pourrais en écrire plus à ce sujet, mais c’est un point discutable car pratiquement personne n’implémente la norme.

Il convient de noter que la quantité de décalage du code temporel augmente à mesure que vous progressez dans le fichier. Au début du fichier audio, il est peu probable que la qualité ait chuté de beaucoup, et la différence ne pourrait être que de quelques millisecondes. Après quelques minutes, cependant, cela se transformera en secondes. Après une heure et plus, il peut atteindre une minute ou plus.

Certains podcasts sont très courts. Considérons le Palais de la Mémoire, qui a généralement des épisodes de moins de 15 minutes. Je serais plus que surpris d’apprendre que la recherche dans un épisode de T.M.P encodé en VBR était désactivée de plus de quelques poignées de secondes à la fin du fichier. (Je mesurerais cela, mais il est impossible de le faire correctement sans accès à l’audio source brut)

Les autres podcasts ne nécessitent pas vraiment une fonctionnalité de recherche robuste. Les podcasts ASMR, les podcasts avec peu de dialogue ou sans dialogue du tout, et les podcasts avec jabber insensé alors que les hôtes, par exemple, jouent à des jeux vidéo, n’ont tous pas besoin de pouvoir rechercher avec précision un code temporel particulier. C’est un compromis qu’un nombre non nul de podcasts est prêt à faire.

La recherche relative n’est pas non plus affectée par le codage VBR. Le podcast Mon Frère Mon Frère et moi utilise l’encodage VBR, et il est possible d’avancer de trente secondes et de reculer de dix secondes avec une très bonne précision. Il y a une bonne raison à cela techniquement: tout comme la recherche depuis le début d’un fichier, il est peu probable que la qualité baisse beaucoup pendant le petit laps de temps que vous passez devant. Sauter de trente secondes peut signifier sauter de, disons, trente et une secondes. La quantité d’inexactitude est déterminée par la quantité d’audio que vous passez, ce qui, avec la recherche relative, est généralement assez faible.

VBR ne réduit pas réellement les fichiers.

C’est à moitié vrai. VBR produira des fichiers de taille presque égale à CBR si le débit moyen du fichier VBR est le même que le débit fixe du fichier CBR. VBR produira également des fichiers de taille égale à un fichier CBR s’il ne modifie jamais le débit binaire (c’est-à-dire que l’encodeur ne choisit jamais d’abaisser la qualité, comme avec un bruit aléatoire).

Excluant le cas où le fichier ne contient que du bruit aléatoire (pourquoi publiez-vous cela dans votre podcast de toute façon?) la différence de taille a la mise en garde évidente que le fichier VBR aura une qualité audio égale ou supérieure à celle du fichier CBR.

Considérez ceci: vous avez un dossier de dix secondes. La première moitié est un quasi-silence et la seconde moitié est une musique haute fidélité. Si nous encodons cela comme CBR à 128kbps, ce sera 1280kb. Si nous l’encodons en VBR et que l’encodeur code hypothétiquement la première moitié à 64kbps et la seconde moitié à 192kbps, la taille du fichier sera toujours de 1280kb et le débit moyen est toujours de 128kbps. En comparant la qualité, cependant, nous trouverons que le fichier VBR sonne beaucoup mieux, car le silence n’utilise que les bits dont il a besoin et plus de bits ont été consacrés à la musique.

En réglant les paramètres de votre encodeur, vous pouvez effectivement réduire le débit moyen de votre fichier codé VBR de sorte que la qualité corresponde à peu près au fichier codé CBR équivalent. En théorie, cela entraînera une réduction globale de la taille du fichier. Si vous choisissez les paramètres VBR sans savoir ce que vous faites, vous pouvez facilement annuler tout avantage de taille de fichier que vous tireriez de l’utilisation de VBR pour commencer.

Les fichiers VBR n’affichent pas la durée correcte.

Par défaut, non, la durée d’un fichier VBR sera calculée par sa longueur d’octets, ce qui entraînera une surestimation (pour la même raison que la recherche ne fonctionne pas). Ceci est cependant facilement corrigé: le simple fait de spécifier la durée audio dans les balises ID3 à l’aide d’une trame TLEN fixera la durée. Certains décodeurs ne lisent pas correctement le cadre TLEN, mais ils sont rares et ne sont presque jamais utilisés avec les applications et les appareils à partir desquels quelqu’un pourrait consommer un podcast.

Les encodeurs comme Adobe Audition génèrent des fichiers encodés VBR cassés.

C’est quelque chose que j’ai trouvé mentionné en ligne à plusieurs endroits, remontant à un article sur les forums d’Adobe. Sans lire les détails, il est facile de créer un nuage de FUD autour de ce problème. Il s’avère que cela est directement lié à la dernière revendication sur la durée: l’audition n’ajoutait tout simplement pas (prétendument) les données TLEN.

Mise à jour: Je voudrais noter que je n’ai pas pu reproduire ce problème avec Adobe Audition. Il se peut qu’un problème existait dans une version précédente, mais cela ne semble plus être le cas. J’ai mis à jour cette section pour indiquer plus explicitement que je ne crois pas qu’il y ait un problème avec Adobe Audition. Merci à @audiblychuck sur Twitter d’avoir tendu la main.

Je dirais que c’est la responsabilité du podcasteur, pas un problème pour l’auditeur. Il est facile d’ajouter des balises ID3, et Audition n’est pas le seul cheval dans cette course. Dans les coulisses, Audition utilise l’encodeur MP3 Fraunhofer. Le post sur les forums d’Adobe fait également référence à Audition CS6, sorti en 2012; Je ne serais pas surpris si une version plus récente corrigeait le problème.

Même si Adobe n’a pas résolu ce problème, de nombreux articles sur Internet recommandent des outils (MP3val, MP3Diag, etc.) qui détectent et résolvent ce problème. Ffmpeg et LAME ajoutent tous les deux correctement la balise ID3 appropriée, ce qui signifie que la plupart des autres logiciels d’édition audio fonctionneront correctement par défaut.

Presque tous les décodeurs MP3 modernes ne nécessitent pas de balise ID3 TLEN pour déterminer la durée correcte d’un fichier MP3 VBR.

VBR ne fonctionne pas avec certains périphériques.

Il existe des preuves anecdotiques à l’appui de cela. J’ai trouvé un fil de commentaires HackerNews sur la prise en charge de l’appareil. Voici le commentaire racine de la discussion, parlant d’une expérience d’il y a plus d’une décennie:

Il s’avère que tout le monde n’écoute pas à l’aide d’un appareil moderne. Lorsque nous avons essayé VBR, un nombre important de personnes ne pouvaient pas écouter car leur matériel / logiciel de lecture MP3 de choix ne prenait pas correctement en charge les fichiers VBR. Ils n’ont pas réalisé que c’était le problème. Ils se sont juste plaints que le fichier était corrompu alors qu’il fonctionnait bien pour tout le monde.

Un commentateur a eu un problème avec son EigerMan F20:

Mon bug préféré à ce sujet était sur un lecteur MP3 _ancient_ que j’avais (un EigerMan F20), qui prenait en charge les MP3 VBRinc de manière incomplète. Il ne prenait pas en charge le décodage des régions avec certains débits binaires, il les ignorait donc silencieusement, ce qui entraînait une confusion extrême de ma part.

L’EigerMan F20, photographié avec un énorme stockage flash de 32 Mo

Un autre commentateur a eu plus de chance avec son Juke-box Nomad 3:

Je suis à peu près certain que mon Jukebox Nomad 3 a bien supporté les VBR, et cela arrive sur 14 ans maintenant.

Un utilisateur d’hydrogenaudio a eu de la malchance avec un lecteur DVD en 2006:

Mon lecteur DVD (Samsung HD-860) ne lit pas les fichiers mp3 vbr. Il a environ 2 ans et est même livré avec une sortie HDMI.

Un autre commentateur dans le même fil a eu des problèmes avec sa voiture:

Mon ami a acheté un nouveau Pontiac G5 2008 (il s’agit essentiellement du Grand Am, mais ils l’ont depuis renommé en G5) et il est livré avec une platine compatible mp3-CD installée en usine. L’unité lit très bien les fichiers VBR, mais nous avons découvert que toutes les images du mp3 doivent être encodées à 128 kbps ou plus.

Je ne continuerai pas à copier et coller des articles sur les voitures et les lecteurs MP3 d’il y a plus de dix ans. La plupart des appareils que les gens mentionnent ne seraient même pas en mesure de tenir un épisode de podcast complet à partir de 2017!

Mes recherches sur le reste du Web ont donné des résultats similaires. Je n’ai pas trouvé un seul rapport d’un appareil fabriqué au cours des dix dernières années qui n’a pas pu lire les fichiers VBR, et cela ne me surprend pas. Une revendication non citée sur Wikipédia déclare:

En décembre 2006, les appareils qui ne prennent en charge que les fichiers codés CBR sont en grande partie obsolètes, car la grande majorité des appareils de musique portables modernes et des logiciels prennent en charge les fichiers codés VBR.

Sans aucune preuve du contraire, je ne crois pas que la compatibilité des périphériques soit un argument valable contre VBR.

Si vous avez rencontré des problèmes de compatibilité VBR avec un appareil, j’aimerais en entendre parler. Veuillez tendre la main!

Firefox ne prend pas en charge VBR.

Ce n’est plus vrai. Firefox prend en charge les fichiers VBR. Je me suis testé sur macOS et Windows 10. Firefox utilise le décodeur audio de la plate-forme hôte pour lire des MP3 plutôt que de regrouper son propre décodeur MP3. Sous Windows, le fichier aurait cessé de jouer à mi-flux en raison des problèmes de code temporel discutés ci-dessus. Cela ne semble plus du tout être le cas. Le fichier a très bien joué, sans troncature et sans problèmes de recherche.

Les professionnels disent de ne pas utiliser VBR.

J’ai été référé à une autorité de podcast et à d’autres professionnels de l’industrie pour leurs conseils sur les raisons d’éviter le VBR. J’étais intéressé par les arguments que ces gens ont avancés.

Mise à jour: Au moment de la rédaction, un bogue dans le code de mon analyse a incorrectement identifié 15 podcasts dans le top 100 des podcasts iTunes comme utilisant VBR. En vérité, un seul utilise le codage VBR. Ce numéro a été cité dans ma correspondance avec Rob Walch.

La première personne avec qui on m’a dit d’entrer en contact est Rob Walch, qui est l’actuel vice-président des relations avec les podcasts chez Libsyn. Je lui ai envoyé un e-mail, et il a répondu avec un lien vers un article de blog. Voici un extrait de ce post:

VBR est une vieille technologie / hack qui a été créée pour réduire la taille des fichiers musicaux MP3 et qui était populaire à l’apogée du partage de fichiers. Aujourd’hui, il n’y en a plus besoin — la bande passante et le stockage disponibles aujourd’hui sont très différents d’il y a 15 et 20 ans. Mais plus important encore, les normes ISO pour MP3 ne nécessitent pas que les lecteurs le prennent en charge.

Selon la norme (ISO / IEC 11172-3:1993) Section 2.4.2.3

« Afin de fournir le plus petit délai et la complexité possibles, le décodeur n’est pas tenu de prendre en charge un débit variable en continu lorsqu’il est dans la couche I ou II. La couche III prend en charge le débit variable en commutant l’indice de débit. Cependant, en format libre, un débit fixe est requis. »

et

 » Pour la couche II, toutes les combinaisons de débit total et de mode ne sont pas autorisées. »

Par conséquent, la plupart des codeurs de couche II n’auraient pas été écrits avec VBR à l’esprit, et la couche II VBR est un hack. Cela fonctionne pour des cas limités. Le faire fonctionner dans la même mesure que le VBR de style MP3 sera un hack majeur.

En bref, le jour de VBR dans la lumière et l’utilisation de masse est loin derrière nous — à la fin des années 1990 et avant le podcasting.

Tous ces arguments sont les mêmes que ceux que nous avons traités ci-dessus, à quelques exceptions près. D’une part, Rob affirme que la bande passante et le stockage sont bon marché. C’est vrai, mais l’écoute des podcasts a également explosé ces dernières années (même depuis son poste en 2014). À l’échelle internationale, en particulier dans les marchés émergents, la bande passante est coûteuse pour l’auditeur, ce qui peut constituer un obstacle à l’augmentation de l’écoute en dehors des États-Unis.

Il cite également la spécification ISO MPEG, mais les citations qu’il extrait sont mal interprétées. MP3 signifie « MPEG-2 Audio Layer 3 », donc la citation « Layer III prend en charge le débit binaire variable en commutant l’indice de débit binaire » signifie vraiment « MP3 prend en charge le débit binaire variable. »À ma connaissance, vous ne pouvez pas être compatible MP3 et ne pas prendre en charge VBR (selon la spécification). La deuxième citation à propos de la « couche 2 » fait référence à la couche audio MPEG-2 2, qui est un codec entièrement différent du MP3 et qui n’est pas pertinent pour la discussion.

J’ai répondu avec ces commentaires, lui demandant s’il avait des données pour aider à étayer ces affirmations. La réponse que j’ai eue était un peusalty salée.

Matt,

Honnêtement — le titre de l’article disait tout — Le premier et le dernier mot sur VBR.

VBR est mort – quiconque le pousse ne fait que combattre des moulins à vent.

CBR = bon

VBR = mauvais

C’est vraiment aussi simple que cela — n’essayez pas de tirer le meilleur parti de cela — VBR n’est PAS entièrement pris en charge par les joueurs et les normes.

Si vous essayez de pousser pour VBR — alors finalement, vous reviendrez sur cet e-mail et souhaiterez que vous venez de m’écouter. 🙂

et suivi rapidement par

Salut Matt,

Si vous envisagez d’utiliser VBR ou utilisez VBR et après avoir lu mon article, vous n’êtes pas convaincu de changer — vous devez vraiment vraiment lire ceci:

http://theoatmeal.com/comics/believe

Il y a une ironie amère dans sa réponse, que je vous laisserai trouver en lisant la belle bande de Matthew Inman sur l’effet de retour de flamme. Je l’ai pressé à nouveau de fournir des détails, et j’ai reçu une autre réponse froide:

Bonne chance dans votre quête.

Je considère VBR comme un problème mort et je roule des yeux quand il se présente. C’est la raison du post que j’ai fait.

Il semble que tous les deux ans, il lève la tête laide.

Je ne sais pas ce que 15% vous avez vu — la dernière fois que j’ai vérifié en haut montre que c’était 0%

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

Voir cet article.

À ce stade — c’est ma dernière réponse sur VBR.

Trop de choses à faire pour perdre du temps là—dessus – le post que j’ai fait vous donne toutes les informations dont vous avez besoin si vous le regardez objectivement.

Je vous recommande vraiment de passer à CBR et vous n’aurez aucun problème.

Le message lié ne fait que répéter le mantra de Rob: « VBR = mauvais. »Sans pointer vers des faits objectifs pour étayer les affirmations qu’il fait, je ne peux pas dire que les opinions de Rob sur la question retiennent beaucoup d’eau.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.