Python 如何在Windows上使用youtube dl提取音频

Python 如何在Windows上使用youtube dl提取音频,python,windows,ffmpeg,ffprobe,youtube-dl,Python,Windows,Ffmpeg,Ffprobe,Youtube Dl,我想从Windows上使用youtube dl下载的视频中提取音频。我让youtube dl工作,但无法提取音频。此问题是由于未安装正确的音频代码造成的 当我尝试提取音频时,它告诉我以下内容: WARNING: unable to obtain file audio codes with ffprobe youtube dl手册上说: -x -extract-audio convert video files to audio-only files (requires ffmpeg or

我想从Windows上使用youtube dl下载的视频中提取音频。我让youtube dl工作,但无法提取音频。此问题是由于未安装正确的音频代码造成的

当我尝试提取音频时,它告诉我以下内容:

WARNING: unable to obtain file audio codes with ffprobe
youtube dl手册上说:

-x -extract-audio    convert video files to audio-only files (requires ffmpeg or avconv and ffprobe or avprobe)
如何安装ffprobe或ffmpeg?我是在Windows上安装,还是作为Python扩展安装


我的操作系统是Windows 7。

ffmpeg不是Python模块。查看
ffmpegextractadiopp
类中的
youtube dl
代码

它使用这个调用来确定可执行文件是否存在。它检查您当前的路径:

subprocess.Popen([exe, '-version'], stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()

您需要下载并将它们放在当前路径中,可能需要确保它们的名称末尾没有
.exe

Windows用户的快速修复:

  • 从下载ffmpeg包,解压缩它,将Bin目录的所有内容复制到youtube-dl.exe所在的目录
  • 使用DOS导航到youtube dl所在的目录,并使用以下命令运行:

    youtube-dl --extract-audio --audio-format mp3
    
  • 编辑

    未来用户可能希望从下载最新版本


    我的代表不允许我添加评论,所以我将在这里输入

    截至9月18日,2020年已关闭,但仍可通过Web Archive访问。完整的下载仍然可以从以下位置获得:

    我已通过我的Google Drive为Windows用户提供了以下文件/版本,但请不要将其视为理所当然,并一如既往地扫描恶意软件或病毒:

    ffmpeg-4.2.2-win32-static.zip
    ffmpeg-4.2.2-win64-static.zip
    ffmpeg-4.2.3-win32-static.zip
    ffmpeg-4.2.3-win64-static.zip
    ffmpeg-4.3-win32-static.zip
    ffmpeg-4.3-win64-static.zip
    ffmpeg-4.3.1-win32-static.zip
    ffmpeg-4.3.1-win64-static.zip
        
    

    下载后,我在Windows 10上提取了最新版本(4.3.1),并将所有.exe(
    ffmpeg
    ffplay
    ffprobe
    )复制到与
    youtube dl
    相同的目录,然后运行:

    youtube-dl -x --audio-format mp3 https://www.youtube.com/watch?v=...
    

    您可以使用

    如果你仍然无法让youtube dl和ffmpeg一起工作

    也许你可以分两步来做:

  • 获取mp4或avi:youtube dl url

  • 提取音频

    ffmpeg-i input.mp4-vn-codec copy out.mp3


  • 谢谢你的回复,请你帮我更详细一点,这会节省我很多时间。我到底需要下载哪些文件?我该如何处理它们?我需要删除exe吗?我需要更改python代码吗?我以前从未编写过python,因此我不知道如何:S@user1160265如果你的问题不是编程问题,我认为你的问题更适合超级用户;它真的帮助了我。不过,我认为将
    .exe
    作为ffmpeg二进制文件的扩展并不重要。我刚刚将ffmpeg构建提取到
    C:
    ,并将其
    bin
    目录添加到我的路径中,ytdl工作正常。(我会编辑你的答案,但我没有足够的信心去概括每个人)谢谢!我已经找了好一阵子了。我在互联网上搜索过,有人说要把它放在安装文件夹的“bin”文件夹中,或者
    FFmpeg/bin
    或者使用--FFmpeg位置。除了直接将可执行文件放入youtubedl文件夹之外,没有任何帮助。该网站不再存在