美文网首页
ffmpeg 打印音视频的 meta 信息

ffmpeg 打印音视频的 meta 信息

作者: 孙掌门 | 来源:发表于2018-11-18 14:44 被阅读0次

    ffmpeg 打印音视频的 meta 信息

    用到四个函数 :

    av_register_all();

    avformat_open_input

    av_dump_format

    avformat_close_input

    直接上代码

    av_register_all();
        AVFormatContext *fmt_ctx = NULL;
        int ret;
        // 1. 上下文 2.文件名 3.文件的格式,如输入的格式,和后缀名格式不同 4.一些参数
        ret = avformat_open_input(&fmt_ctx, "./a.mp4", NULL, NULL);
        
        if (ret < 0 ) {
            av_log(NULL, AV_LOG_ERROR, "cant open file1 : %s",av_err2str(ret));
            return -1;
        }
        // 打印 meta 信息
        // 1.上下文  2.流的索引值 3. 文件名  4.输入流还是输出流 ,输入填0 输出填1
        av_dump_format(fmt_ctx, 0, "./a.mp4", 0);
        avformat_close_input(&fmt_ctx);
        return 0;
    
    

    编译运行

    将上面的代码复制到 main.c 里面,然后终端编译, gcc -g -o app main.c pkg-config --libs libavformat libavutil

    , 然后 ./app ,就可以看到打印的信息了。

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'a.mp4':
      Metadata:
        major_brand     : mp42
        minor_version   : 0
        compatible_brands: mp42isom
        creation_time   : 2018-09-29T08:07:09.000000Z
      Duration: 00:00:11.43, bitrate: N/A
        Stream #0:0(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, 2 channels, 96 kb/s (default)
        Metadata:
          creation_time   : 2018-09-29T08:07:09.000000Z
        Stream #0:1(und): Video: h264 (avc1 / 0x31637661), none, 960x544, 1131 kb/s, 30.06 fps, 30 tbr, 90k tbn (default)
        Metadata:
          creation_time   : 2018-09-29T08:07:09.000000Z
          encoder         : JVT/AVC Coding
    
    

    从打印信息可以看到,流的索引值是 0 ,视频的 时长 Duration: 00:00:11.43 , 比特率为 N/A 未知,编码类型为 Video: h264 (avc1 / 0x31637661),分辨率为 960x544 , 帧率为 30.06 fps,码率为 1131 kb/s

    Audio: aac (mp4a / 0x6134706D),采样率 48000 Hz ,双声道,码率为 96 kb/s (default)

    相关文章

      网友评论

          本文标题:ffmpeg 打印音视频的 meta 信息

          本文链接:https://www.haomeiwen.com/subject/wplgfqtx.html