it-swarm.com.de

Herunterladen von YouTube-Videos als Audio-MP3 in bester Qualität mit youtube-dl

Ich möchte YouTube-Videos als MP3-Dateien in bester Qualität herunterladen. Der folgende Code hilft beim Herunterladen von YouTube-Videos als m4a, aber nicht als mp3

youtube-dl -f bestaudio --audio-quality 0 --audio-format mp3 https://www.youtube.com/playlist?list=PLYRruMbyFRcBVdVN8v4FNkIKkXvL-bZn_

kannst du mir sagen, wie ich den Parameter bestaudio verwende, um das YouTube-Video als mp3 herunterzuladen?

53
Eka

Aus man youtube-dl:

-x, --extract-audio                  Convert video files to audio-only files (requires ffmpeg or avconv and ffprobe or avprobe)
    --audio-format FORMAT            Specify audio format: "best", "aac", "vorbis", "mp3", "m4a", "opus", or "wav"; "best" by default
    --audio-quality QUALITY          Specify ffmpeg/avconv audio quality, insert a value between 0 (better) and 9 (worse) for VBR or a specific bitrate like 128K (default

Ihr Befehl könnte also sein:

youtube-dl -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 <Video-URL>

Der --audio-quality 0 verwendet die höchste Codierungsqualität, kann jedoch die Dateigröße unnötig erhöhen. Die Standardeinstellung ist 5 und ist abhängig von der Qualität der Quelle möglicherweise die bessere Wahl.

Wenn Sie also Wert auf Qualität und Dateigröße legen, sollten Sie die Neukodierung vermeiden und bei den nativen Musikformaten von Youtube bleiben:

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

was zu einer m4a Datei oder

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

wahrscheinlich resultierend in einer ogg Datei.

Sie können das verfügbare Format mit auflisten

youtube-dl -F <Video-URL>
74
Maythux

Wenn Sie nur die MP3-Datei wollen:

youtube-dl -f bestaudio  "https://www.youtube.com/playlist?list=PLYRruMbyFRcBVdVN8v4FNkIKkXvL-bZn_" --exec "ffmpeg -i {}  -codec:a libmp3lame -qscale:a 0 {}.mp3 && rm {} "

Wenn Sie die Originaldatei nicht entfernen möchten:

youtube-dl -f bestaudio  "https://www.youtube.com/playlist?list=PLYRruMbyFRcBVdVN8v4FNkIKkXvL-bZn_" --exec "ffmpeg -i {}  -codec:a libmp3lame -qscale:a 0 {}.mp3 "
9
Luis Gneiting

Ich empfehle die Verwendung von Pafy (Python), ein sehr einfach zu erhaltender Audio-Link, und Sie können ihn direkt herunterladen, wenn Sie möchten:

#python3
import pafy
video = pafy.new('video id or video url')
bestaudio = video.getbestaudio()
bestaudio.bitrate #get bit rate
bestaudio.extension #extension of audio fileurl
...
bestaudio.url #get url
...
#download if you want
bestaudio.download()
8
Khang .NT

Es lohnt sich auch, andere Stücke aus man youtube-dl zu erwähnen (eine Online-Kopie finden Sie hier ):

(Für diejenigen, die an TL; DR denken, lesen Sie einfach den 4. Absatz und Sie können youtube-dl -x URL verwenden, da es sowieso die beste Qualität herunterladen sollte :)

Auch youtube-dl -f bestaudio URL funktioniert nach meiner Erfahrung! Mit diesen beiden Optionen müssen Sie jedoch meistens mit ffmpeg oder einem ähnlichen Befehl in MP3 konvertieren. Da Sie die Datei bereits bearbeiten, können Sie auch taggen (den alten verwenden ID3-Version für die meisten Gerätekompatibilität!).

FORMAT AUSWAHL

Standardmäßig versucht youtube-dl, die beste Qualität herunterzuladen, aber manchmal möchten Sie vielleicht ein anderes Format herunterladen. Im einfachsten Fall wird ein bestimmtes Format angefordert, beispielsweise -f 22. Sie können die Liste der verfügbaren Formate mit --list-formats abrufen. Sie können auch eine Dateierweiterung verwenden (derzeit werden aac, m4a, mp3, mp4, ogg, wav, webm unterstützt) oder die speziellen Namen best, bestvideo, bestaudio und am schlimmsten.

Wenn Sie mehrere Videos herunterladen möchten, für die nicht dieselben Formate verfügbar sind, können Sie die Reihenfolge der Einstellungen mithilfe von Schrägstrichen wie in-f 22/17/18 angeben. Sie können die Videoergebnisse auch filtern, indem Sie eine Bedingung in Klammern setzen, wie in -f "best[height=720]" (oder -f "[filesize>10M]"). Dies funktioniert für Dateigröße, Höhe, Breite, tbr, abr, vbr, asr und fps sowie für die Vergleiche <, <=,>,> =, =,! = Und für ext, codec, vcodec, container und protocol und Vergleiche =,! =. Formate, für die der Wert nicht bekannt ist, werden ausgeschlossen, es sei denn, Sie setzen nach dem Operator ein Fragezeichen (?). Sie können Formatfilter kombinieren, sodass -f "[height <=? 720][tbr>500]" bis zu 720p-Videos (oder Videos, deren Höhe nicht bekannt ist) mit einer Bitrate von mindestens 500 KBit/s auswählt.

Verwenden Sie Kommas, um mehrere Formate herunterzuladen, z. B. -f 136/137/mp4/bestvideo,140/m4a/bestaudio.. Mit -f <video-format>+<audio-format> (erfordert ffmpeg oder avconv) können Sie Video und Audio zweier Formate in einer einzigen Datei zusammenführen, z. B. -f bestvideo+bestaudio..

Seit Ende April 2015 und Version 2015.04.26 verwendet youtube-dl -f bestvideo+bestaudio/best als Standardformatauswahl (siehe # 5447, # 5456). Wenn ffmpeg oder avconv installiert sind, werden bestvideo und bestaudio separat heruntergeladen und zu einer einzigen Datei zusammengefügt, um die bestmögliche Gesamtqualität zu erzielen. Andernfalls wird auf die beste Qualität zurückgegriffen und die beste verfügbare Qualität wird als einzelne Datei heruntergeladen. Das Beste wird auch für Videos benötigt, die nicht von YouTube stammen, da sie Audio und Video nicht in zwei verschiedenen Dateien bereitstellen. Wenn Sie nur einige Bindestrichformate herunterladen möchten (z. B. wenn Sie keine Videos mit einer höheren Auflösung als 1080p erhalten möchten), können Sie Ihrer Konfigurationsdatei -f bestvideo[height<=?1080]+bestaudio/best hinzufügen. Beachten Sie, dass youtube-dl weiterhin das Format -o - verwendet, wenn Sie youtube-dl zum Streamen auf stdout verwenden (und es höchstwahrscheinlich an Ihren Media Player weiterleiten), dh wenn Sie die Ausgabevorlage explizit als -f best angeben Auswahl, um die Inhaltsübertragung sofort auf Ihren Player zu starten und nicht zu warten, bis bestvideo und bestaudio heruntergeladen und gemuxt wurden.

Wenn Sie das alte Formatauswahlverhalten (vor youtube-dl 2015.04.26) beibehalten möchten, d. H. Medien mit der besten verfügbaren Qualität, die als einzelne Datei bereitgestellt werden, herunterladen möchten, müssen Sie Ihre Auswahl mit -f best explizit angeben. Sie können es der Konfigurationsdatei (#configuration) hinzufügen, um es nicht jedes Mal einzugeben, wenn Sie youtube-dl starten.

...

Können Sie bitte die Option -b zurücksetzen?

Die meisten Leute, die diese Frage stellen, sind sich nicht bewusst, dass youtube-dl standardmäßig die höchste verfügbare Qualität von YouTube herunterlädt, die in einigen Fällen bei 1080p oder 720p liegt. Daher benötigen Sie die Option -b nicht mehr. Bei bestimmten Videos meldet YouTube möglicherweise nicht, dass sie in einem bestimmten, hochqualitativen Format verfügbar sind, an dem Sie interessiert sind. In diesem Fall fordern Sie sie einfach mit der Option -f an, und youtube-dl versucht, sie herunterzuladen .

Youtube (wahrscheinlich, wie es angenommen wird, um ein Video abzuspielen) komprimiert anscheinend auch das Audio (siehe hier ) nach unten 120 ~ KBs, was ziemlich niedrig ist, aber größtenteils in Ordnung zu sein scheint.

Um heruntergeladene Videos zu vergleichen, können Sie die heruntergeladenen Video-/Audiospuren abfragen (möglicherweise müssen Sie avprobe anstelle von ffprobe verwenden), um zu ermitteln, welche am besten geeignet ist:

$ ffprobe -hide_banner output-output-loads-of-options.webm
Input #0, matroska,webm, from 'output-output-loads-of-options.webm':
  Metadata:
    encoder         : google
  Duration: 00:04:02.63, start: 0.000000, bitrate: 118 kb/s
    Stream #0:0(eng): Audio: vorbis, 44100 Hz, stereo, fltp (default)
$ ffprobe -hide_banner output_with_just_-x.ogg 

Input #0, ogg, from 'output_with_just_-x':
  Duration: 00:04:02.65, start: 0.000000, bitrate: 117 kb/s
    Stream #0:0(eng): Audio: vorbis, 44100 Hz, stereo, fltp, 128 kb/s
    Metadata:
      LANGUAGE        : eng
      ENCODER         : Lavf56.4.101
5
Wilf