禁用OpenCV VideoWriter输出

4
当我使用OpenCV的VideoWriter类创建视频时,终端会输出类似于以下内容:
Output #0, avi, to 'video.avi':
Stream #0.0: Video: mpeg4, yuv420p, 512x384, q=2-31, 12582 kb/s, 90k tbn, 24 tbc

我想禁用它,但我不知道如何操作。


这看起来像是ffmpeg/libav/libavcodec/x264正在写入的内容 - 运行命令行ffmpeg会得到类似的输出。你可能无法在不重新构建视频库的情况下禁用它。如果您不需要其他控制台输出,您可以将其导向/dev/null或其他地方。 - damian
是的,我需要其他控制台输出,这会增加很多噪音。 - Elie Génard
1个回答

0

暂时“静音”控制台。参考

#include <iostream>
#include <fstream>
int main ( int argc, char** argv )
{
    std::streambuf* cout_sbuf = std::cout.rdbuf(); // save original sbuf
    std::ofstream   fout("temp");
    std::cout<<"A\n";
    std::cout.rdbuf(fout.rdbuf()); // redirect 'cout' to a 'fout'
    std::cout<<"B\n";
    std::cout.rdbuf(cout_sbuf); // restore the original stream buffer
    std::cout<<"C\n";
    return 0;
}

控制台输出:

A
C

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接