ChinaFFmpeg

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11395|回复: 3

[Windows] ffmepg注册日志函数, 并将log写到文件

[复制链接]
发表于 2013-12-6 11:28:50 | 显示全部楼层 |阅读模式
本帖最后由 wangbingwf 于 2013-12-7 09:51 编辑

开启ffmpeg还是比较利于定位错误的地点的,开启方法, 注册一个回调函数
av_log_set_callback(av_log_callback);  //该方法注册了日志的回调函数为av_log_callback,我们在av_log_callback中对日志进行处理,以符合自己的要求


[C++] 纯文本查看 复制代码
extern "C"   
static void av_log_callback(void* ptr, int level, const char* fmt, va_list vl)   
{   
#ifdef _DEBUG   
  static FILE *fp = NULL; 

  //if(level > AV_LOG_ERROR)   //这里可以设置log的级别
  //  return;   

  if(!fp)   
    fp = fopen("e:/av_debug.log","a+");    //路径根据自己需要而改变
  if(fp){   
    vfprintf(fp,fmt,vl);   
    fflush(fp);   
  }   
#endif   

}   


[C++] 纯文本查看 复制代码
av_log_set_callback(av_log_callback);  //注册日志的回调函数
av_register_all() //ffmpeg初始化




该方法我也是摘抄的别人的,原文:http://blog.csdn.net/cffishappy/article/details/7668531

回复

使用道具 举报

发表于 2013-12-6 12:35:15 | 显示全部楼层
那个fopen后面的最好还是const char 参数传递吧,要不windows Linux 兼容会有问题
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-6 13:52:38 | 显示全部楼层
T-Bagwell 发表于 2013-12-6 12:35
那个fopen后面的最好还是const char 参数传递吧,要不windows Linux 兼容会有问题

请明示
回复 支持 反对

使用道具 举报

发表于 2013-12-7 06:03:07 | 显示全部楼层

比如你fopen直接打开的e:\下的文件,Linux没有e盘,这时你怎么办
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|Archiver|ChinaFFmpeg

GMT+8, 2024-5-1 08:24 , Processed in 0.059831 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表