2013-07-20 65 views
0

我想打電話從一個Python腳本以下命令:執行一個C程序與子

ffmpeg -i infile.avi -acodec copy -vcodec copy outfile.mp4 

這是我的嘗試:

from subprocess import call 
call(["ffmpeg","-i infile.avi", "-acodec copy", "-vcodec copy", "outfile.mp4") 

我也試過

call(["ffmpeg","-i infile.avi -acodec copy -vcodec copy outfile.mp4") 

我收到以下錯誤

Unrecognized option 'i infile.avi'. 
Error splitting the argument list: Option not found 

這些都行不通,我做錯了什麼?

在此先感謝

回答

1

你可能需要單獨引用您paramters:

call(["ffmpeg", "-i", "infile.avi", "-acodec", "copy", "-vcodec", "copy", "outfile.mp4") 
+0

謝謝!是的,這是我第一次使用子進程。 :P – GangstaGraham

+0

您可以這樣想 - 子處理列表中的引用項像命令行中的引用項。例如''echo「」foo「'會起作用(並打印出'foo'),但是''echo foo''不會(同樣地,'[」echo foo「]對於子過程不起作用) 。 – Amber