鄙人之前写过vs2017调试ffmpeg源码
现在由于需要分析视频文件里面的具体帧情况,需要用到ffprobe工具,为此本篇博客搭建vs2017工程,可以调试ffprobe,ffprobe比ffmpeg简单很多。
首先找到ffmpeg的编译目录,将下列三个文件拷贝到目标工程
然后我此处打开FfprobeDebugTest的工程目录,主目录的.h和.c就这三个文件。
此外还有个ffmpeg,我们进入此目录,如下所示:
这个目录其实是将ffmpeg的编译目录拷贝过来,本人的编译目录是e:/ffmpeg/ffmpeg,然后我将e:/ffmpeg/ffmpeg直接拷贝到此。
为何我将这个编译目录拷贝过来,这里解释下,这个跟我之前写vs2017调试ffmpeg源码有关,ffmpeg.exe本身依赖的东西比较多,有些是ffmpeg编译成果物里面没有的,所以此处为了图快,不出意外,我直接将整个目录拷贝过来了。
然后我们看下这个工程依赖的头文件目录设置:
这里面自然包含了ffmpeg所有的头文件。
最后我们看下库依赖:
libx264.lib
libx265.lib
vpxmt.lib
Mfuuid.lib
Strmiids.lib
Mfplat.lib
Bcrypt.lib
Secur32.lib
Vfw32.lib
Shlwapi.lib
ws2_32.lib
freetype.lib
fontconfig.lib
avcodec.lib
avdevice.lib
avfilter.lib
avformat.lib
avutil.lib
swresample.lib
swscale.lib
postproc.lib
最后我们来调试下,设置调试参数如下:
这个是显示mp4文件里面的所有视频帧情况,输出到videoframes.info里面。
在main函数打断点,启动调试:
最终生成的videoframes.info的部分内容截图如下:
这里打印出视频帧的详细情况。