ffmpeg4.2.2 下载地址:
https://download.csdn.net/download/qq_40015157/75660501
1、解压ffmpeg.rar
2、 复制 ffmpeg-4.2.2-win64-dev 下 include 和 lib 文件夹
3、项目下新建lib 文件夹,lib下新建ffmpeg文件夹。粘贴到 ffmpeg 文件夹下
4、在 .pro 文件中添加如下
INCLUDEPATH += $$PWD/lib/ffmpeg/include
LIBS += -L$$PWD/lib/ffmpeg/lib -lavcodec -lavdevice -lavfilter -lavformat -lavutil -lpostproc -lswresample -lswscale
5、 mianwindow.h 头文件引入,因为ffmpeg库是用C语言编写的,QT是中引用要采用extern"C"{}引入各个头文件。
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
extern "C"
{
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
#include "libswscale/swscale.h"
#include "libavdevice/avdevice.h"
}
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
//mainwindow.app
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
unsigned version = avcodec_version();
qDebug()<<"version:"<<version;
}
MainWindow::~MainWindow()
{
delete ui;
}
6、 引入完成,需要运行成功要再引入动态库,如下链接:
Windows下QT中引用ffmpeg库时报错undefined reference to `av_register_all‘ ..._zcc的博客-CSDN博客
7、引入动态库后运行项目
运行成功:
运行时选择 Desktop Qt 5.12.5 MinGW 32-bit 会报一下错误: