我有一個問題,通過python(2.6.1)子進程使用mencoder(SVN-r30531-4.2.1)。我試圖加入兩個完全相同大小的mp4文件,編解碼器等。兩者都沒有音頻。我用來測試的代碼是:Python子進程+ mencoder不工作,相同的命令在終端工作
import subprocess
mp4merge = [ "mencoder", "in1.mp4", "in2.mp4", "-ovc", "copy", "-oac", "copy", "-of", "lavf", "-o", "out.mp4" ]
try:
pMerge = subprocess.Popen(mp4merge, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
while pMerge.poll() == None:
for l in pMerge.stderr.readlines():
print l
if pMerge.poll() is not None:
print "Complete"
except subprocess.CalledProcessError:
print "fail"
它不起作用,它只是無限期地掛起。但是,當我通過終端(OS X 10.6.4)運行完全相同的命令時,它可以工作。該命令是:
mencoder in1.mp4 in2.mp4 -ovc copy -oac copy -of lavf -o out.mp4
您也可以下載視頻from here。我非常有信心這些視頻不是問題,因爲它在終端上運行。
謝謝!這是導致問題的原因。 – betamax 2010-08-05 11:26:25