Это мой текущий код, используя youtube_dl:
from __future__ import unicode_literals
import youtube_dl
import ffmpeg
ydl_opts = {
'format': 'bestaudio/best',
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
'preferredquality': '320', # selected mp3 and 320
}],
}
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
ydl.download([input('Youtube link: ')])
Это работает, но дает мне разные типы. В идеале ответы могут объяснить почему.
я получаю эту ошибку
ОШИБКА: ffprobe / avprobe и ffmpeg / avconv не найдены. Пожалуйста, установите один.
Traceback (последний вызов был последним):
Файл "C: \ Users \ Eng-Ahmed Saleh \ PycharmProjects \ untitled5 \ venv \ lib \ site-packages \ youtube_dl \ YoutubeDL.py", строка 2054, в post_process
files_to_delete, info = pp.run (info)
Файл "C: \ Users \ Eng-Ahmed Saleh \ PycharmProjects \ untitled5 \ venv \ lib \ site-packages \ youtube_dl \ postprocessor \ ffmpeg.py", строка 272, в работе
filecodec = self.get_audio_codec (путь)
Файл "C: \ Users \ Eng-Ahmed Saleh \ PycharmProjects \ untitled5 \ venv \ lib \ site-packages \ youtube_dl \ postprocessor \ ffmpeg.py", строка 166, в get_audio_codec
поднять PostProcessingError ('ffprobe / avprobe и ffmpeg / avconv не найдены. Пожалуйста, установите один.')
youtube_dl.utils.PostProcessingError: ffprobe / avprobe и ffmpeg / avconv не найдены. Пожалуйста, установите один.
Во время обработки вышеуказанного исключения произошло другое исключение:
Traceback (последний последний вызов):
Файл "C: / Users / Eng-Ahmed Saleh / Desktop / asd / A.py", строка 15, в
ydl.download ([input ('Youtube link:')])
Файл "C: \ Users \ Eng-Ahmed Saleh \ PycharmProjects \ untitled5 \ venv \ lib \ site-packages \ youtube_dl \ YoutubeDL.py", строка 2008, в загрузке
url, force_generic_extractor = self.params.get ('force_generic_extractor', False))
Файл "C: \ Users \ Eng-Ahmed Saleh \ PycharmProjects \ untitled5 \ venv \ lib \ site-packages \ youtube_dl \ YoutubeDL.py", строка 807, в extract_info
вернуть self.process_ie_result (ie_result, загрузить, extra_info)
Файл "C: \ Users \ Eng-Ahmed Saleh \ PycharmProjects \ untitled5 \ venv \ lib \ site-packages \ youtube_dl \ YoutubeDL.py", строка 861, в process_ie_result
вернуть self.process_video_result (то есть, загрузить = загрузить)
Файл "C: \ Users \ Eng-Ahmed Saleh \ PycharmProjects \ untitled5 \ venv \ lib \ site-packages \ youtube_dl \ YoutubeDL.py", строка 1642, в process_video_result
self.process_info (new_info)
Файл "C: \ Users \ Eng-Ahmed Saleh \ PycharmProjects \ untitled5 \ venv \ lib \ site-packages \ youtube_dl \ YoutubeDL.py", строка 1989, в process_info
self.post_process (имя файла, info_dict)
Файл "C: \ Users \ Eng-Ahmed Saleh \ PycharmProjects \ untitled5 \ venv \ lib \ site-packages \ youtube_dl \ YoutubeDL.py", строка 2056, в post_process
self.report_error (e.msg)
Файл "C: \ Users \ Eng-Ahmed Saleh \ PycharmProjects \ untitled5 \ venv \ lib \ site-packages \ youtube_dl \ YoutubeDL.py", строка 624, в файле report_error
self.trouble (error_message, tb)
Файл "C: \ Users \ Eng-Ahmed Saleh \ PycharmProjects \ untitled5 \ venv \ lib \ site-packages \ youtube_dl \ YoutubeDL.py", строка 594, в беде
поднять DownloadError (сообщение, exc_info)
youtube_dl.utils.DownloadError: ОШИБКА: ffprobe / avprobe и ffmpeg / avconv не найдены. Пожалуйста, установите один.