Die relevanten Optionen, die Sie benötigen:
# Filesystem
--write-annotations
--write-description
--write-info-json
# Thumbnail images
--write-all-thumbnails
# Video format
--format bestvideo+bestaudio/best
--merge-output-format mkv
# Subtitle
--all-subs
--write-auto-sub
--write-sub
# Post-processing
--add-metadata
--embed-subs
Kopieren Sie das in Ihre Konfigurationsdatei (entweder /etc/youtube-dl.conf
oder ~/.config/youtube-dl/config
).
Mit dieser Konfiguration habe ich dieses Video heruntergeladen und youtube-dl
die folgenden Dateien geschrieben:
$ ls
The Problem with Time & Timezones - Computerphile.annotations.xml
The Problem with Time & Timezones - Computerphile.description
The Problem with Time & Timezones - Computerphile.info.json
The Problem with Time & Timezones - Computerphile.jpg
The Problem with Time & Timezones - Computerphile.mkv
Ich kann die mediainfo
Ausgabe hier nicht posten , da sie die Zeichenbeschränkung überschreitet, aber Sie können sie in Github sehen .
Ich möchte auch das Video / Audio in der höchstmöglichen Qualität ohne Qualitätsverlust herunterladen.
youtube-dl
Lädt Videos standardmäßig mit der höchstmöglichen Qualität herunter. Sie können dieses Verhalten jedoch mit erzwingen --format bestvideo+bestaudio/best
.
Obwohl es sich nicht um YouTube handelt, wollte ich einige meiner gekauften Kurse herunterladen, damit ich sie mir auf einer langen Reise ansehen kann.
Bitte lesen Sie den Artikel Kann ich einen Kurs auf meinen Computer herunterladen? :
Standardmäßig können vollständige Kurse nicht von einem Computer heruntergeladen werden. Wir tun dies aus Gründen der Piraterie.
Bitte beachten Sie, dass Sie Kurse jederzeit für die Offline-Anzeige in der Udemy Mobile-App speichern können . Informationen zum Herunterladen von Videovorträgen auf Ihr iOS-Mobilgerät finden Sie hier . Schritte zum Herunterladen von Videos für die Offline-Anzeige auf einem Android-Gerät finden Sie hier .
Ich habe es ffmpeg
installiert und habe gehört, dass Sie es für verlustfreie Downloads von YouTube benötigen, bin mir aber nicht sicher, wie ich es verknüpfen soll youtube-dl
.
youtube-dl
verwendet avconv
standardmäßig, aber --prefer-ffmpeg
lassen Sie verwenden ffmpeg
stattdessen. Auf jeden Fall wird diese Option für " verlustfreie Downloads " nicht benötigt . In dem von mir bereitgestellten Beispiel werden youtube-dl
nur ffmpeg
alle heruntergeladenen Formate zu einer einzigen mkv-Datei zusammengeführt.
youtube-dl
?youtube-dl [youtube-link]
?youtube-dl
hätte bestimmte Videos--youtube-skip-dash-manifest
nicht herunterladen können, wenn die Option nicht vorhanden gewesen wäre. Habe gerade diese Option herausgenommen, danke, dass du es mir erzählt hast.Um das Video einfach herunterzuladen, können Sie dies verwenden:
Um die Videoqualität auszuwählen, sollten Sie zuerst die Option -F verwenden, um die verfügbaren Formate aufzulisten.
Und das ist die Ausgabe für dein Video:
Hier sind einige nützliche Optionen für Untertitel:
Und für Thumbnails:
Weitere Informationen zur Videoqualität finden Sie hier
quelle
youtube-dl
verwendet standardmäßig die besten verfügbaren Video- und Audioformate. Wenn Sie eine andere Einstellung in der Konfigurationsdatei überschreiben möchten, können Sie diese verwenden-f bestvideo+bestaudio/best
(dies entspricht der Standardeinstellung) oder die Konfigurationsdatei ignorieren (--ignore-config
).youtube-dl https://www.youtube.com/watch?v=KYBok-XGsKM
@ Leetbacoon siehe Kommentar Antwort ganz unten. (niedrige Wiederholung noch sry)
Hinweis: Ich werde die längeren Schalternamen verwenden, um Verwirrung zu vermeiden. Viele der verwendeten Schalter haben kürzere Versionen. Siehe Docs: Optionen .
Hinweis: -
\
Zur Vereinfachung der Anzeige werden die Schalter separat angezeigt. alles\
kann weggelassen werden; Wenn Sie verwenden,\
stellen Sie sicher, dass kein Leerzeichen danach steht\
.Synopsis: Ein ytdl-Befehl zum Herunterladen einer einzelnen Videodatei mit der höchsten verfügbaren Video- und Audioqualität. Speichert das Video in einem eigenen Verzeichnis (von Ihnen festgelegt). Lädt alle verfügbaren Metadaten herunter, schreibt sie in die entsprechenden Dateiformate und speichert sie im selben Verzeichnis. Fügt der Videoausgabedatei Video-Metadaten hinzu.
Ersetzen Sie mit Ihrem eigenen:
/archive/videos/TED_Archive/
in den Schaltern--download-archive
und--output
mit einem Verzeichnispfad Ihrer Wahl.====
Hinweis: Schließen Sie alle Argumente mit ein,
' '
um die Sicherheit beim Parsen zu gewährleisten.Erklärung der empfohlenen Schalter:
--limit-rate '0.25M'
wird verwendet, um die verfügbare maximale Download-Geschwindigkeit jeder youtube-dl-Instanz in B / s (Bytes pro Sekunde) zu begrenzen.Argumente: jede positive ganze Zahl mit einem Suffix für eine großgeschriebene Einheit.
Einheitensuffixe: K für Kilobyte; M für Megabyte; Unklar, ob Gigabyte unterstützt wird.
Ergänzung:
1. Blockierung der Internetverbindung vermeiden.
2. hilfreich bei der Verwaltung der Download-Geschwindigkeiten mehrerer ytdl-Instanzen gleichzeitig.
Ommission:
1. verstopft das Internet; Youtube-Videos können nicht durchsucht werden.
2. lädt das Video so schnell wie möglich herunter.
Hinweis: Sie können mehrere youtube-dl-Instanzen gleichzeitig ausführen.
--retries '5'
wird verwendet, um den Download eines Videos automatisch zu wiederholen, wenn dies fehlschlägt. Nützlich beim Herunterladen einer Wiedergabeliste oder eines ganzen Kanals (was in Youtube-Begriffen auch eine Wiedergabeliste (dieses bestimmten Kanals) ist).Werte: Wählen Sie eine beliebige positive Ganzzahl. Standard ist
10
. Max istinfinite
(als wörtliche Zeichenfolge eingeben).--continue
Argumente: keine
Hinzufügung:
1. Erzwingt das erneute Herunterfahren von Teildateien.
Hinweis: ytdl lädt Videos in Stücken herunter. Chunks bleiben erhalten, wenn ytdl während des Downloads unerwartet beendet wird.
Hinweis:
1. Standardmäßig setzt ytdl den Download fort, wenn möglich.
--no-overwrites
Argumente: keine
Ergänzung: Vorhandene Metadatendateien mit demselben Namen werden nicht überschrieben.
Ommission: Überschreibt vorhandene Metadatendateien mit demselben Namen, jedoch nicht die Videodatei.
--call-home
Wird verwendet, um den ytdl-Server zum Debuggen zu kontaktieren.--write-info-json
Argumente: keine
Ausgabeformat: json;
Informationsinhalt: Anzahl der Aufrufe, Likes, Upload-Datum, Informationen zur Video- und Audioqualität usw. (jedoch keine Videotextbeschreibung (vom Uploader unterhalb des Videos gepostet (Youtube-Layout 2018))
Ergänzung: Schreibt Videometadaten in eine separate
.info.json
Datei. Im selben Ordner wie die Videodatei gespeichert.Ommission: Beeinflusst nicht,
--add-metadata
welche Video-Metadaten weiterhin in die Video-Ausgabedatei geschrieben werden.--write-description
Argumente: keine
Ausgabeformat: Nur-Text;
Hinzufügung: Schreibt den vom Video-Uploader im Beschreibungsabschnitt eines Videos (unterhalb des Videos (Youtube-Layout 2018)) veröffentlichten Text in eine separate
Write .description
Datei. Im selben Ordner wie die Videodatei gespeichert.--write-thumbnail
Schreibt das Miniaturbild mit der höchsten verfügbaren Auflösung (maxresdefault.jpg
von YouTube aufgerufen ) in eine.jpg
Datei. Umbenannt nach Vorlage angegeben mit--output
. Im selben Verzeichnis wie die Videodatei gespeichert.Argumente: keine
Ausgabeformat: nur JPEG;
Hinweis: Verwenden Sie diese Option
youtube-dl --list-thumbnails '<video_url>'
, um die verfügbaren Miniaturansichten eines bestimmten Videos zu untersuchen (funktioniert nicht bei Wiedergabelisten-Links). Ex.:youtube-dl --list-thumbnails 'https://www.youtube.com/watch?v=odwfHu6MDuU'
--write-annotations
Schreibt Videokommentare in eine.annotations.xml
Datei. Umbenannt nach Vorlage angegeben mit--output
. Im selben Verzeichnis wie die Videodatei gespeichert.Argumente: keine
Ausgabeformat: .xml;
--all-subs
schreibt all benutzerdefinierten für ein Video an ihre jeweiligen Dateien Untertitel erstellt (ex .:subtitles.en.vtt
,subtitles.fr.vtt
,subtitles.es.vtt
)Argumente: kein
Ausgabeformat: Standard
.vtt
; kann andere Formate mit--sub-format
Fehlermeldungen angeben : Wenn keine Untertitel verfügbar sind, wird eine WARNUNG-Meldung im Standardformat gedruckt:
WARNING: video doesn't have subtitles
Nützlicher Befehl:
Hinweis: Verwenden Sie diese Option
youtube-dl --list-subs '<video_url>'
, um die verfügbaren Miniaturansichten eines bestimmten Videos zu untersuchen (funktioniert nicht bei Wiedergabelisten-Links).Ex.:
youtube-dl --list-subs 'https://www.youtube.com/watch?v=odwfHu6MDuU'
--convert-subs 'srt'
Argumente: String: Formaterweiterung ass, srt oder bestes
Ausgabeformat: Standard .vtt; oder gemäß Spezifikation
Zusatz: Schreibt Untertitel in das angegebene Dateiformat (Bsp .:)
.srt
. Im selben Ordner wie die Videodatei gespeichert.Hinweis: Untertitel werden als
.vtt
Fehlermeldungen geschrieben : Wenn keine Untertitel verfügbar sind, wird eine INFO-Nachricht im Standardformat gedruckt.
[ffmpeg] There aren't any subtitles to convert
Hinweis: Die Konvertierung wird als Nachbearbeitungsschritt für die
.vtt
Datei nach dem Download ausgeführt. Wenn die ytdl-Ausführung unerwartet beendet wird, werden einige Untertiteldateien möglicherweise nicht konvertiert (in diesem Fall führen Sie den Befehl erneut aus).--add-metadata
Argumente: keine
Verhalten: Schreibt Metadaten in die Videoausgabedatei.
Hinweis: Benötigt kein
.info.json
generiert von--write-info-json
--embed-subs
Argumente: keine
Verhalten:
1. Schreibt Untertitel in die Videoausgabedatei.
2. nur für mp4, webm und MKV - Videos
Fehlermeldungen: Wenn es keine Untertitel verfügbar ein INFO - Nachricht auf stdout gedruckt wird - Format:
[ffmpeg] There aren't any subtitles to embed
Hinweis: erfordert nicht ein ,
.vtt
erzeugt durch--write-sub
,--write-auto-sub
oder--all-sub
--download-archive '<archive_path>/<channel_name>/<channel_name>.ytdlarchive'
Verhalten: Wird zum Erstellen einer Textdatei verwendet, die Links zu zuvor heruntergeladenen Videos enthält. Ermöglicht das Überspringen dieser Videos beim Herunterladen eines gesamten Kanals. Nicht erforderlich, wenn Sie nur einzelne Videos herunterladen.
Argumente: String: Zusammengesetzt aus dem Pfad zu Ihrem Videoarchiv und dem nach dem Kanal benannten Verzeichnis. Dateiname besteht aus Kanalnamen mit
.ytdlarchive
Dateierweiterung. (Könnte auch .txt sein; das eindeutige Format ermöglicht jedoch eine einfache Unterscheidung.)Ausgabeformat: Nur-Text; eine videoID pro Zeile
Zusatz:
1. ytdl liest diese Datei, ignoriert und überspringt alle Videos, die mit ihrer videoID aufgeführt sind, auch wenn sie noch nicht heruntergeladen wurden.
2. Fügt der Datei automatisch die Video-ID des zuletzt heruntergeladenen Videos
hinzu. Wenn Videodateien und Metadatendateien vorhanden sind, lädt ytdl sie erneut herunter.
--format ''
Argumente: Empfohlene Zeichenfolge:
bestvideo+bestaudio/best
um die höchste Kombination von Video- und Audioqualität sicherzustellen.Ergänzung: die volle Kontrolle über die Videoqualität und Audio-Qualität und die Kombinationen, sowie Ausweich Qualitäten
OMMISSION: Standard
youtube-dl will guess it for you by default
- Text & TabellenHinweis: Siehe Text & Tabellen: Format Auswahl Beispiele
--merge-output-format '<video_format>'
Argumente: Videodateiformat. (Bsp .: mp4, mkv, 3gp, etc.)
Zugabe: kann Video - Dateiformat angeben
OMMISSION: Standard
youtube-dl will guess it for you by default
- Text & TabellenHinweis: Siehe Text & Tabellen: Format Auswahl
Nützlicher Befehl:
Hinweis: Verwenden Sie diese Option
youtube-dl --list-formats '<video_url>'
, um die verfügbaren Video- und Audioqualitäten und -formate eines bestimmten Videos zu untersuchen (funktioniert nicht bei Wiedergabelisten-Links).Ex.:
youtube-dl --list-formats 'https://www.youtube.com/watch?v=odwfHu6MDuU'
--output '<template>'
Argumente:
1. Videodateiformat. (Beispiel: mp4, mkv, 3 gp usw.);
2. Empfohlen:
%(upload_date)s_%(id)s_%(title)s.%(ext)s
Hinzufügung: Beeinflusst die Dateinamenskonvention für Videodateien und alle Metadatendateien.
Hinweis: Standardmäßig ist der Videotitel der Dateiname. Standardvorlage:
%(id)s.%(ext)s
Gibt Folgendes aus:testvideo.mkv
Hinweis: Vergessen Sie das
%
Präfix und dass
Suffix nicht (es gibt auch andere Suffixe). Der Abstand_
zwischen Vorlagenelementen ist nur ein Trennzeichen und kann ein beliebiges anderes Zeichen sein. Beispiel:%(upload_date)s-%(id)s
Hinweis: Siehe Dokumente: Ausgabevorlage
'<video_url>'
Argumente: Zeichenfolge: URL für bestimmtes Video
Fehlermeldung:
1. Wenn keine Video-URL gesendet wurde, wird ytdl nicht ausgeführt und zeigt die Hilfe an.
2. Wenn eine ungültige Video-URL gesendet wurde, wird die Fehlermeldung im Standardformat gedruckt:
ERROR: u'' is not a valid URL. Set --default-search "ytsearch" (or run youtube-dl "ytsearch:" ) to search YouTube
Lagerungsempfehlungen:
erstelle ein verzeichnis
misc
in deinem videoarchiv und speichere dort alle einzelnen videos.Wenn Sie ein oder mehrere Videos von einem Kanal herunterladen, erstellen Sie ein dediziertes Verzeichnis für diesen Kanal. In diesem Fall lautet der Kanalname
TED Archive
und der VerzeichnisnameTED_Archive
. (Ich ersetze präventiv alle Leerzeichen durch Unterstriche, um die Verzeichnisnavigation und Datei-E / A-Aktionen bei Verwendung von Bash- (oder Python-) Skripten zu vereinfachen.)Antworten Sie auf Ihren Kommentar @leetbacoon
Aus den Dokumenten
You can also use a file extension (currently 3gp, aac, flv, m4a, mp3, mp4, ogg, wav, webm are supported) to download the best quality format of a particular file extension served as a single file
best: Select the best quality format represented by a single file with video and audio.
bestvideo: Select the best quality video-only format
Ich denke, wenn Sie nur auswählen
best
und ein Ausgabeformat angeben, sendet YouTube das Format, das es für die beste Video- und Audio- Kombination für dieses Format hält. Dies kann einigen internen Spekulationsentscheidungen von YouTube unterliegen.In meiner Benutzererfahrung musste ich speziell festlegen
bestvideo+bestaudio
, ob die höchste verfügbare Video- und Audioqualität erzielt werden soll, und diese dann in einem MKV-Container kombinieren.Ich benutze
/best
als Fallback-Argument nur um sicherzugehen.quelle