在Qt项目中使用ffmpeg

在Qt项目中使用ffmpeg关于 ffmpeg 的下载和简介可以参考笔者之前的文章 FFmpeg 简介及使用入门 本文将介绍如何在 Qt 项目中引入并使用 ffmpeg 库 新建一个 Qt Widgets Application 并在 Define Build System 界面选择 B

大家好,欢迎来到IT知识分享网。

关于ffmpeg的下载和简介可以参考笔者之前的文章 FFmpeg简介及使用入门 。

本文将介绍如何在Qt项目中引入并使用ffmpeg库。

新建一个Qt Widgets Application,并在Define Build System界面选择Build system为qmake。

在Qt项目中使用ffmpeg

在Qt项目中使用ffmpeg

其余的默认即可。

项目建好后,在项目所在文件夹下新建名为ffmpeg的文件夹,将下载好的ffmpeg库文件夹下的include和lib文件夹复制到此文件夹下

在Qt项目中使用ffmpeg

下载的ffmpeg库文件夹

在Qt项目中使用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

注:这里笔者为了方便将所有的库和头文件全部添加,读者可以根据自己需要添加相应的库文件和头文件。

在Qt项目中使用ffmpeg

打开主窗口源文件,向其中添加如下代码引入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已经编译了工程,生成了编译目录。

在Qt项目中使用ffmpeg

ffmpeg库文件夹下的bin文件夹

在Qt项目中使用ffmpeg

程序生成文件夹

最后运行程序

在Qt项目中使用ffmpeg

在Application Output(程序输出)界面可以看到打印的相关信息。

如果读者能看到类似的输出信息,就说明项目中已经引入、使用ffmpeg库成功了。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/172730.html

(0)
上一篇 2025-03-07 10:15
下一篇 2025-03-07 10:20

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信