c++ - 如何使 FFmpeg C++ 代码不输出错误消息?

标签 c++ ffmpeg

我正在使用 FFmpeg 的 C++ 库解码视频,如下所示:

AVPacket* avPacket = av_packet_alloc();
if (!avPacket) std::cout << "av packet error" << std::endl;
int result = avcodec_send_packet(avCodecContext, avPacket);
    if (!result) {
        for ( ; !result ; ) {
            result = avcodec_receive_frame(avCodecContext, avFrame);
            if (!result) {
            ...

它可以工作,但有时 FFmpeg 会遇到有问题的帧并发出以下内容:

[h264 @ 0x7fd3bc2c4b00] no frame!
[h264 @ 0x7fd3bc2c4b00] no frame!
[h264 @ 0x7fd3bc2c4b00] no frame!

是否可以关闭这些消息?我没有看到任何明显的方法。

最佳答案

在我的代码中,我使用 av_log_set_callback() 将输出消息重定向到我自己的日志文件,这样我就可以在将不需要的消息写入日志之前过滤掉它们。

关于c++ - 如何使 FFmpeg C++ 代码不输出错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56760625/

相关文章:

c++ - createButton OpenCV 新 Qt 功能

c++ - 私有(private) DLL 函数可公开访问

c++ - 获取 Visual Studio 项目名称(或 exe 文件名称)以在 C++ 程序中使用它

javascript - 如何合并两个 channel 的原始pcm数据?

ffmpeg - 使用ffmpg获取psnr值时,这两种模式的内部区别是什么?

从捕获设备 Osprey 450e 流式传输 Ffmpeg 失败

multithreading - 在 SLURM 环境中运行 FFMPEG 多线程

C++/QT : "run" a QAction

c++ - 变量是大小为 1 的数组吗?

opencv - 当我构建 OpenCV 时,它无法识别我安装的 ffmpeg