在之前使用FFmpeg命令行的時候,我們經常看到FFmpeg命令行在輸出音視頻文件的會打印一下文件的Meta信息,類似如圖:

那么我們如何通過代碼的方式輸出這些Meta信息呢?
FFmpeg提供了一個API專門用來打印多媒體文件的格式 —— av_dump_format ( )。
下面是示例代碼:
// 使用FFmpeg打印多媒體文件的Meta信息 void ffmpegVideoMeta() { av_log_set_level(AV_LOG_INFO); AVFormatContext *fmt_ctx = NULL; av_register_all(); int ret; // 參數為 AVFormatContext上下文、文件名、指定的輸入格式(一般為NULL,由ffmpeg自行解析)、附加參數(一般為NULL) ret = avformat_open_input(&fmt_ctx, "111.mp4", NULL, NULL); if (ret < 0) { printf("Cant open File: %s\n", av_err2str(ret)); } // 參數為AVFormatContext上下文、流索引值(一般不用關心,直接寫0)、文件名、是否是輸入出文件(1:是 0:不是) av_dump_format(fmt_ctx, 0, "111.mp4", 0); // 關閉打開的多媒體文件 avformat_close_input(&fmt_ctx); }
