Python调用subprocess执行ffmpeg转mp3为wav提示文件不存在如何解决?
问题解决方法
- 方案1:指定ffmpeg的绝对路径
不要直接写ffmpeg,填入ffmpeg.exe的完整路径即可,Windows路径可以用原始字符串前缀r避免转义问题,示例代码:import subprocess subprocess.call([r'C:\PATH_programs\ffmpeg-4.4-full_build\ffmpeg-4.4-full_build\bin\ffmpeg.exe', '-i', 'testaudio.mp3', 'testaudio.wav']) - 方案2:指定脚本执行的工作目录
你手动执行命令时是在bin目录下操作,Python脚本运行时的默认工作目录可能不是该路径,可以通过cwd参数指定工作目录,示例代码:import subprocess subprocess.call( ['ffmpeg', '-i', 'testaudio.mp3', 'testaudio.wav'], cwd=r'C:\PATH_programs\ffmpeg-4.4-full_build\ffmpeg-4.4-full_build\bin' ) - 方案3:修正文件名拼写错误
注意你描述中存储的音频文件名为audiotest.mp3,但命令中写的是testaudio.mp3,文件名不一致是高频出错点,核对后修正参数即可。 - 方案4:将ffmpeg路径添加到系统环境变量
把C:\PATH_programs\ffmpeg-4.4-full_build\ffmpeg-4.4-full_build\bin路径添加到Windows系统环境变量的PATH中,重启Python编辑器/终端后再运行脚本,subprocess即可全局识别ffmpeg命令。
内容的提问来源于stack exchange,提问作者Lasagna Cat
相关产品推荐
相关产品推荐

