我正在开发一个 python 脚本,它通过 ffmpeg 对视频进行自定义转换。
我的问题是 ffmpeg 的执行在经过一些转换(通常是 100mb 中的 3-4mb)后突然停止,并且没有退出代码。
我正在使用pexpect库。目前我不检查进度,但我会在不久的将来。似乎我对这些问题FFMPEG 和 Pythons subprocess和Getting realtime output from ffmpeg to be used in progress bar (PyQt4, stdout)使用 pexpect 是正确的。这是我正在运行的命令(我已经检查过它正是这个)
nice ffmpeg -i '/full/path' -s 640x360 -strict experimental -vcodec libx264
-f mp4 - coder 0 -bf 0 -refs 1 -flags2 -wpred-dct8x8 -level 30 -crf 26
-bufsize 4000k -maxrate 350k -preset medium -acodec libvo_aacenc
-ar 48000.0 -ab 128K -threads 2 -y '/full/path/out'
我用得很好,但我也试过没有它,结果是一样的。
我以这种方式运行 pexpect:
output, exit = pexpect.run(self.command(), withexitstatus=True,\
logfile=logfile)
print output
print exit
当然,我在命令行上尝试过相同的命令,它工作正常。
关于可能发生什么的任何线索?