Comment obtenir la meilleure qualité audio avec YouTube-DL?

16

J'utilise youtube-dlsous Linux pour télécharger des vidéos de YouTube et extraire l'audio. C'est ma façon de construire une petite collection de musique.

Quoi qu'il en soit, je sais qu'il existe une option --audio-quality=avec 0 étant le meilleur et 9 étant le pire. Est-ce tout ce que je dois faire pour obtenir la meilleure qualité audio?

De plus, quelqu'un sait-il si le téléchargement à partir de soundcloud pourrait obtenir une meilleure qualité?

user365967
la source

Réponses:

21

Le --audio-qualityn'affecte pas la qualité audio de la source. C'est une option de post-traitement et ré-encodera l'audio.

Étant donné que tout type de réencodage (avec perte) détériorera la qualité du flux - ou du moins le rendra inutilement plus grand - je recommanderais de ne pas post-traiter l'audio du tout.

Pour obtenir la meilleure qualité audio possible, il vous suffit de sélectionner un format source de haute qualité. En fait, le youtube-dlfera par défaut, mais vous pouvez le définir explicitement avec --audio-format best. YouTube (et d'autres fournisseurs) stockent différents codecs audio avec différents débits binaires et youtube-dlchoisissent le meilleur parmi ceux-ci.

Si vous avez ffmpeginstallé sur votre système, vous youtube-dlpouvez extraire automatiquement l'audio:

youtube-dl --audio-format best -x <url>

Sinon, vous obtiendrez un fichier vidéo à partir duquel vous devrez extraire le composant audio.

slhck
la source
Si ffmpegne réencode pas, pourquoi est-ce que je sélectionne le format audio? Si j'entre cette ligne mais avec à la aacplace, je n'obtiens pas le même fichier mais avec une extension différente. J'obtiens un fichier différent avec une taille et un débit binaires légèrement différents.
Blrp
1
D'accord, mais cela ne répond pas vraiment à ma question. Je pose des questions spécifiques sur la conversion vidéo en audio. S'il existe une commande qui prend l'audio d'un MP4 et l'enregistre en tant que fichier audio sans réencodage, il ne devrait y avoir qu'un seul résultat possible, non? Et pourtant, la commande ffmpeg dans votre article donne un résultat différent selon l'extension que je sélectionne pour l'audio. Existe-t-il toujours une extension audio correcte, en fonction de l'extension vidéo, pour laquelle j'obtiens l'audio sans réencodage? Ou comment faire autrement?
Blrp
1
Je vois maintenant. Tout d'abord, j'ai clarifié ma réponse - c'était un peu plus complexe que nécessaire. De plus, cette réponse est peut - être intéressante à lire. Même si le flux binaire du codec audio n'est pas touché (c'est-à-dire copié), l'extension détermine comment il est encapsulé dans un format. Il n'y a pas de mappage 1: 1 ici. Certains formats nécessitent plus d'espace que d'autres. Vous pouvez utiliser ffmpeg -i in.mp4 -c:a copy -vn out.m4aet vous retrouver avec un fichier différent de ffmpeg -i in.mp4 -c:a copy -vn out.mkv, bien que les deux contiennent exactement les mêmes données audio (et ont donc la même qualité audio).
slhck
1
Je suis certain qu'il ne se réencode pas. Il n'a aucune capacité de le faire. La raison pour laquelle vous obtenez les mêmes débits est que YouTube a une variation très limitée dans les débits / codecs audio qu'ils utilisent, contrairement aux représentations vidéo. Peut-être que YouTube est un peu erratique lorsqu'il attribue des débits vidéo et audio, et vous pouvez voir un débit binaire audio plus élevé pour une qualité vidéo inférieure - dans ce cas, je pense youtube-dlqu'il sélectionne toujours le format vidéo de la plus haute qualité. Avez-vous un exemple vidéo spécifique?
slhck
1
Ça me semble bien. Par exemple, dans le second, lorsque vous utilisez -xen option, il télécharge la variante audio uniquement avec le débit binaire le plus élevé (256k, code de format 141, consultez avec youtube-dl -F <url>). Tous les autres composants audio des autres représentations audiovisuelles ont des débits binaires inférieurs.
slhck
5

Restez avec les formats de musique natifs de Youtube pour éviter le ré-encodage:

youtube-dl -f bestaudio[ext=m4a] --embed-thumbnail --add-metadata <Video-URL>

résultant dans un m4afichier ou

youtube-dl -f bestaudio --extract-audio --embed-thumbnail --add-metadata <Video-URL>

Ce dernier peut également résulter dans un oggfichier si le format de qualité audio le plus élevé est OPUS plutôt que AAC.

Vous pouvez lister le format disponible avec

youtube-dl -F <Video-URL>
Frank Breitling
la source
Quelle est la différence entre bestaudio[ext=m4a]et --extract-audio? Pourquoi ce dernier entraînerait-il probablement un oggmais pas le premier?
Hashim
[ext=m4a]contraint votre sélection aux formats m4a disponibles et sans la --extract-audiostocker dans le même format de conteneur m4a. Avec --extract-audioles données audio sont extraites et stockées dans un conteneur ogg.
Frank Breitling
Désolé, il est tard, mais cela n'explique pas vraiment pourquoi ce dernier entraînerait un .oggfichier spécifique. Pourquoi .oggquand .oggn'a pas été spécifié?
Hashim
Ma compréhension est que la meilleure qualité audio disponible est au format OPUS plutôt qu'à AAC, puis elle est enregistrée dans un conteneur ogg. J'ai mis à jour ma réponse en conséquence.
Frank Breitling
2

Utilisez la commande:

youtube-dl -f bestaudio "url"
user598527
la source