大家好,欢迎来到IT知识分享网。
关于ffmpeg的下载和简介可以参考笔者之前的文章 FFmpeg简介及使用入门 。
本文将介绍如何在Qt项目中引入并使用ffmpeg库。
新建一个Qt Widgets Application,并在Define Build System界面选择Build system为qmake。


其余的默认即可。
项目建好后,在项目所在文件夹下新建名为ffmpeg的文件夹,将下载好的ffmpeg库文件夹下的include和lib文件夹复制到此文件夹下

下载的ffmpeg库文件夹

项目文件夹下新建的ffmpeg文件夹
注:由于ffmpeg是开源项目,所以在项目使用时将其license文件也带上是好习惯。
修改工程配置文件(.pro),向其中添加INCLUDEPATH和LIBS两个编译项,代码如下:
INCLUDEPATH += $PWD/ffmpeg/include LIBS += $PWD/ffmpeg/lib/libavcodec.dll.a \ $PWD/ffmpeg/lib/libavfilter.dll.a \ $PWD/ffmpeg/lib/libavformat.dll.a \ $PWD/ffmpeg/lib/libavutil.dll.a \ $PWD/ffmpeg/lib/libswscale.dll.a
注:这里笔者为了方便将所有的库和头文件全部添加,读者可以根据自己需要添加相应的库文件和头文件。

打开主窗口源文件,向其中添加如下代码引入ffmpeg的相关头文件
extern "C" { #include <libavcodec/avcodec.h> #include <libavformat/avformat.h> #include <libswscale/swscale.h> #include <libavdevice/avdevice.h> #include <libavformat/version.h> #include <libavutil/time.h> #include <libavutil/mathematics.h> }
因为现在是在C++项目中调用C项目中的函数,需要使用 extern “C”语法导入相关头文件。
在主窗口的构造函数中添加如下代码,使用qdebug打印ffmpeg的配置和版本信息
qDebug("configuration: %s", avcodec_configuration()); qDebug("version: %d", avcodec_version());
编译程序,然后将ffmpeg库文件夹下的bin文件夹中的动态链接库文件(.dll文件)复制到程序文件夹下
注:注这一步在项目建好就可以进行,因为qmake已经编译了工程,生成了编译目录。

ffmpeg库文件夹下的bin文件夹

程序生成文件夹
最后运行程序

在Application Output(程序输出)界面可以看到打印的相关信息。
如果读者能看到类似的输出信息,就说明项目中已经引入、使用ffmpeg库成功了。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/172730.html