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?
-o
Avec le fichier de configurationLa 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:
Dans %APPDATA%\Roaming
, Créez un dossier youtube-dl
S'il n'en existe pas déjà un.
Dans ce dossier, créez un fichier de texte brut nommé config.txt
.
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 .
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.
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
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.