FFmpeg开发实战(三):FFmpeg 打印音视频Meta信息

在之前使用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);
}
原文地址:https://www.cnblogs.com/renhui/p/10392721.html