首页 > 解决方案 > 试图通过 python 子进程调用将 .mp3 转换为 .wav 到 ffmpeg,“没有这样的文件或目录”,尽管音频文件在同一目录中?

问题描述

我正在尝试使用 Python 的子进程模块和 ffmpeg将 .mp3testaudio.mp3转换为 .wav 。testaudio.wav

我在 Windows 上,当我使用命令提示符运行以下命令时,它可以工作并将我的 .mp3 成功转换为 .wav:

C:\PATH_programs\ffmpeg-4.4-full_build\ffmpeg-4.4-full_build\bin>ffmpeg -i testaudio.mp3 testaudio.wav

但是,当我尝试使用 Python 脚本做同样的事情时,我得到一个"No such file or directory"错误:

import subprocess

subprocess.call(['ffmpeg', '-i', 'testaudio.mp3', 'testaudio.wav'])

ffmpeg.exe和文件convertmp3towav.pyaudiotest.mp3位于 同一 目录C:\PATH_programs\ffmpeg-4.4-full_build\ffmpeg-4.4-full_build\bin中 .

标签: pythonwindowsffmpegsubprocess

解决方案


我认为pydub比 subprocess 更灵活

from pydub import AudioSegment

audio_file = AudioSegment.from_file("testaudio.mp3")
audio_file.export("testaudio.wav", "wav")

推荐阅读