Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用youtube_dl下载youtube音频,但即使指定,也不总是mp3类型_Python_Python 3.x_Youtube Dl - Fatal编程技术网

Python 使用youtube_dl下载youtube音频,但即使指定,也不总是mp3类型

Python 使用youtube_dl下载youtube音频,但即使指定,也不总是mp3类型,python,python-3.x,youtube-dl,Python,Python 3.x,Youtube Dl,这是我当前使用youtube_dl的代码: from __future__ import unicode_literals import youtube_dl import ffmpeg ydl_opts = { 'format': 'bestaudio/best', 'postprocessors': [{ 'key': 'FFmpegExtractAudio', 'preferredcodec

这是我当前使用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: ')])
它的工作,但给我不同的类型。我得到这个错误:

ERROR: ffprobe/avprobe and ffmpeg/avconv not found. Please install one.
Traceback (most recent call last):
  File "C:\Users\Eng-Ahmed Saleh\PycharmProjects\untitled5\venv\lib\site-packages\youtube_dl\YoutubeDL.py", line 2054, in post_process
    files_to_delete, info = pp.run(info)
  File "C:\Users\Eng-Ahmed Saleh\PycharmProjects\untitled5\venv\lib\site-packages\youtube_dl\postprocessor\ffmpeg.py", line 272, in run
    filecodec = self.get_audio_codec(path)
  File "C:\Users\Eng-Ahmed Saleh\PycharmProjects\untitled5\venv\lib\site-packages\youtube_dl\postprocessor\ffmpeg.py", line 166, in get_audio_codec
    raise PostProcessingError('ffprobe/avprobe and ffmpeg/avconv not found. Please install one.')
youtube_dl.utils.PostProcessingError: ffprobe/avprobe and ffmpeg/avconv not found. Please install one.
在处理上述异常期间,发生了另一个异常:

Traceback (most recent call last):
  File "C:/Users/Eng-Ahmed Saleh/Desktop/asd/A.py", line 15, in <module>
    ydl.download([input('Youtube link: ')])
  File "C:\Users\Eng-Ahmed Saleh\PycharmProjects\untitled5\venv\lib\site-packages\youtube_dl\YoutubeDL.py", line 2008, in download
    url, force_generic_extractor=self.params.get('force_generic_extractor', False))
  File "C:\Users\Eng-Ahmed Saleh\PycharmProjects\untitled5\venv\lib\site-packages\youtube_dl\YoutubeDL.py", line 807, in extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "C:\Users\Eng-Ahmed Saleh\PycharmProjects\untitled5\venv\lib\site-packages\youtube_dl\YoutubeDL.py", line 861, in process_ie_result
    return self.process_video_result(ie_result, download=download)
  File "C:\Users\Eng-Ahmed Saleh\PycharmProjects\untitled5\venv\lib\site-packages\youtube_dl\YoutubeDL.py", line 1642, in process_video_result
    self.process_info(new_info)
  File "C:\Users\Eng-Ahmed Saleh\PycharmProjects\untitled5\venv\lib\site-packages\youtube_dl\YoutubeDL.py", line 1989, in process_info
    self.post_process(filename, info_dict)
  File "C:\Users\Eng-Ahmed Saleh\PycharmProjects\untitled5\venv\lib\site-packages\youtube_dl\YoutubeDL.py", line 2056, in post_process
    self.report_error(e.msg)
  File "C:\Users\Eng-Ahmed Saleh\PycharmProjects\untitled5\venv\lib\site-packages\youtube_dl\YoutubeDL.py", line 624, in report_error
    self.trouble(error_message, tb)
  File "C:\Users\Eng-Ahmed Saleh\PycharmProjects\untitled5\venv\lib\site-packages\youtube_dl\YoutubeDL.py", line 594, in trouble
    raise DownloadError(message, exc_info)
youtube_dl.utils.DownloadError: ERROR: ffprobe/avprobe and ffmpeg/avconv not found. Please install one.
回溯(最近一次呼叫最后一次):
文件“C:/Users/Eng Ahmed Saleh/Desktop/asd/A.py”,第15行,在
下载([input('Youtube链接:'))
文件“C:\Users\Eng Ahmed Saleh\PycharmProjects\untitled5\venv\lib\site packages\youtube\u dl\YoutubeDL.py”,第2008行,下载
url,force_generic_extractor=self.params.get('force_generic_extractor',False))
文件“C:\Users\Eng Ahmed Saleh\pycharm项目\untitled5\venv\lib\site packages\youtube\u dl\YoutubeDL.py”,第807行,摘录信息
返回自我处理结果(结果、下载、额外信息)
文件“C:\Users\Eng Ahmed Saleh\Pycharm项目\untitled5\venv\lib\site packages\youtube\u dl\YoutubeDL.py”,第861行,处理中
返回self.process\u video\u结果(即结果,下载=下载)
文件“C:\Users\Eng Ahmed Saleh\pycharm项目\untitled5\venv\lib\site packages\youtube\u dl\YoutubeDL.py”,第1642行,处理中\u视频\u结果
自我处理信息(新信息)
文件“C:\Users\Eng Ahmed Saleh\pycharm项目\untitled5\venv\lib\site packages\youtube\u dl\YoutubeDL.py”,第1989行,进程信息
self.post_进程(文件名、信息记录)
文件“C:\Users\Eng Ahmed Saleh\pycharm项目\untitled5\venv\lib\site packages\youtube\u dl\YoutubeDL.py”,第2056行,在后期处理中
自我报告错误(e.msg)
文件“C:\Users\Eng Ahmed Saleh\pycharm项目\untitled5\venv\lib\site packages\youtube\u dl\YoutubeDL.py”,第624行,报告错误
自身故障(错误消息,tb)
文件“C:\Users\Eng Ahmed Saleh\PycharmProjects\untitled5\venv\lib\site packages\youtube\u dl\YoutubeDL.py”第594行有问题
引发下载错误(消息,exc_信息)
youtube_dl.utils.DownloadError:错误:未找到ffprobe/avprobe和ffmpeg/avconv。请安装一个。

这可能是个愚蠢的问题,但您是否安装了FFmpeg?如果是这样,那么使用独立的youtube dl可执行文件(
youtube dl-x——音频格式mp3[url]
)是否会产生相同的结果,还是会产生警告/错误消息?谢谢!是的,我安装了FFmpeg是的,它给了我错误,我将把它放在问题中,以显示错误,我在这里找到了答案,谢谢!这可能是一个愚蠢的问题,但您是否安装了FFmpeg?如果是这样,那么使用独立的youtube dl可执行文件(
youtube dl-x——音频格式mp3[url]
)是否会产生相同的结果,还是会产生警告/错误消息?谢谢!是的,我安装了FFmpeg是的,它给了我错误,我将把它放在问题中,以显示错误,我在这里找到了答案,谢谢!