使用pydub报错RuntimeWarning

使用pydub报错RuntimeWarning: Couldn't find ffmpeg or avconv

  • 1.问题描述
  • 2.解决方案

1.问题描述

RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work
  warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning)

截图如下所示:
在这里插入图片描述

2.解决方案

  • 1.参考文章: [python] windows下使用librosa.load 加载wav文件报错: RuntimeWarning: Couldn’t find ffmpeg or avconv
    按照此篇博客的介绍我去这个网址 ffmpeg官方编译链接 下载了经过build之后的文件。之后按照以下流程完成配置。

  • 1.完成软件的安装
  • 2.将ffmpeg配置到Path环境变量

使用pydub报错RuntimeWarning_第1张图片
配置成功后使用如下命令测试一下是否成功:

ffmpeg -version

返回如下结果显示已经成功:
使用pydub报错RuntimeWarning_第2张图片
然后再运行我们的程序,发现还是报错了,同样的错误,貌似问题没有得到解决,于是我又参考上篇博客的内容将utils.py文件中的which函数做了如下修改,加入了我的ffmpeg.exe文件所在的目录。

def which(program):
    """
    Mimics behavior of UNIX which command.
    """
    # Add .exe program extension for windows support
    if os.name == "nt" and not program.endswith(".exe"):
        program += ".exe"

    envdir_list = [os.curdir] + os.environ["PATH"].split(os.pathsep)
    envdir_list.append(r'D:\softwares\ffmpeg\bin')#添加这一行,注意里面的路径是ffmpeg.exe所在的路径


    for envdir in envdir_list:
        program_path = os.path.join(envdir, program)
        if os.path.isfile(program_path) and os.access(program_path, os.X_OK):
            return program_path

文件保存后,再次执行,没有报任何错误了,至此问题得到解决。

你可能感兴趣的:(开发基础工具及配置,pydub,ffmpeg)