上一篇文章讲述了如何在vs2017下编译FFmpeg的库和ffplay,这篇描述如何在vs2017下编译ffmpeg和ffprobe,有了上一篇基础再编译ffmpeg和ffprobe非常简单了。
1.编译ffprobe
仿照上一篇编译ffplay的方法,新建一个vs2017的控制台空项目ffprobe,编译需要用到的文件有:FFmpeg下config.h文件以及fftools目录下的cmdutilsc,cmdutils.h,ffprobe.c。将这四个文件拷贝到vs2017的ffprobe项目目录下,并且分别导入源文件和头文件中,项目的属性参照ffplay进行设置,其中SDL2的库是不需要的,可以去除,其它设置都是一样的。
执行编译后会报有些头文件找不到的错误,其中一些可以直接去FFmpeg源码目录对应位置拷贝过来,还有一些头文件直接注释掉即可。
2.编译ffmpeg
新建一个vs2017下的控制台空项目ffmpeg,编译需要用到的文件有:FFmpeg下config.h文件以及fftools目录下的cmdutilsc,cmdutils.h,ffmpeg.c,ffmpeg.h,ffmpeg_filter.c,ffmpeg_hw.c,ffmpeg_opt.c。将这些文件拷贝到vs2017的ffmpeg项目目录下,并且分别导入到源文件和头文件中,项目的属性参照ffplay进行设置,其中SDL2的库是不需要的,可以去除,其它设置都是一样的。
和ffprobe编译出现的情况一样,编译后会报多个头文件找不到的错误,有些头文件可以去FFmpeg源码目录对应位置拷贝过来,还有一些直接注释掉即可。经过一些纠错操作,就可以顺利编译通过了。
综上,有了上一篇的基础,再编译ffmpeg和ffprobe非常简单了,我在本地都已编译通过并运行成功,有时间我会把代码都上传到github上供人参考。