沒得話講,先在官網下載對應的源碼,下載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的源碼了