FFmpeg多媒体文件处理(ffmpeg打印音视频Meta信息)

打印音/视频信息

  • avdevice_register_all()
  • avformat_open_input()/avformat_close_input
  • av_dump_format()

实战

int main(int argc, const char * argv[]) {
    
    int ret = 0;
    AVFormatContext *fmt_ctx = NULL; //创建AVFormatContext格式上下文指针

    av_log_set_level(AV_LOG_INFO); //设置日志打印级别
    
    avdevice_register_all(); //注册所有的设备
    
    ret = avformat_open_input(&fmt_ctx, "./test.mp4", NULL, NULL); //第三个参数是输入文件的格式,NULL则会根据文件后缀名自行选择,如果文件后缀名不是mp4,但是里面是mp4数据格式,这个时候第三个参数要指定为mp4,第四个参数是从命令行传一些参数进来,一般设置为NULL就可以
    if(ret < 0){
        av_log(NULL, AV_LOG_ERROR, "Can't open file:%s\n", av_err2str(ret));
    }
    
    av_dump_format(fmt_ctx, 0, "./童话镇.flac", 0); //第2个参数是流的索引值,直接填0就可以,应该是代表取第一路视频流,第四个参数指是输入流还是输出流,这里是向ffmpeg输入文件所以使用0,如果是ffmpeg向外输出文件就要是1
    
    avformat_close_input(&fmt_ctx);
    
    
    return 0;
}

上一篇:新版计算机专业课-四大金刚 33G计算机网络+操作系统+组成原理+数据结构课程 必备基础


下一篇:ubuntu/Linux下cannot find lib....so.x 无法找到动态链接库