Ich habe youtube-dl in meinem 14.04 installiert.
Ich kann Videos mit folgendem Befehl herunterladen:
$ youtube-dl [youtube-link]
Aber ich möchte wissen wie man die verfügbare Pixelqualität von YouTube-Videos auswählt ( d. H. 1080p, 720p, 480p usw. .
In der Softwarebeschreibung hieß es, es sei möglich (siehe Bild unten), aber wie geht das?.
Um ein Video herunterzuladen, geben Sie die URL nach dem Befehl wie folgt ein:
youtube-dl 'http://www.youtube.com/watch?v=P9pzm5b6FFY'
Um die Videoqualität auszuwählen, verwenden Sie zuerst die Option -F
, um die verfügbaren Formate aufzulisten. Hier ein Beispiel:
youtube-dl -F 'http://www.youtube.com/watch?v=P9pzm5b6FFY'
Hier ist die Ausgabe:
[youtube] Setting language
[youtube] P9pzm5b6FFY: Downloading webpage
[youtube] P9pzm5b6FFY: Downloading video info webpage
[youtube] P9pzm5b6FFY: Extracting video information
[info] Available formats for P9pzm5b6FFY:
format code extension resolution note
140 m4a audio only DASH audio , [email protected] (worst)
160 mp4 144p DASH video , video only
133 mp4 240p DASH video , video only
134 mp4 360p DASH video , video only
135 mp4 480p DASH video , video only
136 mp4 720p DASH video , video only
17 3gp 176x144
36 3gp 320x240
5 flv 400x240
43 webm 640x360
18 mp4 640x360
22 mp4 1280x720 (best)
Die beste Qualität ist 22 . Verwenden Sie also -f 22
anstelle von -F
, um das MP4-Video mit einer Auflösung von 1280 x 720 wie folgt herunterzuladen:
youtube-dl -f 22 'http://www.youtube.com/watch?v=P9pzm5b6FFY'
Oder verwenden Sie optional die folgenden Flags, um automatisch die besten Audio- und Videotracks herunterzuladen, die als einzelne Datei verfügbar sind:
youtube-dl -f best 'http://www.youtube.com/watch?v=P9pzm5b6FFY'
Wenn beim Muxen ein Fehler auftritt oder ein Problem mit der Auswahl der Videoqualität auftritt, können Sie einen der folgenden Befehle verwenden:
youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio' --merge-output-format mp4 'http://www.youtube.com/watch?v=P9pzm5b6FFY'
oder wie Gabriel Staples hervorgehoben hier , wählt der folgende Befehl in der Regel die aktuell beste Auflösung für die Videoqualität für eine einzelne Datei anstelle der Bitrate für die Videoqualität aus:
youtube-dl -f best 'http://www.youtube.com/watch?v=P9pzm5b6FFY'
Mit diesen Befehlen stellen Sie sicher, dass Sie das MP3-Video und das M4A-Audio in höchster Qualität als einzelne Datei aus dem Video herunterladen oder sie wieder zu einer einzelnen MP3-Datei zusammenführen (in meinem Fall mit ffmpeg
). Wenn ffmpeg
oder avconv
nicht verfügbar ist, sollte youtube-dl
statt auf die Standarddatei -f best option
zurückgreifen.
Klicken Sie hier für detailliertere Informationen und einige andere Beispiele.
Klicken Sie hier, um die Antwort von Gabriel Staples zu sehen.
Quelle: www.webupd8.org/2014/02/video-downloader-youtube-dl-gets.html
Quelle: github.com/rg3/youtube-dl
Sie können 1080p mit youtube-dl
herunterladen, aber Sie müssen ein wenig zusätzliche Arbeit leisten. Normalerweise wird nur 720p als Maximum heruntergeladen, auch wenn Sie 1080p auf youtube.com sehen können.
Führen Sie mit -F
aus, um die verfügbaren Formate anzuzeigen:
youtube-dl -F https://www.youtube.com/watch\?v\=-pxRXP3w-sQ
171 webm audio only DASH audio 115k , [email protected] (44100Hz), 2.59MiB (worst)
140 m4a audio only DASH audio 129k , [email protected] (44100Hz), 3.02MiB
141 m4a audio only DASH audio 255k , [email protected] (44100Hz), 5.99MiB
160 mp4 256x144 DASH video 111k , 12fps, video only, 2.56MiB
247 webm 1280x720 DASH video 1807k , 1fps, video only, 23.48MiB
136 mp4 1280x720 DASH video 2236k , 24fps, video only, 27.73MiB
248 webm 1920x1080 DASH video 3993k , 1fps, video only, 42.04MiB
137 mp4 1920x1080 DASH video 4141k , 24fps, video only, 60.28MiB
43 webm 640x360
18 mp4 640x360
22 mp4 1280x720 (best)
beachten Sie, dass youtube-dl
die letzte Option 1280x720 als die 'beste' Qualität bezeichnet hat und diese standardmäßig heruntergeladen wird, aber dass die Zeile, die mit 137 beginnt, tatsächlich eine höhere Qualität von 1920x1080 hat. Youtube hat die Video- und Audiostreams für die mit DASH gekennzeichneten Zeilen getrennt, sodass wir auch die Audioqualität auswählen müssen, die in diesem Fall mit 141 beginnt. Dann führen wir youtube-dl
erneut aus und spezifizieren diesmal Audio und Video :
youtube-dl -f 137+141 https://www.youtube.com/watch\?v\=-pxRXP3w-sQ
das 1080p-Video wird heruntergeladen und automatisch mit Audio in höchster Qualität zusammengeführt. Es sollte auch die separaten heruntergeladenen Teile automatisch löschen. Diese Methode ist ein wenig mehr Arbeit, bringt aber die besten Ergebnisse.
Um bestimmte Auflösungen auszuwählen, können Sie die Größe und die Audioqualität so festlegen, dass sie automatisch ausgewählt werden - also für 480p :
-f 'bestvideo[height<=480]+bestaudio/best[height<=480]'
mit bestvideo[height<=720]+bestaudio/best[height<=720]
für 720p usw. Dies kann zur Konfigurationsdatei unter ~/.config/youtube-dl/config
(oder sogar /etc/youtube-dl.conf
) hinzugefügt werden, damit Sie keine übergroßen Downloads erhalten:
mkdir ~/.config/youtube-dl
echo "-f 'bestvideo[height<=720]+bestaudio/best[height<=720]'" >> ~/.config/youtube-dl/config
Sie können --ignore-config
verwenden, um die Konfigurationsdatei für einen bestimmten youtube-dl-Lauf zu deaktivieren.
Bitte beachten Sie, dass es ziemlich oft erforderlich ist, separate Video- und Audio-Steams herunterzuladen und diese zusammenzuführen.
Weitere Beispiele finden Sie unter youtube-dl
's Doucmentation .
Einige der anderen Optionen zum Herunterladen der Videos mit der besten Qualität, die hier nicht aufgeführt sind, hängen von Ihrem Komfort ab:
$ youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best'
$ youtube-dl -f 'bestvideo[height<=480]+bestaudio/best[height<=480]'
$ youtube-dl -f 'best[filesize<50M]'
$ youtube-dl -f '(bestvideo+bestaudio/best)[protocol^=http]'
Referenz:
Direkt von youtube-dl github Seite
Ein Bash-Wrapper-Skript, das zur Eingabe des Formats auffordert, das alle verfügbaren Wiedergaben enthält, einschließlich Nur-Audio- und Nur-Video-Wiedergabe, und dann das Video/Audio mit mpv
streamt.
Akzeptiert sowohl absolute YouTube-URLs als auch Video-IDs.
#!/ usr/bin/env bash
# Download youtube video with desired quality
# youtube-dl accepts both fully qualified URLs and video id's such as AQcQgfvfF1M
url="$*"
echo "Fetching available formats for $url..."
youtube-dl -F "$url"
read -p "Please enter the desired quality code: " FORMAT
echo "Streaming with quality $FORMAT..."
mpv --cache=1024 $(youtube-dl -f $FORMAT -g "$url")
Beispielausgabe :
yt.sh https://m.youtube.com/watch?v=Dax_tnZRExc
[youtube] Dax_tnZRExc: Downloading webpage
[youtube] Dax_tnZRExc: Downloading video info webpage
[youtube] Dax_tnZRExc: Extracting video information
[youtube] Dax_tnZRExc: Downloading MPD manifest
[info] Available formats for Dax_tnZRExc:
format code extension resolution note
139 m4a audio only DASH audio 49k , m4a_dash container, [email protected] 48k (22050Hz), 308.75KiB
249 webm audio only DASH audio 50k , opus @ 50k, 271.91KiB
250 webm audio only DASH audio 70k , opus @ 70k, 366.63KiB
171 webm audio only DASH audio 118k , [email protected], 652.50KiB
140 m4a audio only DASH audio 127k , m4a_dash container, [email protected] (44100Hz), 820.00KiB
251 webm audio only DASH audio 130k , opus @160k, 705.84KiB
160 mp4 256x144 DASH video 109k , avc1.4d400c, 13fps, video only, 703.64KiB
278 webm 256x144 144p 111k , webm container, vp9, 25fps, video only, 439.72KiB
242 webm 426x240 240p 243k , vp9, 25fps, video only, 623.95KiB
133 mp4 426x240 DASH video 252k , avc1.4d4015, 25fps, video only, 1.54MiB
134 mp4 640x360 DASH video 388k , avc1.4d401e, 25fps, video only, 1.24MiB
243 webm 640x360 360p 458k , vp9, 25fps, video only, 1.19MiB
135 mp4 854x480 DASH video 761k , avc1.4d401e, 25fps, video only, 2.40MiB
244 webm 854x480 480p 893k , vp9, 25fps, video only, 2.00MiB
136 mp4 1280x720 DASH video 1382k , avc1.4d401f, 25fps, video only, 4.56MiB
247 webm 1280x720 720p 1754k , vp9, 25fps, video only, 3.94MiB
137 mp4 1920x1080 DASH video 2350k , avc1.640028, 25fps, video only, 8.48MiB
248 webm 1920x1080 1080p 2792k , vp9, 25fps, video only, 8.09MiB
17 3gp 176x144 small , mp4v.20.3, [email protected] 24k
36 3gp 320x180 small , mp4v.20.3, mp4a.40.2
43 webm 640x360 medium , vp8.0, [email protected]
18 mp4 640x360 medium , avc1.42001E, [email protected] 96k
22 mp4 1280x720 hd720 , avc1.64001F, [email protected] (best)
Please enter the desired format #
Wenn Sie das Video herunterladen möchten, anstatt es zu streamen, entfernen Sie einfach den Teil
mpv --cache=1024
und das Dollarzeichen in Klammern.
Diese Antwort hier mit den meisten Stimmen sollte richtig sein, um Ihnen die beste verfügbare Videoqualität zu bieten, aber ... ist es nicht. bestvideo+bestaudio
scheint nur das beste Video und das beste Audio der Optionen auszuwählen, bei denen es sich nur um Video und handelt. Nur Audio , dann werden beide zusammengeführt. Beachten Sie, dass dies auch mit dem Standardverhalten von youtube-dl identisch zu sein scheint. Bei dem Video, das ich mir angesehen habe, war die beste Qualität eine einzelne, vorab zusammengeführte Datei, die bereits in einem Format mit kombiniertem Video und Audio vorliegt. Mit der Option bestvideo+bestaudio
wurde diese 720p-Datei mit der besten Qualität NICHT ausgewählt, da nur nach separaten Video- und Audiodateien gesucht wurde. Details unten.
Lösung? Lassen Sie es die beste einzelne Datei nehmen, die stattdessen sowohl Video als auch Audio in einer enthält.
youtube-dl -f best https://youtu.be/FWGC9SqA3J0
Kurz gesagt: Verwenden Sie die Option -f best
, NICHT die Option -f bestvideo+bestaudio
!
Genauer gesagt, siehe unten für die Ergebnisse des Laufens
youtube-dl -F https://youtu.be/FWGC9SqA3J0
um zu sehen, welches Video 'F'ormats zum Download zur Verfügung steht:
gabriel ~ $ youtube-dl -F https://youtu.be/FWGC9SqA3J0
[youtube] FWGC9SqA3J0: Downloading webpage
[youtube] FWGC9SqA3J0: Downloading video info webpage
[youtube] FWGC9SqA3J0: Downloading MPD manifest
[youtube] FWGC9SqA3J0: Downloading MPD manifest
[info] Available formats for FWGC9SqA3J0:
format code extension resolution note
139 m4a audio only DASH audio 50k , m4a_dash container, [email protected] 48k (22050Hz), 2.30MiB
249 webm audio only DASH audio 51k , opus @ 50k, 2.34MiB
250 webm audio only DASH audio 62k , opus @ 70k, 2.85MiB
171 webm audio only DASH audio 103k , [email protected], 4.68MiB
251 webm audio only DASH audio 109k , opus @160k, 5.10MiB
140 m4a audio only DASH audio 130k , m4a_dash container, [email protected] (44100Hz), 6.13MiB
160 mp4 256x138 DASH video 108k , mp4_dash container, avc1.4d400b, 24fps, video only
134 mp4 640x348 DASH video 142k , mp4_dash container, avc1.4d401e, 24fps, video only, 3.42MiB
133 mp4 426x232 DASH video 242k , mp4_dash container, avc1.4d400c, 24fps, video only
136 mp4 1280x694 DASH video 473k , mp4_dash container, avc1.4d401f, 24fps, video only, 8.01MiB
135 mp4 854x464 DASH video 1155k , mp4_dash container, avc1.4d4014, 24fps, video only
17 3gp 176x144 small , mp4v.20.3, [email protected] 24k, 1.63MiB
36 3gp 320x174 small , mp4v.20.3, mp4a.40.2, 2.98MiB
43 webm 640x360 medium , vp8.0, [email protected], 7.44MiB
18 mp4 640x348 medium , avc1.42001E, [email protected] 96k, 8.54MiB
22 mp4 1280x694 hd720 , avc1.64001F, [email protected] (best)
Beachten Sie, dass in Zeile 22 ganz rechts "(am besten)" steht. Dies ist die einzige Option, die HD720-Qualität bietet. Dies ist die beste Qualität, die ich erzielen kann, wenn ich dieses Video in einem Webbrowser auf YouTube ansehe. Es ist das klarste und hat die beste Definition. Wenn ich einen der in der oberen Antwort empfohlenen Befehle verwende:
youtube-dl -f bestvideo+bestaudio https://youtu.be/FWGC9SqA3J0
ODER:
youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio' --merge-output-format mp4 https://youtu.be/FWGC9SqA3J0
Am Ende habe ich ein Video mit geringerer Qualität/geringerer Auflösung und mit größerer Dateigröße. Ich verstehe es nicht genau, aber die Option -f best
ist definitiv die einzige, die mir wirklich die beste Auflösung gibt.
Hier sind einige Screenshots:
Verwenden Sie die Option mit niedrigerer Qualität -f bestvideo+bestaudio
, die hier als richtige Antwort akzeptiert wird (ODER verwenden Sie einfach die Standardoption: youtube-dl https://youtu.be/FWGC9SqA3J0
):
-f best
Option unten, die nur einen Download und keine Neukombination durchführen musste, da es sich bereits um eine Datei handelte.Mit der höheren Qualität -f best
Option, die ich empfehle:
Siehe man youtube-dl
für Details.
Ich bin ein Festplattenschoner und lade daher Videos im Format 1280 x 720
herunter.
weil _4k
_ Videos mehr Platz auf meiner Festplatte beanspruchen.
Also füge ich _youtube-dl
_ in die Datei ~ /.bashrc ein, wie unten angegeben
Arbeit einstellen -
Terminal öffnen und eingeben
nano ~/.bashrc
_alias yt='youtube-dl -if best'
_source ~/.bashrc
_ im TerminalExperiment -
Terminal öffnen und eingeben
_yt https://www.youtube.com/watch?v=puPUJlV1-W4
_
Es wird mit dem Herunterladen von Videos in bester Qualität begonnen.
Erklärung -
Mit Bash können wir Aliase definieren, die wie Verknüpfungen zu Bash-Befehlen funktionieren
In unserem Fall definieren wir Alias als -
alias yt= 'youtube-dl - i f best'
Dabei ist yt der Kurzbefehl für 'youtube-dl', der Erleichterung verschafft
unsere Finger, um lange Befehle einzugeben.
An die Stelle von yt können Sie alles schreiben.
Ich setze ein Flag - i in _youtube-dl -if best
_
was bedeutet
Bei Download-Fehlern wird der Vorgang fortgesetzt, z. B. um nicht verfügbare Videos in einer Wiedergabeliste zu überspringen