一、頭文件
#include <libavutil/log.h>
二、常用函數
1、av_log_set_level
void av_log_set_level(int level);
????????該函數用于設置全局日志級別。
2、av_log
void av_log(void* avcl, int level, const char* fmt, ...);
????????該函數用于輸出日志消息。avcl
參數是相關聯的上下文指針,level
參數是日志級別,fmt
和后面的參數是格式化字符串及其參數。
3、av_log_set_callback
void av_log_set_callback(void (*callback)(void* ptr, int level, const char* fmt, va_list vl));
????????該函數用于設置自定義日志回調函數。callback
參數是一個函數指針,指向自定義的日志回調函數。
4、av_log_default_callback
void av_log_default_callback(void* ptr, int level, const char* fmt, va_list vl);
????????該函數是 FFmpeg 默認的日志回調函數。你可以在自定義日志回調中調用此函數,以保留默認的日志行為。
5、av_default_item_name
const char *av_default_item_name(void* ctx);
????????該函數返回一個描述性名稱,用于日志輸出。ctx
參數是上下文指針。
三、日志等級
AV_LOG_QUIET? ??
(-8)? ? ? ?靜默模式,不打印任何日志。AV_LOG_PANIC? ??
(0)? ? ? ? 表示發生致使程序崩潰的嚴重錯誤。AV_LOG_FATAL? ??
(8)? ? ? ? 嚴重錯誤,但程序可能不會立即崩潰。AV_LOG_ERROR? ??
(16)? ? ? 一般錯誤。AV_LOG_WARNING? ?
(24)? ? ? 警告信息,指示某些非關鍵性問題。AV_LOG_INFO? ? ?
(32)? ? ? 一般信息,用于通知用戶程序運行狀態。AV_LOG_VERBOSE? ?
(40)? ? ? 詳細信息,提供更深入的編解碼過程描述。AV_LOG_DEBUG? ??
(48)? ? ? 調試信息,為開發者提供詳細的內部操作數據。AV_LOG_TRACE? ??
(56)? ? ? 跟蹤信息,記錄函數調用和數據流。