Wie bekomme ich mit youtube-dl Audio in bester Qualität?

16

Ich verwende youtube-dlunter Linux, um Videos von YouTube herunterzuladen und das Audio zu extrahieren. Auf diese Weise baue ich eine kleine Musiksammlung auf.

Wie auch immer, ich weiß, dass es eine Option gibt, --audio-quality=bei der 0 am besten und 9 am schlechtesten ist. Ist das alles, was ich tun muss, um die beste Audioqualität zu erzielen?

Weiß jemand auch, ob das Herunterladen von Soundcloud eine höhere Qualität erzielen könnte?

user365967
quelle

Antworten:

21

Dies --audio-qualityhat keinen Einfluss auf die Audioqualität der Quelle. Dies ist eine Nachbearbeitungsoption, bei der das Audio neu codiert wird.

Da jede Art von (verlustbehafteter) Neucodierung die Qualität des Streams tatsächlich verschlechtert - oder ihn zumindest unnötig vergrößert -, würde ich empfehlen, das Audio überhaupt nicht nachzubearbeiten.

Um die bestmögliche Audioqualität zu erzielen, müssen Sie lediglich ein Quellformat mit hoher Qualität auswählen. Eigentlich youtube-dlwird das standardmäßig gemacht, aber Sie können es explizit mit einstellen --audio-format best. YouTube (und andere Anbieter) speichern unterschiedliche Audio-Codecs mit unterschiedlichen Bitraten und youtube-dlwählen aus diesen den besten aus.

Wenn Sie ffmpegauf Ihrem System installiert haben , youtube-dlkönnen Sie das Audio automatisch extrahieren:

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

Andernfalls erhalten Sie eine Videodatei, aus der Sie die Audiokomponente extrahieren müssen.

slhck
quelle
Wenn ffmpegnicht neu codiert wird, warum wähle ich dann das Audioformat aus? Wenn ich diese Zeile aber aacstattdessen mit eingebe, erhalte ich nicht dieselbe Datei, sondern eine andere Erweiterung. Ich bekomme eine andere Datei mit etwas anderer Größe und Bitrate.
Blrp
1
Ok, aber das beantwortet meine Frage nicht wirklich. Ich frage speziell nach der Video-Audio-Konvertierung. Wenn es einen Befehl gibt, der das Audio von einem MP4 übernimmt und es als Audiodatei ohne Neucodierung speichert, sollte es nur ein mögliches Ergebnis geben, oder? Und dennoch liefert der Befehl ffmpeg in Ihrem Beitrag ein anderes Ergebnis, je nachdem, welche Erweiterung ich für das Audio auswähle. Gibt es also immer eine richtige Audioerweiterung, abhängig von der Videoerweiterung, für die ich das Audio ohne Neucodierung erhalte? Oder wie mache ich das sonst?
Blrp
1
Ich sehe jetzt. Zuerst habe ich meine Antwort klargestellt - sie war etwas komplexer als nötig. Vielleicht ist diese Antwort auch interessant zu lesen. Selbst wenn der Audio-Codec-Bitstrom nicht berührt (dh kopiert) wird, bestimmt die Erweiterung, wie er in ein Format eingeschlossen wird. Hier gibt es keine 1: 1-Zuordnung. Einige Formate benötigen mehr Speicherplatz als andere. Sie können ffmpeg -i in.mp4 -c:a copy -vn out.m4aeine andere Datei als verwenden und erhalten ffmpeg -i in.mp4 -c:a copy -vn out.mkv, obwohl beide genau dieselben Audiodaten enthalten (und daher dieselbe Audioqualität haben).
Slhck
1
Ich bin sicher, dass es nicht neu codiert wird. Es hat keine Fähigkeit dazu. Der Grund, warum Sie die gleichen Bitraten erhalten, ist, dass YouTube im Gegensatz zu den Videodarstellungen nur sehr begrenzte Unterschiede bei den verwendeten Audio-Bitraten / Codecs aufweist. Vielleicht ist YouTube etwas unberechenbar, wenn es Video- und Audio-Bitraten zuweist, und Sie sehen möglicherweise eine höhere Audio-Bitrate für eine niedrigere Videoqualität - in diesem Fall youtube-dlwählt ich immer noch das Videoformat mit der höchsten Qualität. Haben Sie ein bestimmtes Videobeispiel?
Slhck
1
Scheint mir in Ordnung zu sein. Wenn Sie beispielsweise die zweite -xOption als Option verwenden, wird die Nur-Audio-Variante mit der höchsten Bitrate heruntergeladen (256 KB, Formatcode 141, Auschecken mit youtube-dl -F <url>). Alle anderen Audiokomponenten der anderen audiovisuellen Darstellungen weisen niedrigere Bitraten auf.
Slhck
5

Bleiben Sie bei den nativen Musikformaten von Youtube, um eine Neucodierung zu vermeiden:

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

was zu einer m4aDatei oder

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

Letzteres kann auch zu einer oggDatei führen, wenn das Format mit der höchsten Audioqualität OPUS und nicht AAC ist.

Sie können das verfügbare Format mit auflisten

youtube-dl -F <Video-URL>
Frank Breitling
quelle
Was ist der Unterschied zwischen bestaudio[ext=m4a]und --extract-audio? Warum sollte Letzteres wahrscheinlich zu einem führen, oggaber nicht zu Ersterem?
Hashim
[ext=m4a]beschränkt Ihre Auswahl auf die verfügbaren m4a-Formate und --extract-audiospeichert sie nicht im selben m4a-Containerformat. Mit --extract-audioAudio werden Daten extrahiert und in einem Eiercontainer gespeichert.
Frank Breitling
Es tut uns leid, dass dies zu spät ist, aber das erklärt nicht wirklich, warum letzteres .oggspeziell zu einer Datei führen würde. Warum, .oggwenn .oggnicht angegeben?
Hashim
Ich verstehe, dass die beste verfügbare Audioqualität im OPUS-Format und nicht im AAC-Format vorliegt und dann in einem Ogg-Container gespeichert wird. Ich habe meine Antwort entsprechend aktualisiert.
Frank Breitling
2

Verwenden Sie den Befehl:

youtube-dl -f bestaudio "url"
user598527
quelle