运行
a = `ffmpeg -i video.mp4`
似乎没有将命令的输出提供给a
......为什么会这样?如何覆盖它?
答案 0 :(得分:5)
快速回答:
a = `ffmpeg -i video.mp4 2>&1`
详细解答:
当我在一个方便的文件上运行ffmpeg -i blah.avi
时,我注意到它在输出标准时没有输出;相反,所有输出到标准错误。您可以通过运行以下命令检查shell:
ffmpeg -i video.mp4 > /tmp/standard_out 2> /tmp/standard_error
然后查看/tmp/standard_out
和/tmp/standard_error
。你会很快看到哪一个是哪一个。您可以在脚本中使用ffmpeg -i video.mp4 2>&1
快速“修复”此问题,这将要求shell将stderr与stdout一起重定向。你无法分辨出stderr和stdout之间的区别,但是你可以很容易地得到你看到的输出。
如果你想将stdout和stderr分开,你将不得不使用popen3。