ffmpeg 提供了自己的 log 模块 av_log,会默认把输出打印到 stderr 上,因此无法方便地跟踪日志。但是 ffmpeg 提供了一个接口 av_log_set_callback 以供外界自定义自己的日志输出。
libglog 提供的是c++ 形式的日志输出样式,因此需要将二者关联起来,代码如下:
extern "C"
{
#include "libavutil/log.h"
}void glogLOG(void* ins,int level,const char* fmt, va_list li)
{char str[8192] = {0};snprintf(str,8120,fmt,li);//这里可以根据 level 的级别使用 LOG(INFO) / LOG(ERROR) / LOG(FATAL) 等等LOG(INFO) << str;
}void init(){av_log_set_callback(glogLOG);
}