web-dev-qa-db-fra.com

comment configurer l'emplacement de téléchargement par défaut dans youtube-dl

comment puis-je définir l'emplacement de téléchargement par défaut dans youtube-dl afin que tout ce que je télécharge avec youtube-dl soit placé dans ce répertoire par défaut?

23
user101

Vous devez utiliser le commutateur -o Avec le fichier de configuration

La sortie sur youtube-dl Est gérée avec le commutateur --output Ou -o; passez-le en option, suivi de la destination où vous souhaitez enregistrer vos téléchargements:

youtube-dl -o 'C:\Users\User\Downloads\%(title)s.%(ext)s' www.youtube.com/video

Notez que cette commande a une double fonction en ce qu'elle définit également un modèle pour la façon dont vos fichiers de sortie seront nommés, à l'aide de variables. Dans cet exemple, il affichera le titre de la vidéo téléchargée d'origine suivi de l'extension de fichier, ce qui est ma préférence personnelle. Pour toutes les variables qui peuvent être utilisées dans un nom de fichier, consultez la documentation youtube-dl ici .

youtube-dl Permet également d'utiliser un fichier de configuration - un fichier qui peut être utilisé pour configurer les commutateurs que vous utilisez le plus fréquemment afin que le programme puisse tirez-les de là à la place, vous évitant d'avoir à les appeler explicitement chaque fois que vous l'exécutez. Voici ce dont vous aurez besoin pour l'emplacement de téléchargement par défaut que vous recherchez. Le fichier de configuration peut être utilisé pour définir une destination de sortie par défaut afin que vous n'avez plus jamais à définir explicitement une sortie.

Pour configurer un fichier de configuration pour youtube-dl, en supposant que vous avez Windows:

  1. Dans %APPDATA%\Roaming, Créez un dossier youtube-dl S'il n'en existe pas déjà un.

  2. Dans ce dossier, créez un fichier de texte brut nommé config.txt.

  3. Placez les options youtube-dl Dans le fichier comme vous les utiliseriez normalement sur la ligne de commande avec youtube-dl, En plaçant chacune sur une nouvelle ligne. Par exemple, pour le commutateur de sortie, vous utiliseriez: -o C:\Users\User\Destination. Pour en savoir plus sur le fichier de configuration, lisez la documentation à ce sujet ici .

Substitution du fichier de configuration

Même lorsqu'une option est configurée dans un fichier de configuration, elle peut être remplacée en l'appelant explicitement à partir de la ligne de commande. Donc, si vous avez -o Défini dans un fichier de configuration comme emplacement par défaut pour les téléchargements, mais que vous souhaitez enregistrer les téléchargements ailleurs pour un travail en cours, il suffit d'appeler -o Sur la ligne de commande remplacer le fichier de configuration pour l'exécution en cours du programme uniquement.

21
Hashim

Selon vos besoins, je pense que déplacer le fichier par la suite serait tout aussi utile:

--exec CMD                       Execute a command on the file after
                                 downloading, similar to find's -exec
                                 syntax. Example: --exec 'adb Push {}
                                 /sdcard/Music/ && rm {}'

En créant une fonction qui déplacera le fichier

2
Yoshidk

Je trouve un moyen de télécharger directement des fichiers dans le dossier Téléchargements. Je recherche de longues heures. J'ai copié toute ma fonction pour que vous puissiez comprendre le contexte. Voici mon code, il sera peut-être utile pour quelqu'un:

import os

def download_audio(request):
  SAVE_PATH = '/'.join(os.getcwd().split('/')[:3]) + '/Downloads'

  ydl_opts = {
      'format': 'bestaudio/best',
      'postprocessors': [{
          'key': 'FFmpegExtractAudio',
          'preferredcodec': 'mp3',
          'preferredquality': '192',
      }],
      'outtmpl':SAVE_PATH + '/%(title)s.%(ext)s',

  }

  link = request.GET.get('video_url')

  with youtube_dl.YoutubeDL(ydl_opts) as ydl:
      ydl.download(["https://www.youtube.com/watch?v="+link])

Dites-moi s'il y a un problème.

0
NiceOyster