Wie wählt man die Videoqualität von youtube-dl aus?

255

Ich habe youtube-dl in meinem 14.04 installiert.

Ich kann Videos mit folgendem Befehl herunterladen:

$ youtube-dl [youtube-link]

Ich möchte jedoch wissen, wie die verfügbare Pixelqualität von YouTube-Videos (z. B. 1080p, 720p, 480p usw. ) ausgewählt wird .

In der Softwarebeschreibung hieß es, es sei möglich (siehe Bild unten), aber wie geht das?

ss

AJ
quelle
1
Die obige Beschreibung ist veraltet. Von der manSeite: "youtube-dl lädt jetzt standardmäßig die höchste verfügbare Qualität herunter, wie von YouTube gemeldet, die in einigen Fällen 1080p oder 720p sein wird."
Jos
1
Beachten Sie, dass YouTube einen Schutz verwendet hat, der verhindert, dass Download-Tools die 1080p-Version herunterladen (oder sogar anzeigen). Sie können jedoch alle anderen Auflösungen bis einschließlich 720p herunterladen.
Thomasrutter
Ich weiß, dass ich ein bisschen zu spät zur Party komme, aber hier ist meine Erfahrung: askubuntu.com/a/1097056/327339 . Verwenden Sie die -f bestOption.
Gabriel Staples

Antworten:

360

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 -FOption, um die verfügbaren Formate aufzulisten. Hier ist 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 , audio@128k (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, also verwenden Sie diese -f 22Option -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 als Gabriel Staples wies darauf hin , hier wird der folgende Befehl wählt normalerweise die tatsächliche beste einzelne Datei Videoqualität Auflösung statt Videoqualität Bitrate:

youtube-dl -f best 'http://www.youtube.com/watch?v=P9pzm5b6FFY'

Mit diesen Befehlen können Sie sicherstellen, dass Sie das MP3-Video und das M4A-Audio in höchster Qualität als einzelne Datei aus dem Video herunterladen oder zu einer einzelnen MP3-Datei zusammenführen ( ffmpegin meinem Fall). Wenn ffmpegoder avconvnicht verfügbar ist, youtube-dlsollte auf die einzelne Datei -f best optionanstelle der Standarddatei zurückgegriffen werden.

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

mchid
quelle
5
Stellen Sie sicher, dass Sie nicht wählen DASH. Das wird nicht spielbar sein!
ps95
@ prakharsingh95 Das DASH-Audio kann nur mit Gnac oder einer ähnlichen Software in das Standard-Wave- oder MP3-Format konvertiert werden.
Mittwoch,
1
Ich meinte DASH Video. Ich habe versucht, herunterzuladen 4K, aber das ist alles im DASHFormat ( DASHermöglicht es YouTube, Bandbreite zu sparen). Es ist radikal anders, es wird meistens nicht spielbar sein.
ps95
1
@ prakharsingh95 Ja, wenn irgendetwas in der Lage ist, die mp4 mit VLC anzusehen, können Sie das Video mit einer separaten Datei für Audio synchronisieren. Ich habe es aber nicht ausprobiert. Haben Sie versucht, die mp4-Datei vom DASH-Download in das AVI-Format zu konvertieren? Ich denke, sie sind ähnlich.
Mittwoch,
2
Ja. Dash ist natürlich spielbar, aber Sie müssen die Streams mit so etwas wie muxen avconv. Zu langsam für 4K.
ps95
110

Sie können 1080p mit herunterladen youtube-dl, 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.

Mit ausführen -F, um verfügbare Formate anzuzeigen:

youtube-dl -F https://www.youtube.com/watch\?v\=-pxRXP3w-sQ

171         webm      audio only  DASH audio  115k , audio@128k (44100Hz), 2.59MiB (worst)
140         m4a       audio only  DASH audio  129k , audio@128k (44100Hz), 3.02MiB
141         m4a       audio only  DASH audio  255k , audio@256k (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-dldie letzte Option 1280x720 als "beste" Qualität eingestuft wurde und diese standardmäßig heruntergeladen wird. Die Zeile, die mit 137 beginnt, weist jedoch eine höhere Qualität von 1920x1080 auf. 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-dldiesmal die folgenden Schritte aus und geben Audio und Video an:

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.

Ryan Horrisberger
quelle
11
Vielen Dank, wusste nicht über 137 + 141
Whitesiroi
3
Ihr Beispiel und andere stellen eine einfache Auswahl für das Audio dar - wählen Sie also für eine hohe Qualität das mit der höchsten Bitrate. Vor kurzem stand ich jedoch vor der Wahl zwischen DASH audio , opus @160koder DASH audio 126k , audio@128k (44100Hz), 1.79MiBoder DASH audio 127k , m4a_dash container, aac @128k (44100Hz), 1.94MiB. Ich musste mich entscheiden, bin mir aber nicht sicher über Qualität oder Kompatibilität.
user643722
1
Das Beste an youtube-dl ist, dass es plattformübergreifend ist. Diese Lösung funktioniert nicht nur unter Linux, sondern auch unter Mac und Windows. Danke!
Antony
2
Heutzutage ist dies die Standardeinstellung, aber nur, wenn Sie avconv (libav) oder ffmpeg installiert haben, um die Dateikonvertierung durchzuführen. Für Windows möchten Sie das Verzeichnis angeben , --ffmpeg-locationin %APPDATA%\youtube-dl\config.txtdem avconv / ffmpeg installiert ist. Wenn Sie über ein Low-End-System -f bestvideo[fps<=30]+bestaudioverfügen, sollten Sie dieses ebenfalls nutzen, um 60-fps-Videos zu vermeiden.
GreenReaper
29

Um bestimmte Auflösungen auszuwählen, können Sie die Größe und Audioqualität angeben, damit diese 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 hinzugefügt werden ~/.config/youtube-dl/config(oder sogar /etc/youtube-dl.conf), 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 verwenden, --ignore-configwenn Sie die Konfigurationsdatei für einen bestimmten youtube-dl-Lauf deaktivieren möchten.

Bitte beachten Sie, dass ziemlich oft separate Video- und Audiodateien heruntergeladen und zusammengeführt werden müssen.

Weitere Beispiele siehe youtube-dlDoucmentation .

Wilf
quelle
1
Ich hatte ein Problem, bei dem verschiedene Segmente desselben Videos unterschiedliche Formatcodes für dieselbe Auflösung hatten (z. B. hls-1476 für Video 1 von 2 und hls-1665 für Video 2 von 2, bei denen beide 540p waren), sodass ich nicht einfach verwenden konnte "-f hls-1476" oder "-f hls-1665" oder ich würde "FEHLER: angefordertes Format nicht verfügbar" erhalten. Ihre Befehlsbeispiele halfen mir, das abzurufen, was ich wollte.
SSNOBODY
1
+1 für~/.config/youtube-dl/config
Marinos An
10

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:

Laden Sie das beste verfügbare mp4-Format herunter oder jedes andere beste, wenn kein mp4 verfügbar ist

$ youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best'

Laden Sie das beste verfügbare Format herunter, aber nicht besser als 480p

$ youtube-dl -f 'bestvideo[height<=480]+bestaudio/best[height<=480]'

Laden Sie das beste Format nur für Videos herunter, jedoch nicht größer als 50 MB

$ youtube-dl -f 'best[filesize<50M]'

Laden Sie das beste verfügbare Format über eine direkte Verbindung über das HTTP / HTTPS-Protokoll herunter

$ youtube-dl -f '(bestvideo+bestaudio/best)[protocol^=http]'

Referenz:

Direkt von youtube-dl github Seite

Kurian Benoy
quelle
Wie kombinieren ext=mp4 && height<=480 && filesize<50M?
Mrgloom
6

Ein Bash-Wrapper-Skript, das zur Eingabe des Formats auffordert, das alle verfügbaren Wiedergaben, einschließlich Nur-Audio- und Nur-Video-Wiedergabe, enthält und dann das Video / Audio mit streamt mpv.

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, mp4a.40.5@ 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 , vorbis@128k, 652.50KiB
    140          m4a        audio only DASH audio  127k , m4a_dash container, mp4a.40.2@128k (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, mp4a.40.2@ 24k
    36           3gp        320x180    small , mp4v.20.3, mp4a.40.2
    43           webm       640x360    medium , vp8.0, vorbis@128k
    18           mp4        640x360    medium , avc1.42001E, mp4a.40.2@ 96k
    22           mp4        1280x720   hd720 , avc1.64001F, mp4a.40.2@192k (best)
    Please enter the desired format #

Wenn Sie das Video herunterladen möchten, anstatt es zu streamen, entfernen Sie einfach das mpv --cache=1024Teil und das Dollarzeichen in Klammern.

ccpizza
quelle
2

So erzielen Sie die beste verfügbare Videoqualität.

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+bestaudionur das beste Video und beste Audio der Optionen zu wählen , scheint, die nur Video und Audio nur , dann ist es die beide miteinander verschmilzt. 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. Die bestvideo+bestaudioOption hat NICHT diese 720p-Datei mit der besten Qualität ausgewählt, da nur nach getrennten Video- und Audiodateien gesucht wurde . Details unten.

Lösung? Lassen Sie es die beste einzelne Datei holen, die stattdessen sowohl Video als auch Audio in einer enthält.

youtube-dl -f best https://youtu.be/FWGC9SqA3J0

Kurz gesagt: Verwenden Sie die -f bestOption, NICHT die -f bestvideo+bestaudioOption!

Beweis:

Bildbeschreibung hier eingeben

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, mp4a.40.5@ 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 , vorbis@128k, 4.68MiB
251          webm       audio only DASH audio  109k , opus @160k, 5.10MiB
140          m4a        audio only DASH audio  130k , m4a_dash container, mp4a.40.2@128k (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, mp4a.40.2@ 24k, 1.63MiB
36           3gp        320x174    small , mp4v.20.3, mp4a.40.2, 2.98MiB
43           webm       640x360    medium , vp8.0, vorbis@128k, 7.44MiB
18           mp4        640x348    medium , avc1.42001E, mp4a.40.2@ 96k, 8.54MiB
22           mp4        1280x694   hd720 , avc1.64001F, mp4a.40.2@192k (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 mir 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, das sowohl eine geringere Qualität als auch eine geringere Auflösung aufweist und eine größere Dateigröße hat. Ich verstehe es nicht genau, aber die -f bestOption ist definitiv die einzige, die mir wirklich die beste Lösung bietet.

Hier sind einige Screenshots:

  1. Verwenden Sie die hier akzeptierte Option mit geringerer Qualität -f bestvideo+bestaudio als die richtige Antwort (ODER verwenden Sie einfach die Standardoption:) youtube-dl https://youtu.be/FWGC9SqA3J0:

    • Bildbeschreibung hier eingeben
    • Beachten Sie, wie unscharf die Symbole oben sind und wie schwer das geöffnete Fenster und die kleinen Wörter darin zu lesen sind!
    • Das ist deutlich schlechter als die Qualität, die ich bekomme, wenn ich bei YouTube direkt im Browser online schaue.
    • Diese Option belegt aus irgendeinem Grund auch mehr Speicher: Das Video hat eine Größe von 18,0 MB und das Herunterladen und erneute Kombinieren (Audio + Video) dauerte länger als die -f bestunten stehende Option, bei der nur ein Download und keine Neukombination erforderlich waren da war es schon eine datei.
  2. Mit der höheren Qualität, -f best die ich empfehle:

    • Bildbeschreibung hier eingeben
    • Beachten Sie, wie viel deutlicher die kleinen Symbole oben und die kleine Schrift im Fenster sind!
    • Dies ist die identische Auflösung wie bei der Wiedergabe in der höchstmöglichen Auflösung direkt im Browser auf YouTube.
    • Diese Option benötigt aus irgendeinem Grund auch weniger Speicher: Das Video ist 14,8 MB groß.

Zusätzliche Lektüre:

Siehe man youtube-dlfür weitere Einzelheiten.

Gabriel Staples
quelle
1
Merkwürdig, dass ich Einträge für 1920x1080-Optionen sehe, aber die Option 1280x720 (hd720) sagt immer noch "best"
nmz787
Alle Ihre Screenshots zeigen einige Elektronikartikel.
localhost
@localhost, das stimmt. Dies sind alles Screenshots des Videos, dessen URL Sie in allen meinen Codeausschnitten im Beitrag sehen: youtu.be/FWGC9SqA3J0 .
Gabriel Staples
@ GabrielStaples Aah. Ja, das macht Sinn. Das tut mir leid.
localhost
Ist es nicht seltsam, dass die höchste Zahl auf der linken Seite nicht der höchsten Pixelanzahl auf dem Bildschirm in Ihrem Codebeispiel der verfügbaren Formate entspricht?
Ben
0

Ich bin ein Festplattenschoner, also lade ich Videos des Formats herunter 1280 x 720,
weil 4kVideos mehr Größe von meiner Festplatte beanspruchen.
Also füge ich youtube-dlin ~ /. bashrc Datei wie unten angegeben

Festlegen eines

arbeitsoffenen Terminals und Typs

  • nano ~/.bashrc
    Gehen Sie nun zum Ende der Datei und fügen Sie den unten angegebenen Befehl hinzu
  • alias yt='youtube-dl -if best'
  • Speichern Sie die Datei mit und drücken Sie Ctrl odannEnter
  • Verlassen Sie die Datei durch Drücken von Ctrl x
  • und letzter Ausführungsbefehl source ~/.bashrcim Terminal

Experiment -

Öffnen Sie das Terminal und geben
yt https://www.youtube.com/watch?v=puPUJlV1-W4
Sie Folgendes ein: Das Video wird in bester Qualität heruntergeladen.

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 am besten',
wobei yt der Verknüpfungsbefehl für 'youtube-dl' ist, der Erleichterung verschafft
unsere Finger lang Befehl eingeben.
Sie können alles an der Stelle von yt schreiben .
Ich setze ein Flag -i, in dem bedeutetyoutube-dl -if best

Bei Download-Fehlern wird der Vorgang fortgesetzt, z. B. um nicht verfügbare Videos in einer Wiedergabeliste zu überspringen

Abhishek Kamal
quelle
-2

Standardmäßig wählt youtube-dl die beste Qualität.

Nerol
quelle
2
Ja, gemäß der Readme-Datei. Sie haben auch die Möglichkeit, das
gewünschte