FFMpeg日誌系統
1.添加頭文件
#include <libavutil/log.h>
2.設置打印日誌信息級別
當需要打印的日誌信息級別大於設置的級別的時候纔會打印
av_log_set_level(AV_LOG_DEBUG);
av_log_set_level(AV_LOG_INFO);
av_log_set_level(AV_LOG_WARN);
av_log_set_level(AV_LOG_ERROE);
3.打印日誌
av_log(NULL,AV_LOG_DEBUG,"Hello FFMpeg!\n")
4.編寫測試文件
#include <stdio.h>
#include <libavutil/log.h>
int main(int arg,char* argv[])
{
av_log_set_level(AV_LOG_DEBUG);
av_log(NULL,AV_LOG_DEBUG,"Hello,FFMpeg!\n");
return 0;
}
5.編譯
gcc ffmpeg_log.c -o ffmpeg_log -lavutil
出現錯誤:ffmpeg_log.c:2:27: fatal error: libavutil/log.h: 沒有那個文件或目錄
compilation terminated.
(1)安裝pkg-config
apt install pkg-config
(2)gcc ffmpeg_log.c -o ffmpeg_log pkg-config --libs --cflags libavutil
出現新的錯誤:
Package libavutil was not found in the pkg-config search path.
Perhaps you should add the directory containing `libavutil.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libavutil' found
ffmpeg_log.c:2:27: fatal error: libavutil/log.h: 沒有那個文件或目錄
compilation terminated.
(3)配置環境變量
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/xxx/xxx/lib/pkgconfig
例如:我的ffmpeg在/usr/local/ffmpeg/下
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/ffmpeg/lib/pkgconfig
(4)配合之完成後重新執行編譯
gcc ffmpeg_log.c -o ffmpeg_log `pkg-config --libs --cflags libavutil`
(5)沒有錯誤信息,成功!