ffmpeg-日志系统

本文详细分析了ffmpeg的日志系统,包括其颜色输出、模块标识和日志等级控制等特点。探讨了-loglevel trace命令如何设置日志等级,并深入源码解析了av_log函数的调用流程,特别是av_log_default_callback、format_line和colored_fputs等关键函数在处理日志输出格式和颜色方面的功能。总结了日志处理的核心思路,即信息分段、内容格式化、颜色设定和输出控制。
摘要由CSDN通过智能技术生成

一、ffmpeg的日志系统,个人感觉主要好在以下几个方面:
1.有颜色输出
2.标志输出的日志信息属于哪一个模块
3.输出信息的日志等级可控。也就是说通过控制,输出的日志信息内容会不同

二、 简单分析ffmpeg日志系统的处理机制:
2.1、 例如,当命令是-loglevel trace时,ffmpeg内部是怎样处理的?
av_log(avctx, AV_LOG_VERBOSE, “Codec not supported\n”);执行这一行代码,内部发生什么?

int main(int argc, char **argv)
{
 .....
    /*与重复信息的处理有关*/
    av_log_set_flags(AV_LOG_SKIP_REPEATED);

    /*解析设置loglevel的命令*/
    parse_loglevel(argc, argv, options);
  .....
 }
void parse_loglevel(int argc, char **argv, const OptionDef *options)
{
    /*查找匹配命令
     *命令会在数组const OptionDef options[] 查找----ffmpeg_opt.c
     */
    int idx = locate_option(argc, argv, options, "loglevel");
    const char *env;

    check_options(options);

    if (!idx)
        idx = locate_option(argc, argv, options, "v");

    /*设置loglevel命令*/
    if (idx && argv[idx + 1])
        opt_logl
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值