我在Python 2.7中使用以下系统命令。我能够在终端中成功执行相同的命令,而我无法在python中运行它(获取返回码= 32512)。该命令基本上将mp3文件转换为波形文件以及立体声到单声道转换。我能够在终端中成功运行相同的命令。
os.system(“ffmpeg -i /Users/krish/audio.mp3 -acodec pcm_s16le -ar 16000 -ac 1 /Users/krish/converted_audio.wav”)
我也尝试过使用subprocess命令,但它给出了相同的32512返回码。
有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
对此有更具体的答案。
而不是在python中使用以下命令:
os.system("ffmpeg -i /Users/krish/audio.mp3 -acodec pcm_s16le -ar 16000 -ac 1 /Users/krish/converted_audio.wav")
首先通过在终端中提供以下命令来找出ffmpeg的安装位置(在Linux和Mac上均可)
which ffmpeg
在我的情况下,这是上述命令的输出:
/usr/local/bin/ffmpeg
现在,如下修改python中的os.system
命令:
os.system("/usr/local/bin/ffmpeg -i /Users/krish/audio.mp3 -acodec pcm_s16le -ar 16000 -ac 1 /Users/krish/converted_audio.wav")
在不引发32512
错误的情况下应该可以很好地工作!
答案 1 :(得分:-1)
您收到该错误是因为您必须使用os.system()
的ffmpeg命令的完整路径。
而不是os.system()
查看subprocess.call()
。 This可能有帮助。