Paramètres recommandés pour convertir Opus en AAC

2

Je télécharge de la musique sur Youtube, et il semble que dans la plupart des cas (vidéos populaires), la meilleure qualité audio est un fichier opus.

Je sais que (1) Opus est le codec le plus récent et plus efficace et (2) la conversion d'un codec avec perte en un autre n'est pas recommandée.

Toutefois, comme je veux utiliser le même fichier, c’est-à-dire utiliser le même conteneur, sous Windows / iOs / car, je souhaite convertir au format AAC ou MP3.

J'ai lu ici que vous pouvez limiter la perte de génération dans une certaine mesure en utilisant un débit plus élevé pour le codec cible.

Alors, quels paramètres (par exemple, ffmpeg) recommanderiez-vous de convertir un fichier opus en AAC pour conserver la même qualité audio (je sais que c'est subjectif ...)?

Selon le youtube-dl -F les données sont de 160kbs, mais lorsqu’elles sont téléchargées, MediaInfo donne un débit global de 127Kbps et un taux d’échantillonnage de 48Khz.

192kbs serait-il un bon choix pour le fichier AAC? (Je suppose que l'AAC est en tout cas un meilleur choix que le MP3?) Je sais que, sur CD ou sans perte, VBR est le plus recommandé, mais pour le transcodage à partir de Opus, CBR serait-il meilleur? Et devrais-je conserver le taux d'échantillonnage de 48 kHz dans le fichier opus ou réduire le taux d'échantillonnage à la fréquence habituelle de 44,1 kHz de l'AAC?

Et enfin, YouTube-dl peut également télécharger un fichier AAC de 128 kbs. Étant donné que l'opus est plus efficace / meilleur, la qualité sera plus élevée au même débit. Mais le transcodage de l'opus au format AAC (par exemple, à 192 Kb / 212 Kb) maintiendrait cette différence de qualité ou le transcodage (même à un débit supérieur) induirait-il des artefacts de sorte que la qualité audio du fichier AAC de 192 Kb serait en réalité pire fichier ?

MODIFIER

Permettez-moi de vous expliquer pourquoi je lutte conceptuellement pour comprendre comment déterminer les paramètres optimisés pour le transcodage.

Dans la plupart des cas, vous commencez avec un fichier sans perte (par exemple, un fichier wav de 50 Mo) et vous choisissez les paramètres d’encodeur pour la qualité (VBR) ou le débit souhaité (CBR / ABR). Le codeur fait ensuite son hocus pocus (supprime les informations inaudibles, la compression, etc.), ce qui vous donne ensuite un fichier avec moins de pertes, en fonction des paramètres choisis. Par exemple, disons 3 Mo pour un MP3 de 128 Ko, 5 à 6 Mo pour un VBR de qualité supérieure (c'est-à-dire les réglages les plus élevés pour lame ou qaac) et 7 à 8 Mo pour un CBR de 320 Ko.

Mais dans ce cas, le fichier source est un fichier opus de 5 Mo à 128 Ko. La première étape du transcodage consiste à décoder d'abord le fichier (en un flux PCM?), Puis à encoder à nouveau dans le nouveau format.

Ma compréhension est-elle correcte que le maximum information dans le fichier ne dépasse pas 5 Mo, donc pour encoder (et si ce n’est pas une obligation de réduire la taille du fichier), je devrais simplement utiliser la plus haute qualité possible VBR, ou éventuellement un CBR élevé (256 ou 320) pour capturer pratiquement toutes les informations. toujours présent dans le fichier opus. Le fichier résultant ne devrait en aucun cas dépasser la taille de 5 Mo, car je suppose qu'aucune nouvelle information ne peut être inventée / générée au cours du processus (je ferai des expériences pendant le week-end pour le tester).

La première réponse donnée semble le suggérer.

Peter K.
la source
Heh, bien que vous ayez trouvé cette ancienne réponse. Je l'ai mis à jour avec de nouvelles informations. Quand je l'ai écrit en 2013, Opus était relativement nouveau, mais il est maintenant beaucoup plus utilisé.
slhck
@slhck Votre réponse a été très utile! Mais opus a probablement "moins mûri" que prévu en 2013. Pas en ce qui concerne la prise en charge du navigateur, mais en ce qui concerne l'utilisation dans des fichiers de musique autonomes (pas de format de conteneur accepté couramment / sur toutes les plates-formes - du moins, selon wikipedia. ..).
Peter K.
Oui, il est plus utilisé dans les implémentations YouTube et VoIP.
slhck

Réponses:

2

Plus généralement, je recommanderais de regarder le Wiki FFmpeg page sur le codage AAC. Vous trouverez ici des conseils sur la manière d’atteindre la meilleure qualité, notamment:

  • en utilisant le libfdk_aac encodeur au lieu de celui intégré (l'encodeur peut faire une énorme différence de qualité!)
  • utilisation de VBR - il n'est pas nécessaire de contraindre le débit ou les bits de perte
  • désactiver le filtre passe-haut, car certaines fréquences hautes sont perdues lors de la conversion

Ainsi, les éléments suivants fonctionneraient:

ffmpeg -i input.opus -c:a libfdk_aac -vbr 5 -cutoff 18000 output.m4a

Cela devrait être absolument transparent pour les oreilles de quiconque. Vous pouvez même utiliser -vbr 4 et vérifiez si vous pouvez détecter la différence. Je suppose que tu ne le feras pas.


Plus spécifiquement, vous demandez:

Et enfin, YouTube-dl peut également télécharger un fichier AAC de 128 kbs. (…) Mais le transcodage de l'opus au format AAC (…) maintiendrait-il cette différence de qualité ou le transcodage (…) induirait-il des artefacts de sorte que la qualité audio (…) serait en réalité pire?

Excellente question à laquelle je ne sais pas comment répondre sans effectuer un test d'écoute formel.

Cependant, si vous supposez qu’un AAC stéréo à 128 kbps est au moins égal à bien qualité (mais pas excellente), vous pouvez renoncer à toute conversion et l’utiliser directement si cela vous convient. Je pense que je voudrais écouter les échantillons originaux Opus et AAC que vous avez directement téléchargés et essayer de faire un test à l'aveugle - pouvez-vous détecter de manière fiable la différence? Si non, utilisez simplement AAC et enregistrez vous-même la conversion.

PS: J’ai écouté quelques extraits de musique de YouTube avec les variantes Opus et AAC et j’ai personnellement aimé Opus; il semblait y avoir un peu plus de spatialité haute fréquence. Mais ne considérez pas cela comme une conclusion scientifiquement valable!


Enfin, il y a un fil En discutant d'un problème similaire, et ici, un utilisateur pense qu'il existe une mise en forme psychoacoustique plus agressive dans le codage VBR, ce qui peut améliorer les artefacts déjà présents lors du codage d'un fichier avec perte. Il conclut qu'un ABR à un débit élevé peut être mieux adapté à de telles tâches.

slhck
la source
Si quelqu'un veut connaître sa limite de fréquence pour un filtre passe-bas personnalisé -cutoff valeur (à une fréquence d'échantillonnage de 44100 Hz arbitraire): ffplay -f lavfi -i sine=f=18000. Diminuez jusqu'à ce que vous entendiez un «cri de chauve-souris» ou que vos oreilles saignent Dans un bureau bruyant avec un casque ouvert, le mien vaut environ 16100.
llogan
@LordNeckbeard Il y a un bruit de fond lorsque vous lancez la commande (du moins sur mon Mac), ce qui est dû à l'apparition soudaine. Il peut être évité avec sine=f=18000,afade=d=0.1.
slhck
@slhck Merci pour votre contribution. Ainsi, en utilisant des préréglages (par exemple -vbr 5), le codeur "trouvera" le débit binaire moyen optimal pour préserver la qualité? J'utilise des préréglages lors de l'extraction à partir d'une source (CD), mais je pensais que lorsque la source est avec perte (128 kbs en opus), il serait préférable de définir les paramètres manuellement. Et qu'en est-il du taux d'échantillonnage? Réglez manuellement 48Khz comme dans le fichier opus, ou conservez la valeur par défaut (ce qui implique un rééchantillonnage à 44,1Khz, je suppose)?
Peter K.
@PeterK Oui, VBR garantira un taux et une qualité optimaux. La fréquence d'échantillonnage doit rester à 48 kHz sauf si vous en spécifiez une autre.
slhck
@slhck j'ai regardé libfdk_aac, mais je ne pense pas avoir les compétences et le temps nécessaires pour créer un ffmpeg personnalisé avec libfdk_aac inclus. Je suppose que je pourrais utiliser qaac comme alternative (en ligne de commande ou avec fb2k)? Mais il me reste à découvrir les paramètres recommandés. Aussi pour qaac, il y a beaucoup d’informations pour l’encodage à partir des sources (CD ou sans perte), mais pas beaucoup d’informations pour les paramètres recommandés en fonction de divers fichiers d’entrée avec pertes.
Peter K.
0

Ce n’est pas une réponse, c’est un peu un avis d’expert, pour ce que ça vaut [je suis un ingénieur du son, mais pas un gars du codage / algorithme]

Pour iOS / voiture, il suffit à iTunes de rééchantillonner à 128k AAC - l'option est dans iTunes même, elle créera de nouvelles versions uniquement pour vos appareils - vous n'entendrez jamais la différence, certainement dans la voiture, & amp; des téléphones mobiles uniquement dans un environnement silencieux avec des écouteurs très coûteux.

Fenêtre écrasée pour économiser de l'espace ...

enter image description here

Si vous souhaitez archiver au maximum, utilisez Apple Lossless [ALAC].
Il ne récupérera rien déjà parti, mais il ne perdra plus.

Par ailleurs, iOS lui-même peut maintenant lire les fichiers Opus [depuis iOS 11] - mais je ne sais pas si cela se fait via iTunes ou uniquement sous forme de fichier en streaming.

Tetsujin
la source
AAC ne peut pas être sans perte, vous voulez dire ALAC?
slhck
Je veux dire "Apple Lossless Encoder", alors oui, je veux probablement dire ALAC. [Je vous ai dit que je n'étais pas un technicien ;-) Corrigé.
Tetsujin
Il h! Utiliser ALAC ne vous donnerait pas beaucoup de compatibilité autre que macOS (et peut-être iOS? Je ne sais même pas…)
slhck
Je pensais que Windows / iOS / voiture serait essentiellement un environnement iTunes. Je suppose que FLAC fonctionnerait aussi, mais comme iTunes ne l'aime pas, ce serait le même problème en sens inverse. tbh, je travaille habituellement & amp; archive dans WAV & amp; passez à ce dont j'ai besoin si nécessaire - mais je pars de zéro, pas du matériel source de quelqu'un d'autre ;-))
Tetsujin
@Tetsujin Merci! J'essaie de garder ma bibliothèque musicale libre de différentes versions d'un fichier pour différents lecteurs (et pour la voiture, je dois sélectionner manuellement les fichiers musicaux et les copier directement à partir de ma bibliothèque). Si j'empruntais la voie sans perte, je préférerais le FLAC plutôt que l'ALAC. Mais la préférence (pour la taille du fichier et la jouabilité universelle) est d'utiliser AAC (ou MP3).
Peter K.