如何在不使用其他进程的情况下使ffmpeg真正沉默

时间:2013-10-29 07:25:39

标签: ruby ffmpeg

我在像这样的红宝石代码中使用ffmpeg:

fork { exec "ffmpeg -f alsa -ac 2 -i pulse -y #{path} -r 22050" }

它发送已创建进程的pid。在跟踪中,我有这个:

Stream mapping:
  Stream #0.0 -> #0.0
Press ctrl-c to stop encoding
psize=     832kB time=4.52 bitrate=1507.4kbits/s    6.1kbits/s    its/s    
size=     963kB time=5.14 bitrate=1536.1kbits/s    
video:0kB audio:963kB global headers:0kB muxing overhead 0.004664%

我想让它安静下来。我尝试添加-loglevel panic-v 0,但它不起作用。我知道,我可以添加此>/dev/null 2>&1但它会创建另一个进程,我的方法只发送第一个进程的pid。

有没有办法让ffmpeg真正沉默而不创建另一个进程?

1 个答案:

答案 0 :(得分:0)

尝试-loglevel quiet作为全局选项(第一个选项,在输入选项之前),如下所示:

fork { exec "ffmpeg -loglevel quiet -f alsa -ac 2 -i pulse -y #{path} -r 22050" }

有关详细信息,请参阅FFmpeg Generic Options上的文档。