У меня возникла проблема с использованием mencoder (SVN-r30531-4.2.1) через подпроцесс python (2.6.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"
И он не работает, он просто висит бесконечно. Однако, когда я запускаю ту же самую команду через Terminal (OS X 10.6.4), она работает. Команда:
mencoder in1.mp4 in2.mp4 -ovc copy -oac copy -of lavf -o out.mp4
Вы можете скачать видео from here. Я вполне уверен, что видео не являются пробкой из-за того, что она работает с Терминалом.
Спасибо! Это и вызывало проблему. – betamax