VS2013中配置FFMPEG开发环境

包含三个版本:Static、Shared以及Dev
Static   --- 包含3个应用程序:ffmpeg.exe , ffplay.exe , ffprobe.exe,此三个文件可以调用相应的ffmpeg命令行对视频流进行处理。
Shared --- 除了ffmpeg.exe , ffplay.exe , ffprobe.exe之外还有一些DLL,提供相应的视频处理动态库文件,在运行时到相应的DLL中调用功能。

Dev      --- 开发者(developer)版本,里面包含了库文件xxx.lib以及头文件xxx.h,用于vc++程序编译的静态库链接。

vc++中经常用到的是Shared(*.dll)和Dev(*.lib;*.h),头文件,动态库文件

1、打开 Visual Studio 2013,新建项目,选择 Visual C++ 中的 Win32 控制台应用程序,进入 FFmpeg 源码文件夹下的 doc/examples 文件夹,找到 metadata.c 文件,运行结果为打印音视频媒体文件基本信息。用此文件作为测试程序,建立的c++控制台程序项目如下:

VS2013中配置FFMPEG开发环境

在 Visual Studio 中的项目名上右击,打开属性,分别设置 配置属性 -> C/C++ -> 附加包含目录 和 配置属性 -> 链接器 -> 附加库目录,配置相应的include,lib目录文件路径,用于动态链接,如下图所示:

VS2013中配置FFMPEG开发环境

VS2013中配置FFMPEG开发环境


在附加依赖项中加入相应的lib库文件

VS2013中配置FFMPEG开发环境


第二步解压的 32-bit Shared 文件夹下的 bin 文件夹中的 avcodec-56.dll、avformat-56.dll、avutil-54.dll 和 swresample-1.dll 拷贝到与解决方案同名的项目文件夹中

编译成功的画面如下图

VS2013中配置FFMPEG开发环境


命令行下编译此程序如下:

VS2013中配置FFMPEG开发环境

提示  cannot open include file 'libavformat/avformat.h',no such file or directory

将相应的.h ,.lib文件复制到项目目录下:

VS2013中配置FFMPEG开发环境

VS2013中配置FFMPEG开发环境

提示错误:

consoleapplication2.obj : error LNK2019: unresolved external symbol _av_dict_get referenced in function _main

consoleapplication2.exe : fatal error LNK1120: 1 unresolved externals

缺少相应的链接  .lib文件,补全相应的链接文件 ,link consoleapplication2.obj avformat.lib  avcodec.lib avutil.lib

编译通过

VS2013中配置FFMPEG开发环境

运行程序结果如下:

VS2013中配置FFMPEG开发环境