如何启用 FFMPEG 日志记录?
How to enable the FFMPEG logging?
我想调试 ffmpeg。我添加以下代码来打印日志:
av_log(s, AV_LOG_PANIC, fmt, ...)
或
printf("msg....")
但是不行。没有任何调试信息。
然后我启用调试构建选项:
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-debug"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-debug=0"
不行。
我确定我添加trace的地方会被执行
我只想打印一些简单的信息,怎么办?
我找到了解决方案:
void my_log_callback(void *ptr, int level, const char *fmt, va_list vargs)
{
vprintf(fmt, vargs);
}
设置日志级别并注册日志回调:
av_log_set_level(AV_LOG_ERROR);
av_log_set_callback(my_log_callback);
这很好用:
int main(int argc, char *argv[])
{
av_log_set_level(AV_LOG_DEBUG);
...
}
我想调试 ffmpeg。我添加以下代码来打印日志:
av_log(s, AV_LOG_PANIC, fmt, ...)
或
printf("msg....")
但是不行。没有任何调试信息。
然后我启用调试构建选项:
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-debug"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-debug=0"
不行。
我确定我添加trace的地方会被执行
我只想打印一些简单的信息,怎么办?
我找到了解决方案:
void my_log_callback(void *ptr, int level, const char *fmt, va_list vargs)
{
vprintf(fmt, vargs);
}
设置日志级别并注册日志回调:
av_log_set_level(AV_LOG_ERROR);
av_log_set_callback(my_log_callback);
这很好用:
int main(int argc, char *argv[])
{
av_log_set_level(AV_LOG_DEBUG);
...
}