Les options pertinentes dont vous avez besoin:
# 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
Copiez cela dans votre fichier de configuration (soit /etc/youtube-dl.conf
ou ~/.config/youtube-dl/config
).
En utilisant cette configuration, j'ai téléchargé cette vidéo et youtube-dl
écrit les fichiers suivants:
$ 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
Je ne peux pas poster mediainfo
la sortie ici car elle dépasse la limite de caractères, mais vous pouvez la voir dans github .
Je souhaite également télécharger la vidéo / audio dans la meilleure qualité possible, sans perte de qualité.
youtube-dl
télécharge les vidéos avec la meilleure qualité possible par défaut, mais vous pouvez forcer ce comportement à l'aide de --format bestvideo+bestaudio/best
.
Même si ce n'est pas YouTube, je voulais également télécharger certains de mes cours udemy que j'ai achetés afin de pouvoir les regarder pendant un long voyage.
Veuillez lire l'article Puis-je télécharger un cours sur mon ordinateur? :
Par défaut, les cours complets ne sont pas téléchargeables depuis un ordinateur. Nous le faisons par souci de piraterie.
Veuillez noter que vous pouvez toujours enregistrer des cours pour les consulter hors ligne sur l' application mobile Udemy . Pour plus d'informations sur la façon de télécharger des conférences vidéo sur votre appareil mobile iOS, veuillez cliquer ici . Pour savoir comment télécharger des vidéos pour les visionner hors ligne sur un appareil Android, cliquez ici .
J'aiffmpeg
installé et j'ai entendu dire que vous en avez besoin pour les téléchargements sans perte de YouTube, mais je ne sais pas comment le lier youtube-dl
.
youtube-dl
utilise avconv
par défaut, mais --prefer-ffmpeg
laissez-le utiliser à la ffmpeg
place. Quoi qu'il en soit, cette option n'est pas nécessaire pour les " téléchargements sans perte ". Dans l'exemple que j'ai fourni, youtube-dl
utilisé uniquement ffmpeg
pour fusionner tous les formats téléchargés dans un seul fichier mkv.
youtube-dl
?youtube-dl [youtube-link]
?youtube-dl
n'aurait pas pu télécharger certaines vidéos si l'--youtube-skip-dash-manifest
option n'était pas présente. Je viens de modifier cette option, merci de me l'avoir dit.Pour télécharger simplement la vidéo, vous pouvez utiliser ceci:
Pour sélectionner la qualité vidéo, vous devez d'abord utiliser l'option -F pour répertorier les formats disponibles.
Et voici la sortie de votre vidéo:
Voici quelques options utiles pour les sous-titres:
Et pour les vignettes:
Vous pouvez également trouver plus d'informations sur la qualité de la vidéo ici
la source
youtube-dl
utilise les meilleurs formats vidéo et audio disponibles par défaut. Si vous souhaitez remplacer un paramètre différent dans le fichier de configuration, vous pouvez utiliser-f bestvideo+bestaudio/best
(qui est identique à la valeur par défaut) ou ignorer le fichier de configuration (--ignore-config
).youtube-dl https://www.youtube.com/watch?v=KYBok-XGsKM
@leetbacoon voir la réponse au commentaire tout en bas. (basse répétition encore sry)
Remarque: j'utiliserai les noms de commutateur plus longs pour éviter toute confusion. De nombreux commutateurs utilisés ont des versions plus courtes. Voir Docs: Options .
Remarque: - pour plus de commodité visuelle
\
est utilisé pour afficher les commutateurs séparément; tout\
peut être omis; si vous utilisez,\
assurez-vous qu'il n'y a pas de caractère espace après\
.Synopsis: Une commande ytdl pour télécharger un seul fichier vidéo de la plus haute qualité vidéo et audio disponible. Enregistre la vidéo dans son propre répertoire (spécifié par vous). Télécharge toutes les métadonnées disponibles, les écrit dans des formats de fichiers respectifs et les enregistre dans le même répertoire. Ajoute des métadonnées vidéo au fichier de sortie vidéo.
Remplacez par le vôtre:
/archive/videos/TED_Archive/
dans les commutateurs--download-archive
et--output
par un chemin de répertoire de votre choix.====
Remarque: joignez tous les arguments avec
' '
pour la sécurité de l'analyse.Explication des commutateurs recommandés:
--limit-rate '0.25M'
est utilisé pour limiter la vitesse de téléchargement maximale disponible de chaque instance youtube-dl en B / s (octets par seconde).Arguments: tout entier positif avec un suffixe d'unité en majuscule.
Suffixes d'unité: K pour Kilobyte; M pour Megabyte; Ne sait pas si Gigabyte est pris en charge.
Addition:
1. éviter le blocage de la connexion Internet.
2. utile lors de la gestion des vitesses de téléchargement de plusieurs instances ytdl simultanées.
Ommission:
1. obstrue Internet; impossible de naviguer, lecture vidéo YouTube en retard.
2. téléchargera la vidéo le plus rapidement possible.
Remarque: Vous pouvez exécuter plusieurs instances youtube-dl simultanément.
--retries '5'
est utilisé pour réessayer automatiquement le téléchargement d'une vidéo en cas d'échec. Utile lors du téléchargement d'une playlist ou d'une chaîne entière (qui est, en termes Youtube, également une playlist (de cette chaîne spécifique)).Valeurs: choisissez un entier positif. La valeur par défaut est
10
. Max estinfinite
(entrez comme chaîne littérale).--continue
Arguments: aucun
Addition:
1. forcera la reprise du downalod des fichiers partiels
Remarque: ytdl télécharge les vidéos en morceaux; les morceaux sont conservés si ytdl se termine de façon inattendue pendant le téléchargement.
Ommission:
1. Par défaut, ytdl reprendra les téléchargements, si possible.
--no-overwrites
Arguments: aucun
Addition: ne pas écraser les fichiers existants métadonnées avec des noms identiques.
Ommission: remplacera les fichiers de métadonnées existants avec les mêmes noms, mais pas le fichier vidéo.
--call-home
utilisé pour contacter le serveur ytdl pour le débogage.--write-info-json
Arguments: aucun
Format de sortie: json;
Contenu de l'information: nombre de vues, likes, date de téléchargement, informations sur la qualité vidéo et audio, etc. (mais pas la description textuelle de la vidéo (publiée sous la vidéo par le téléchargeur (mise en page YouTube 2018))))
Addition: écrit les métadonnées vidéo dans un
.info.json
fichier séparé . Enregistré dans le même dossier que le fichier vidéo.Ommission: n'affecte pas
--add-metadata
qui écrira toujours les métadonnées vidéo dans le fichier de sortie vidéo.--write-description
Arguments: aucun
Format de sortie: texte brut;
Ajout: écrit le texte publié par le téléchargeur de vidéos dans la section de description d'une vidéo (sous la vidéo (mise en page YouTube 2018)) dans un
Write .description
fichier séparé . Enregistré dans le même dossier que le fichier vidéo.--write-thumbnail
écrit la miniature la plus haute résolution disponible (appeléemaxresdefault.jpg
par youtube) dans un.jpg
fichier. Renommé selon le modèle spécifié avec--output
. Enregistré dans le même répertoire que le fichier vidéo.Arguments: aucun
Format de sortie: uniquement JPEG;
Remarque: Utilisez
youtube-dl --list-thumbnails '<video_url>'
pour rechercher les miniatures disponibles d'une vidéo spécifique (ne fonctionne pas sur les liens de playlist); Ex.:youtube-dl --list-thumbnails 'https://www.youtube.com/watch?v=odwfHu6MDuU'
--write-annotations
écrit des annotations vidéo dans un.annotations.xml
fichier. Renommé selon le modèle spécifié avec--output
. Enregistré dans le même répertoire que le fichier vidéo.Arguments: aucun
Format de sortie: .xml;
--all-subs
écrit toutes les sous - titres disponibles sur mesure créé pour une vidéo à leurs fichiers respectifs (ex .:subtitles.en.vtt
,subtitles.fr.vtt
,subtitles.es.vtt
)Arguments: aucun
Format de sortie: défaut
.vtt
; peut spécifier d'autres formats avec des--sub-format
messages d'erreur: S'il n'y a pas de sous-titres disponibles, un message AVERTISSEMENT sera imprimé au format stdout:
WARNING: video doesn't have subtitles
Commande utile:
Remarque: Utilisez
youtube-dl --list-subs '<video_url>'
pour rechercher les miniatures disponibles d'une vidéo spécifique (ne fonctionne pas sur les liens de playlist);Ex.:
youtube-dl --list-subs 'https://www.youtube.com/watch?v=odwfHu6MDuU'
--convert-subs 'srt'
Arguments: chaîne: format extension ass, srt ou meilleur
format de sortie: par défaut .vtt; ou selon la spécification
Addition: écrit les sous-titres dans le format de fichier spécifié (ex.
.srt
). Enregistré dans le même dossier que le fichier vidéo.Ommission: les sous-titres seront écrits sous forme de
.vtt
messages d'erreur: s'il n'y a pas de sous-titres disponibles, un message INFO sera imprimé au format stdout:
[ffmpeg] There aren't any subtitles to convert
Remarque: la conversion sera exécutée comme une étape de post-traitement sur le
.vtt
fichier après le téléchargement. Si l'exécution de ytdl se termine de manière inattendue, certains fichiers de sous-titres risquent de ne pas être convertis (dans ce cas, exécutez à nouveau la commande).--add-metadata
Arguments: aucun
Comportement: écrit les métadonnées dans le fichier de sortie vidéo.
Remarque: ne nécessite pas un
.info.json
généré par--write-info-json
--embed-subs
Arguments: aucun
Comportement:
1. écrit les sous-titres dans le fichier de sortie vidéo;
2. uniquement pour mp4, WebM et vidéos mkv
Messages d' erreur: S'il n'y a pas des sous - titres disponibles un message INFO sera imprimé à stdout - Format:
[ffmpeg] There aren't any subtitles to embed
Remarque: ne nécessite pas un
.vtt
produit par--write-sub
,--write-auto-sub
ou--all-sub
--download-archive '<archive_path>/<channel_name>/<channel_name>.ytdlarchive'
Comportement: permet de créer un fichier texte contenant des liens de vidéos téléchargées précédemment. Permet de sauter ces vidéos lors du téléchargement d'une chaîne entière. Pas nécessaire lors du téléchargement de vidéos individuelles uniquement.
Arguments: String: composite du chemin d'accès à votre archive vidéo, répertoire nommé d'après le canal. Le nom de fichier se compose du nom du canal avec l'
.ytdlarchive
extension de fichier. (pourrait également être .txt; mais le format unique permet une différenciation facile)Format de sortie: texte brut; un ID vidéo par ligne
Addition:
1. ytdl lit ce fichier, ignore et ignore toutes les vidéos répertoriées avec leur ID vidéo, même si elles n'ont pas encore été téléchargées.
2. ajoute automatiquement l'ID vidéo de la dernière vidéo téléchargée à ce fichier
Ommission: si un fichier vidéo et des fichiers de métadonnées existent, ytdl les téléchargera à nouveau.
--format ''
Arguments: Chaîne recommandée:
bestvideo+bestaudio/best
pour garantir la meilleure combinaison de qualité vidéo et audio.Addition: contrôle total sur la qualité vidéo et la qualité audio et leurs combinaisons, ainsi que sur les qualités de repli
Ommission: Par défaut
youtube-dl will guess it for you by default
- DocsRemarque: Voir Docs: Exemples de sélection de format
--merge-output-format '<video_format>'
Arguments: format de fichier vidéo. (ex.: mp4, mkv, 3gp, etc.)
Addition: peut spécifier le format de fichier vidéo
Ommission: Par défaut
youtube-dl will guess it for you by default
- DocsRemarque: Voir Docs: Sélection du format
Commande utile:
Remarque: Utilisez cette option
youtube-dl --list-formats '<video_url>'
pour rechercher les qualités et formats vidéo et audio disponibles d'une vidéo spécifique (ne fonctionne pas sur les liens de playlist);Ex.:
youtube-dl --list-formats 'https://www.youtube.com/watch?v=odwfHu6MDuU'
--output '<template>'
Arguments:
1. format de fichier vidéo. (ex.: mp4, mkv, 3gp, etc.);
2. Recommandé:
%(upload_date)s_%(id)s_%(title)s.%(ext)s
Addition: influence la convention de dénomination des fichiers pour les fichiers vidéo et tous les fichiers de métadonnées
Ommission: Par défaut, le titre de la vidéo sera le nom du fichier. Modèle par défaut:
%(id)s.%(ext)s
affichera ex.:testvideo.mkv
Remarque: N'oubliez pas le
%
préfixe et les
suffixe (d'autres suffixes existent également.); Les_
éléments du modèle ne sont qu'un séparateur et peuvent être n'importe quel autre caractère. ex.:%(upload_date)s-%(id)s
Remarque: voir la documentation: modèle de sortie
'<video_url>'
Arguments: Chaîne: URL vers une vidéo spécifique
Message d'erreur:
1. Si aucune URL vidéo soumise, ytdl ne s'exécutera pas et n'affichera pas d'aide.
2. Si une URL vidéo non valide soumise, le message ERREUR sera imprimé sur stdout - format:
ERROR: u'' is not a valid URL. Set --default-search "ytsearch" (or run youtube-dl "ytsearch:" ) to search YouTube
Recommandations de stockage:
créer un
misc
répertoire dans vos archives vidéo et y stocker toutes les vidéos individuelles.lorsque vous téléchargez une ou plusieurs vidéos d'une chaîne, créez un répertoire dédié pour cette chaîne. Dans ce cas, le nom du canal est
TED Archive
et le nom du répertoire seraTED_Archive
. (Je remplace de manière préventive tous les caractères d'espace par des traits de soulignement pour faciliter la navigation dans les répertoires et les actions d'E / S de fichiers lors de l'utilisation de scripts bash (ou python)).Répondre à votre commentaire @leetbacoon
Depuis les documents
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
Je pense que lorsque vous sélectionnez juste
best
et que vous spécifiez un format de sortie, YouTube envoie le format qu'il pense être le meilleur combo vidéo + audio pour ce format. Cela peut être soumis à certaines décisions d'équilibrage internes à YouTube (spéculation).Dans mon expérience d'utilisation, j'ai dû spécifier spécifiquement
bestvideo+bestaudio
pour obtenir la meilleure qualité disponible de vidéo et audio respectivement, puis les combiner dans un conteneur .mkv.J'utilise
/best
comme argument de secours juste pour être sûr.la source