ffmpeg C++ 查看视频文件信息程序

Posted Dontla

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ffmpeg C++ 查看视频文件信息程序相关的知识,希望对你有一定的参考价值。

main.cpp

#pragma warning(disable : 4996)
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <string>       // 字符串操作

#ifdef __cplusplus
    extern "C" 
                // ffmpeg 相关头文件
#endif
    #include <libavformat/avformat.h>
#ifdef __cplusplus
    
#endif

#pragma comment(lib, "avformat.lib")

std::string fileName = "C:\\\\Users\\\\Arnold\\\\source\\\\repos\\\\20221120_ffmpeg_test5_rtspToH265Mp4\\\\video_out.mp4";//文件地址
//std::string fileName = "C:\\\\Users\\\\Arnold\\\\Web\\\\RecordFiles\\\\2022-11-22\\\\192.168.1.67_01_20221122165315123.mp4";//文件地址

int main()

    AVFormatContext* fmt_ctx = avformat_alloc_context();//创建对象并初始化
    int ret = 0;

    do 
        //打开文件
        if ((ret = avformat_open_input(&fmt_ctx, fileName.c_str(), NULL, NULL)) < 0)
            break;//Cannot open video file

        //查找流信息(音频流和视频流)
        if ((ret = avformat_find_stream_info(fmt_ctx, NULL)) < 0) 
            printf("Cannot find stream information\\n");
            break;
        

        av_dump_format(fmt_ctx, 0, fileName.c_str(), 0);//输出视频信息
     while (0);

    avformat_close_input(&fmt_ctx);//关闭文件

    return ret;

VS运行结果:

[h264 @ 0000018bcf349600] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, h264, from 'C:\\Users\\Arnold\\source\\repos\\20221120_ffmpeg_test5_rtspToH265Mp4\\video_out.mp4':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x1080, 25 fps, 25 tbr, 1200k tbn, 50 tbc

可以看出我这个视频有点问题。。。

以上是关于ffmpeg C++ 查看视频文件信息程序的主要内容,如果未能解决你的问题,请参考以下文章

FFmpeg从视频中提取音频

使用FFmpeg命令处理音视频

FFmpeg三件套之FFprobe使用介绍

FFmpeg工具

音视频连载-011第二季 FFmpeg 一层一层获取文件信息

音视频连载-011第二季 FFmpeg 一层一层获取文件信息