Python 如何使用FFMPEG选择文件的保存位置

Python 如何使用FFMPEG选择文件的保存位置,python,windows,ffmpeg,Python,Windows,Ffmpeg,我想知道我怎样才能告诉FFMPEG在哪里保存它转换的文件,这会使文件在我的计算机中保存得太深 check_output("ffmpeg -i " + location + " -vn -ar 44100 -ac 1 -b:a 32k -f wav audio.wav", shell=True) 我在程序中使用它将文件转换为wav。这个问题与python完全无关 我建议停止使用shell=True,因为这样会调用一个shell来调用您的子流程,增加无用的开销(调用一个流程来调用另一个流程)。另一

我想知道我怎样才能告诉FFMPEG在哪里保存它转换的文件,这会使文件在我的计算机中保存得太深

check_output("ffmpeg -i " + location + " -vn -ar 44100 -ac 1 -b:a 32k -f wav audio.wav", shell=True)

我在程序中使用它将文件转换为wav。

这个问题与python完全无关

我建议停止使用
shell=True
,因为这样会调用一个shell来调用您的子流程,增加无用的开销(调用一个流程来调用另一个流程)。另一个优点是,它允许您以参数列表的形式提供命令行,这将您从引号/空格地狱中解放出来,而且更简单

也就是说,只需将文件夹添加到目标文件名,它就会在那里生成:

filename = 'audio.wav'
destination = r'C:\Some\Folder'
subprocess.check_output(["ffmpeg", 
    "-i", location,
    "-vn",
    "-ar", "44100",
    "-ac", "1",
    "-b:a", "32k",
    "-f", "wav",
    os.path.join(destination, filename)
])

这个问题与python完全无关

我建议停止使用
shell=True
,因为这样会调用一个shell来调用您的子流程,增加无用的开销(调用一个流程来调用另一个流程)。另一个优点是,它允许您以参数列表的形式提供命令行,这将您从引号/空格地狱中解放出来,而且更简单

也就是说,只需将文件夹添加到目标文件名,它就会在那里生成:

filename = 'audio.wav'
destination = r'C:\Some\Folder'
subprocess.check_output(["ffmpeg", 
    "-i", location,
    "-vn",
    "-ar", "44100",
    "-ac", "1",
    "-b:a", "32k",
    "-f", "wav",
    os.path.join(destination, filename)
])

运行命令时可能使用
cwd
?或者输出的绝对路径在运行命令时可以使用
cwd
?或绝对路径的输出谢谢你这么多!这是一个巨大的帮助!非常感谢你!这是一个巨大的帮助!