1、FFMPeg开发库下载
从https://ffmpeg.zeranoe.com/builds/win32/下载已经编译好的库文件和头文件,本次以ffmpeg3.2为例,说明环境搭建。
ffmpeg-3.2-win32-dev.zip: lib文件和头文件
ffmpeg-3.2-win32-shared.zip:dll文件
ffmpeg-3.2-win32-static.zip :例程的EXE文件,暂时不下载也可以。
由于现在介绍开发,不需要调试跟踪到库文件里面的代码,所以暂时不用编译FFMPeg源码。以后再介绍编译FFMPeg源文件。
2、VS2015创建一个基于Dialog工程
由于介绍开发环境建立,基于Dialog的工程稍微省事点。
再建一个CPP文件(例中为ffmpeg.cpp),把FFMGEG有关的工作都放在这个文件里,与框架文件分开,看得清楚一点。
建立一个带窗体的工程,主要是稍后显示视频需要,就不用SDL库了。
3、解压拷贝库文件和头文件
头文件和LIB文件放到工程目录下,放到其它目录下也可以,由于打包上传工程压缩的,所以把它们集中放到工程目录下。
把解压动态库后,拷贝到Debug目录下,打包的需要,把它与编译生成EXE文件放在一起。
注:
动态库文件存放目录:
(1)可以放在系统目录system32下
(2)也可在环境变量Path中追加DLL所在的目录,
(3)或者与EXE放在一起,如本例一样。
4、配置VC项目工程属性。
(1)配置头文件路径
本例中,头文件存放于工程目录下,所以写入“.\include”
(2)配置LIB库文件的路径
(3)配置LIB库文件名
本例中把八个库文件都引入,虽然不是全部用到其中的库,为以后开发作准备。
5、配置好了、开始干
文件ffmpeg.cpp内容:
#include "stdafx.h"
#ifdef __cplusplus
extern "C" {
#endif
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#include <libavfilter/avfiltergraph.h>
#ifdef __cplusplus
}
#endif
void TestFFMpeg()
{
av_register_all();// 注册编解码库
avfilter_register_all();// 注册filter库
}
6、编译运行
编译成功了。
由于只是第一步,还没有界面输出,在调试状态下,看看有问题没有。
成功运行,没有报错。
7、下载工程项目文件
本例在Debug – x86下编译