【ffmpeg基础知识】打印视频meta信息

#include <libavutil/log.h>
#include <libavformat/avformat.h>

int main(int argc,char* argv[])
{
        int ret;
//用于联系上下文使用,就是串联各函数之间,让其他函数知道操作的是哪个
        AVFormatContext *fmt_ctx = NULL;
//设置log的等级
        av_log_set_level(AV_LOG_INFO);
//井号部分是因为有些接口版本过期了,需要使用宏进行处理
#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 9, 100)
        av_register_all();
#endif
        ret = avformat_open_input(&fmt_ctx,"./aaa.mp4",NULL,NULL);
        if(ret < 0){ 
                av_log(NULL,AV_LOG_ERROR,"cant open file: %s\n",av_err2str(ret));
                return -1; 
        }
//打印信息,数字1是序号1的意思
        av_dump_format(fmt_ctx,1,"aaa.mp4",0);
        avformat_close_input(&fmt_ctx);
        return 0;
}
~  

gcc -g -o ffmpeg_printmp4 ffmpeg_printmp4.c `pkg-config --libs libavformat libavutil`

Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42isom
    creation_time   : 2021-02-20T03:00:27.000000Z
  Duration: 00:00:17.69, bitrate: N/A
    Stream #1:0(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, 2 channels, 128 kb/s (default)
    Metadata:
      creation_time   : 2021-02-20T03:00:27.000000Z
    Stream #1:1(und): Video: h264 (avc1 / 0x31637661), none, 960x544, 942 kb/s, 29.38 fps, 29.42 tbr, 90k tbn (default)
    Metadata:
      creation_time   : 2021-02-20T03:00:27.000000Z
      encoder         : JVT/AVC Coding

  

原文地址:https://www.cnblogs.com/powercool/p/14438853.html