【问题标题】:Disable OpenCV VideoWriter output禁用 OpenCV VideoWriter 输出
【发布时间】:2014-06-06 16:32:07
【问题描述】:

当我使用 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 或其他东西。
  • 是的,我需要其他控制台输出,这会增加很多噪音。

标签: c++ opencv stl cout


【解决方案1】:

“静音”控制台一段时间。 Ref.

#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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-23
    • 1970-01-01
    • 1970-01-01
    • 2015-02-01
    • 1970-01-01
    • 2018-05-31
    • 1970-01-01
    • 2023-01-16
    相关资源
    最近更新 更多