如何从python将命令传递给应用程序

时间:2015-04-03 14:58:57

标签: python ffmpeg command subprocess

我正在尝试从python运行ffmpeg应用程序。我正在使用以下代码来执行应用程序

  

导入子流程
  subprocess.call([' C:/ffmpeg/bin/ffmpeg.exe'])

通过此命令,应用程序正在执行。有人可以告诉我如何将命令传递给应用程序,我试过

  

subprocess.call([&#39; C:/ffmpeg/bin/ffmpeg.exe',&#39; ffmpeg -i 2.mp4 -vn -ab 128 outputaudio.mp3&#39;])< / p>

但它不起作用。

2 个答案:

答案 0 :(得分:2)

他们需要成为单独的args:

subprocess.check_call(['C:/ffmpeg/bin/ffmpeg.exe','ffmpeg','-i',"2.mp4","-vn", "-ab", "128", "outputaudio.mp3"])

如果命令返回非零退出状态,也使用check_call代替callcheck_call将引发CalledProcessError。 我不确定'ffmpeg'应该在那里。

答案 1 :(得分:0)

参数应该是列表中的单独元素。 doc page有一个如何调用它的示例。你的应该是这样的:

['C:/ffmpeg/bin/ffmpeg.exe','ffmpeg','-i 2.mp4','-vn','-ab','128','outputaudio.mp3']