C++调用FFMpeg接口

来源:互联网 发布:帝国cms批量删除文章 编辑:程序博客网 时间:2024/06/05 22:47
1.首先下载FFMpeg
FFMpeg编译有些复杂,我就没有自己编译,在FFMpeg官网下载FFMpeg的dev和share两个版本。dev目录如下:

里面有创建项目需要的头文件和lib文件,但是没有dll,创建一个新的项目,添加include和lib依赖引用,编译可以通过,但是运行的时候会出现缺少dll的错误提示。



下载share版本,目录如下:

里面只有一个bin文件夹,里面有我们需要的dll,将dll拷贝到新建项目的运行目录下就可以了。



2.创建一个C++控制台
创建一个C++控制台,写一个函数调用FFMpeg接口,include头文件和lib链接都有且均正确,但是还是会出现链接错误,原因是:我们下载的lib库是C编译的,在C++里面不能直接调用,否则C++编译器无法识别,解决方案如下:

创建了一个头文件avformat_test.h,内容如下:

将C的头文件包含在extern “C”的大括号中即可。如果项目中没有定义_cplusplus,在项目属性->C/C++->预处理器的“预处理器定义”里定义_cplusplus。


在avformat_test.cpp里面实现定义的函数:

注意:在CPP文件里如果要添加C++头文件,最好将C++头文件放在avformat_test.h头文件前面,因为avformat_test.h头文件里包含了FFMpeg的C头文件,不然可能编译会有问题。


然后在main.cpp里面调用:

程序正确运行,运行结果如下:


0 0
原创粉丝点击