赛跑
a = `ffmpeg -i video.mp4`
Run Code Online (Sandbox Code Playgroud)
似乎没有给出命令的输出a...为什么?怎么覆盖它?
快速回答:
a = `ffmpeg -i video.mp4 2>&1`
Run Code Online (Sandbox Code Playgroud)
详细解答:
当我ffmpeg -i blah.avi在一个方便的文件上运行时,我注意到它在输出标准时没有输出; 相反,所有输出到标准错误.您可以通过运行来检查自己的shell:
ffmpeg -i video.mp4 > /tmp/standard_out 2> /tmp/standard_error
Run Code Online (Sandbox Code Playgroud)
然后看看两者/tmp/standard_out和/tmp/standard_error.你会很快看到哪一个是哪一个.您可以ffmpeg -i video.mp4 2>&1在脚本中快速"修复"此操作,这将要求shell将stderr与stdout一起重定向.你将无法区分stderr和stdout之间的区别,但是你可以很容易地得到你看到的输出.
如果你想将stdout和stderr分开,你将不得不使用popen3.
| 归档时间: |
|
| 查看次数: |
328 次 |
| 最近记录: |