一、安装ffmpeg使用命令行
- 官网下载:http://ffmpeg.zeranoe.com/builds/
- 解压到你想安装的文件目录下。解压后有个bin文件夹,复制它的路径。
- 在系统环境变量Path中加入刚刚复制的bin路径。
- 在cmd中查看是否安装成功。win+R,输入cmd打开命令提示符,输入命令ffmpeg -version
OK,安装完成,可在cmd命令符中执行ffmpeg命令。
二、在项目中调用ffmpeg的API
1. 下载ffmpeg依赖库
ffmpeg官网有static、dev和shared三个版本,我们需要下载后两个。
dev压缩包中,include是开发头文件,lib是相应库。
shared压缩包中,会用到bin目录下的dll。
2. 创建简单测试项目
建立一个空项目。
#include <iostream>
using namespace std;
extern "C"
{
#include "libavcodec/avcodec.h"
#include "include/libavformat/avformat.h"
#include "include/libswscale/swscale.h"
#include "include/libavdevice/avdevice.h"
}
///由于我们建立的是C++的工程
///编译的时候使用的C++的编译器编译
///而FFMPEG是C的库
///因此这里需要加上extern "C"
///否则会提示各种未定义
int main()
{
printf("%s", avcodec_configuration());
system("pause");
return 0;
}
3. 配置工程环境
1、将dev解压下include和lib目录拷贝至 工程目录下
2、将shared解压下的 bin目录下dll文件也拷贝至工程目录
3、配置依赖库
头文件: 项目属性,c/c++ ,常规 附加包含目录 填加 include路径 ,注意 选择 x64
lib库:项目属性,链接器,常规,附加库目录,添加lib的路径
为了不产生电脑磁盘的路径,使用相对路径来配置($(SolutionDir)代表项目的根目录),这样移动到其他电脑上照样可以直接运行。可以通过下面“计算的值”查看路径是否正确。
附加库依赖项:右键项目,属性,链接器,输入,附加依赖项 添加
avcodec.lib; avformat.lib; avutil.lib; avdevice.lib; avfilter.lib; postproc.lib; swresample.lib; swscale.lib
当然也可以在代码中手动导入(如 : #pragma comment(lib,”avformat.lib”))
extern "C"
{
#include "libavformat/avformat.h"
#include "libavutil/time.h"
}
#include <iostream>
using namespace std;
#pragma comment(lib,"avformat.lib")
#pragma comment(lib,"avutil.lib")
#pragma comment(lib,"avcodec.lib")
4. 运行测试项目
注意配置要和项目属性中设置的一样:
点击本地调试器后打印出ffmpeg的配置信息,则程序运行成功。