ok, j'ai fait des recherches, et j'ai trouvé ce script :
def download_clip(url, name):
ydl_opts = {
'format': 'bestaudio/best',
'outtmpl': dir_utils.get_perm_med_dir() + f'/sound_board/{name}.wav',
'noplaylist': True,
'continue_dl': True,
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'wav',
'preferredquality': '192', }]
}
try:
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
ydl.cache.remove()
info_dict = ydl.extract_info(url, download=False)
ydl.prepare_filename(info_dict)
ydl.download([url])
return True
except Exception :
return False
juste comme ça, tout va bien, aucune erreur à l'éxécution, sauf que il ne se passe rien, puisqu'il n'y a qu'une fonction.
donc le script devient :
import youtube_dl
def download_clip(url, name):
ydl_opts = {
'format': 'bestaudio/best',
'outtmpl': dir_utils.get_perm_med_dir() + f'/sound_board/{name}.wav',
'noplaylist': True,
'continue_dl': True,
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'wav',
'preferredquality': '192', }]
}
try:
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
ydl.cache.remove()
info_dict = ydl.extract_info(url, download=False)
ydl.prepare_filename(info_dict)
ydl.download([url])
return True
except Exception :
return False
download_clip("https://www.youtube.com/watch?v=N-MgRkSh5Xk","name")
sauf que cette fois, à l'exécution, j'ai l'erreur :
$python3 test.py
Traceback (most recent call last):
File "test.py", line 24, in <module>
download_clip("https://www.youtube.com/watch?v=N-MgRkSh5Xk","name")
File "test.py", line 6, in download_clip
'outtmpl': dir_utils.get_perm_med_dir() + f'/sound_board/{name}.wav',
NameError: name 'dir_utils' is not defined
j'ai encore cherché, et j'ai vu que "dir_utils" appartenait au module "JJMumbleBot", j'ai ensuite trouvé ceci :
https://github.com/DuckBoss/JJMumbleBot/blob/master/requirements/requirements.txt
mais je n'arrive pas à installer python-Levenshtein...