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


Ich habe youtube-dl in meinem 14.04 installiert.

Ich kann das Video mit dem folgenden Befehl herunterladen,

$ youtube-dl [youtube-link]

Aber ich möchte es wissen Wie wählt man die verfügbare Pixelqualität des YouTube-Videos aus (d. h. 1080p, 720p, 480p usw).

In der Software-Beschreibung sagten sie, dass es möglich ist (siehe Bild unten), aber wie es geht.

ss


182
2018-06-21 10:03


Ursprung


Die obige Beschreibung ist veraltet. Von dem man page: "youtube-dl lädt nun standardmäßig die höchste verfügbare Qualität herunter, wie sie von YouTube gemeldet wird. In einigen Fällen wird dies 1080p oder 720p sein." - Jos
Beachten Sie, dass YouTube eine Art Schutz angewendet hat, der verhindert, dass Tools die 1080p-Version herunterladen (oder sogar sehen), aber Sie können alle anderen Auflösungen bis einschließlich 720p herunterladen. - thomasrutter


Antworten:


Um ein Video herunterzuladen, geben Sie die URL wie folgt nach dem Befehl ein:

youtube-dl "http://www.youtube.com/watch?v=P9pzm5b6FFY"

Um die Videoqualität auszuwählen, benutze zuerst die -F Option zum Auflisten der verfügbaren Formate, 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 , 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 benutze es -f 22 Anstatt von -F um das MP4 Video mit 1280x720 Auflösung 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 verfügbaren Audio- und Videotracks herunterzuladen:

youtube-dl -f bestvideo+bestaudio "http://www.youtube.com/watch?v=P9pzm5b6FFY"

Tritt während des Muxing-Prozesses ein Fehler auf, versuchen Sie stattdessen Folgendes:

youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio' --merge-output-format mp4 "http://www.youtube.com/watch?v=P9pzm5b6FFY"

Dieser Befehl stellt sicher, dass Sie mp4-Videos in höchster Qualität und m4a-Audio aus dem Video herunterladen und sie zu einem einzigen mp4 zusammenfügen (in meinem Fall mit ffmpeg).

Quelle: http://www.webupd8.org/2014/02/video-downloader-youtube-dl-gets.html


268
2018-06-21 10:19



Stellen Sie sicher, dass Sie nicht wählen DASH. Das wird unspielbar sein! - ps95
@ prakharsingh95 DASH-Audio kann nur mit gnac oder ähnlicher Software in das Standard-Wave- oder MP3-Format konvertiert werden. - mchid
ich meinte DASH Video. Ich habe versucht, herunterzuladen 4K, aber das ist alles DASH Format (DASH erlaubt Youtube, Bandbreite zu bewahren). Es ist radikal anders, es wird meistens unspielbar sein. - ps95
@ prakharsingh95 Ja, wenn Sie überhaupt in der Lage, den MP4 mit VLC zu sehen, wie VLC können Sie das Video mit einer separaten Datei für Audio zu synchronisieren. Ich habe es nicht versucht. Haben Sie versucht, die mp4-Datei vom DASH-Download in das AVI-Format zu konvertieren? Ich denke, sie sind ähnlich. - mchid
Ja. Dash ist natürlich spielbar, aber du musst die Streams mit etwas mixen avconv. Zu langsam für 4K. - ps95


Sie können 1080p mit herunterladen youtube-dl, aber du musst ein bisschen mehr arbeiten. Normalerweise wird es nur 720p als Maximum herunterladen, auch wenn Sie 1080p auf youtube.com sehen können.

Lauf mit -F um verfügbare Formate zu sehen:

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)

beachte das youtube-dl hat die letzte Option 1280x720 als die "beste" Qualität beschriftet und das ist, was es standardmäßig herunterladen wird, aber dass die Zeile, die mit 137 beginnt, tatsächlich eine höhere Qualität 1920x1080 hat. Youtube hat die Video- und Audio-Streams für die mit DASH gekennzeichneten Zeilen getrennt, also müssen wir auch die höchste Audioqualität auswählen, in diesem Fall ist es die Zeile, die mit 141 beginnt. Dann laufen wir youtube-dl wieder dieses mal unter Angabe von Audio und Video:

youtube-dl -f 137+141 https://www.youtube.com/watch\?v\=-pxRXP3w-sQ

und es wird das 1080p-Video herunterladen und es automatisch mit dem hochwertigsten Audio zusammenführen. Es sollte auch automatisch die einzelnen heruntergeladenen Teile löschen. Diese Methode ist ein wenig mehr Arbeit, aber Sie erhalten die besten Ergebnisse.


78
2018-01-24 21:59



Vielen Dank, wusste nicht über 137 + 141 - whitesiroi
Ihr Beispiel und andere bieten eine einfache Auswahl für das Audio - das heißt, für hohe Qualität, wählen Sie das mit der höchsten Bitrate. Ich sah mich kürzlich jedoch einer Wahl zwischen DASH audio , opus @160k oder DASH audio 126k , audio@128k (44100Hz), 1.79MiB oder DASH audio 127k , m4a_dash container, aac @128k (44100Hz), 1.94MiB. Ich musste wählen, bin aber unsicher hinsichtlich der Qualität oder vielleicht der Kompatibilität. - user643722
Das Beste an youtube-dl ist, dass es Multi-Plattform ist. Diese Lösung funktioniert nicht nur unter Linux, sondern auch unter Mac und Windows. Vielen Dank! - Antony
Heutzutage ist dies die Standardeinstellung, aber nur, wenn Sie avconv (libav) oder ffmpeg installiert haben, um die Dateikonvertierung durchzuführen. Unter Windows möchten Sie festlegen --ffmpeg-location im %APPDATA%\youtube-dl\config.txt in das Verzeichnis, in dem avconv / ffmpeg installiert ist. Wenn Sie ein Low-End-System haben, möchten Sie vielleicht -f bestvideo[fps<=30]+bestaudio auch dort, um 60fps Video zu vermeiden. - GreenReaper


Um bestimmte Auflösungen auszuwählen, können Sie die Größe und Audioqualität festlegen, damit sie automatisch ausgewählt werden 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 auch /etc/youtube-dl.conf) damit Sie keine übergroßen Downloads bekommen:

mkdir ~/.config/youtube-dl
echo "-f 'bestvideo[height<=720]+bestaudio/best[height<=720]'" >> ~/.config/youtube-dl/config

Sie können verwenden --ignore-config wenn Sie die Konfigurationsdatei für einen bestimmten Youtube-dl-Lauf deaktivieren möchten.

Bitte beachten Sie, dass Sie häufig separate Video- und Audiodateien herunterladen und zusammenführen müssen.

Für weitere Beispiele siehe youtube-dl's doucmentation.


15
2017-12-31 09:47



Ich hatte ein Problem, wo verschiedene Segmente des gleichen Videos verschiedene Formatcodes für die gleiche Auflösung hatten (zB hls-1476 für Video 1 von 2 und hls-1665 für Video 2 von 2, wo beide 540p waren), also konnte ich nicht einfach verwenden "-f hls-1476" oder "-f hls-1665" oder ich bekomme "ERROR: angefordertes Format nicht verfügbar" Ihre Befehlsbeispiele haben mir geholfen, das zu finden, was ich wollte. - ssnobody
+1 für ~/.config/youtube-dl/config - Marinos An


Ein Bash-Wrapper-Skript, das nach dem Format fragt, das alle verfügbaren Wiedergabeversionen enthält, einschließlich Nur-Audio und Nur-Video.

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 und nicht streamen möchten, entfernen Sie einfach das mpv --cache=1024Teil und das Dollarzeichen mit Klammern.


3
2018-06-29 13:27





Einige der anderen Optionen zum Herunterladen der besten Qualität Videos als die hier genannten je nach Ihrer Bequemlichkeit ist unten angegeben:

Laden Sie das beste verfügbare mp4-Format oder ein anderes bestes herunter, 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 reine Videoformat herunter, aber nicht größer als 50 MB

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

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

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

Referenz:

Direkt von youtube-dl github Seite


1
2017-08-17 13:58





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


-3
2017-12-29 16:26



Ja, gemäß der Readme-Datei Sie haben auch die Option (en), das gewünschte Format auszuwählen, siehe hier: github.com/rg3/youtube-dl/blob/master/... - AjayKumarBasuthkar