VC windows应用 调试 ffmpeg 打开控制台窗口输出

ffmpeg都是用AV_LOG输出调试日志的,但是在默认的MFC或windows应用是不会有日志输出的。

只有在初始化的时候创建一个控制台窗口,然后将stderr和stdout都在这个窗口输出,就可以了,下面是实现代码。

需要控制台的时候,只要增加_DEBUG_CONSOLE定义,请在应用初始化的时候,执行这个函数。在win10系统,visual stduio 2017下面运行通过。

void InitConsole()
{
#ifdef _DEBUG_CONSOLE
	AllocConsole();
	AttachConsole(GetCurrentProcessId());
	freopen("CON", "w", stdout);
	freopen("CON", "w", stderr);
#endif
}

下面是测试效果:

	av_log_set_level(AV_LOG_VERBOSE);
	av_log(NULL, AV_LOG_VERBOSE, "this is AV_LOG_VERBOSE\n");
	av_log(NULL, AV_LOG_DEBUG, "this is AV_LOG_DEBUG\n");
	av_log(NULL, AV_LOG_INFO, "this is AV_LOG_INFO\n");
	av_log(NULL, AV_LOG_WARNING, "this is AV_LOG_WARNING\n");
	av_log(NULL, AV_LOG_ERROR, "this is AV_LOG_ERROR\n");
	av_log(NULL, AV_LOG_FATAL, "this is AV_LOG_FATAL\n");

下面是输出内容,但是好像没有DEBUG信息,算了,暂时先不管了。够用就可以。

你可能感兴趣的:(C/C++,ffmpeg,visual,studio,C++)