在之前使用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 ", av_err2str(ret)); } // 参数为AVFormatContext上下文、流索引值(一般不用关心,直接写0)、文件名、是否是输入出文件(1:是 0:不是) av_dump_format(fmt_ctx, 0, "111.mp4", 0); // 关闭打开的多媒体文件 avformat_close_input(&fmt_ctx); }