在之前使用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); }