ruby不会读取ffmpeg的输出

时间:2011-01-13 09:40:46

标签: ruby ffmpeg

运行

a = `ffmpeg -i video.mp4`

似乎没有将命令的输出提供给a ......为什么会这样?如何覆盖它?

1 个答案:

答案 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