没得话讲,先在官网下载对应的源码,下载dev/文件夹下的源码和静态链接库 ,下载/shared文件夹下的动态链接库
官网地址:https://ffmpeg.zeranoe.com/builds/win64/
1.首先在vs2017下新建一个console项目
2.设置工程的属性
3.添加include头文件目录
4.然后再添加静态链接库的包含目录
5.添加静态库的名字
这里我给出静态链接库名
avcodec.lib
avdevice.lib
avfilter.lib
avformat.lib
avutil.lib
avdevice.lib
avfilter.lib
avformat.lib
avutil.lib
postproc.lib
swresample.lib
swresample.lib
swscale.lib
6.之后再到ffmpeg-4.1.1-win64-dev\examples\目录下随便拷贝一个实例
到新建的工程中去,我将源码拷贝到主函数所在的文件中;如下图所示
7.在这里注意,要以C的方式编译头文件<libavcodec/avcodec.h>,否则c++编译器会报错
extern "C"
{
#include <libavcodec/avcodec.h>
}
{
#include <libavcodec/avcodec.h>
}
还有一点要注意,就是将源码中的fopen()函数全部改成fopen_s();这是编译器提醒的所以 fopen_s();
我们可查看fopen_s()的源码,发现如图
所以fopen_s(&f,filename, "w") 相应的该即可
8.之后编译我们所建立的工程,发现如下
这是因为缺少动态链接库的原因,毕竟使用动态链接库有很多好处
10.将shared目录下的文件拷贝到我们所新建的工程中的debug目录下,
ok,到此为止,工程建立完毕,可以学习ffmpeg的源码了