web-dev-qa-db-fra.com

Comment télécharger en bloc des vidéos et les renommer simultanément à l'aide de youtube-dl?

J'utilise Ubuntu 16.04 LTS. Je souhaite télécharger des vidéos YouTube . Je suis venu à connaître l'outil de ligne de commande youtube-dl de cette question . Comme mentionné par Yasser, en utilisant la commande,

youtube-dl youtube.com/videolink --format mp4

Je suis en mesure de télécharger ces fichiers vidéo au format MP4.

Maintenant, je veux télécharger dix vidéos de différents canaux. J'ai un fichier texte avec les liens YouTube et les noms sous lesquels je veux les enregistrer. Le fichier texte nommé data.txt ressemble à ceci:

http://youtube.com/link1    name1
http://youtube.com/link2    name2
http://youtube.com/link3    name3 
.........                   ......
.........                   ......
http://youtube.com/link10    name10

À présent, je souhaite exécuter la commande youtube-dl une seule fois pour qu'il prenne automatiquement les arguments de ce fichier texte et les enregistre avec les noms requis.

Si je n'ai que les liens dans data.txt, c'est-à-dire,

http://youtube.com/link1
http://youtube.com/link2
http://youtube.com/link3 
.........
.........
http://youtube.com/link10

Je peux télécharger les vidéos en utilisant la commande une seule fois avec l'option -a,

youtube-dl --format mp4 -a data.txt

Mais je ne pouvais pas les renommer simultanément. De la page man de youtube-dl, j'ai découvert qu'il existe une option --output pour définir le nom du fichier.

Comment pourrais-je faire ça?

1
ddas

Si vous ne renommez que des fichiers parce que vous n'aimez pas le style utilisé par youtube-dl, vous pouvez utiliser --output (ou -o) avec un modèle pour personnaliser le nom. tous les fichiers des métadonnées Youtube.

Par exemple, -o %(title)s.%(ext)s le fera oublier les identifiants Youtube de tous les noms de fichiers.

Il y a beaucoup d'options, qui peuvent dépendre de votre version de youtube-dl, donc vous pouvez trouver tous les détails à ce sujet sur le terminal en tapant:

man youtube-dl
/OUTPUT

Toutefois, si vous souhaitez nommer chaque fichier individuellement, vous pouvez exécuter à la place youtube-dl une fois pour chaque ligne du fichier texte, comme suit:

(while read URL NAME; do [ "$URL" ] && youtube-dl --format mp4 -o "$NAME" "$URL"; done) < data.txt

Pour chaque ligne, divisez-la à la première exécution d'un ou plusieurs onglets et espaces en une URL et un NOM, puis, si la ligne n'est pas vide, transmettez-les à youtube-dl. Si la ligne ne contient qu'une URL, le fichier ne sera pas renommé.

1
Martin Thornton

Votre solution consiste à utiliser le fichier config. Sous Linux et OS X, le fichier de configuration système est situé à l'emplacement /etc/youtube-dl.conf et le fichier de configuration utilisateur à l'emplacement ~/.config/youtube-dl/config. Notez que le fichier de configuration par défaut peut ne pas exister, vous devrez donc peut-être le créer vous-même. Je n'en avais aucun dans mon ~/.config, alors j'ai dû créer mon fichier de configuration. Vous pouvez y passer tous les arguments que vous utiliseriez habituellement avec la commande inline dans youtube-dl. Le bon cas d'utilisation est l'authentification avec le fichier .netrc et l'utilisation courante est le format de sortie. Voici un exemple de fichier config:

#Authentication with .netrc file
--netrc

# Save all videos in a directory named vimeo in your home directory
-o "~/Vimeo/%(title)s %(upload_date)s i%(id)s.%(ext)s"


# Download best format available via direct link over HTTP/HTTPS protocol
-f '(bestvideo+bestaudio/best)[protocol^=http]'

# Simple file name
--restrict-filenames

Vous pouvez utiliser --ignore-config si vous souhaitez désactiver le fichier de configuration pour une exécution youtube-dl particulière. En substance, tout comme vous utilisez -a pour passer en mode de téléchargement par lots, vous pouvez utiliser le fichier config pour renommer par lots vos téléchargements et des tonnes d’autres personnalisations si vous le souhaitez. Tout est documenté avec de jolis exemples sur documentations officielles youtube-dl , lisez spécialement les sections CONFIGURATION & MODÈLE DE SORTIE .

0
Saidul Hassan