QT+ffmpeg环境配置

1.新建一个qt项目

2.下载ffmpeg文件Releases · BtbN/FFmpeg-Builds · GitHub

3.解压后,打开qt项目地址,将ffmpeg文件复制进qt项目

4.打开新建的qt项目头文件新加入如下内容:(如有需求可按需求添加)

复制代码
INCLUDEPATH +=$$PWD/include

LIBS += $$PWD/lib/avcodec.lib \
        $$PWD/lib/avfilter.lib \
        $$PWD/lib/avformat.lib \
        $$PWD/lib/avutil.lib \
        $$PWD/lib/postproc.lib \
        $$PWD/lib/swresample.lib \
        $$PWD/lib/swscale.lib

5.测试

将mainwindows.cpp文件替换为如下内容:(注意:调用ffmpeg头文件必须用extern "C",因为ffmpeg为纯c)

复制代码
#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <QDebug>
extern "C"
{
#include <libavformat/avformat.h>
#include <libavcodec/avcodec.h>
}
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    avformat_network_init();


    const char* filename = "input.mp4"; // Ensure this file exists or change to a valid path
    AVFormatContext* formatContext = nullptr;
    if (avformat_open_input(&formatContext, filename, nullptr, nullptr) != 0) {
        qWarning() << "Could not open the file.";
    } else {
        // Print some information about the file
        qDebug() << "Format:" << formatContext->iformat->name;
        qDebug() << "Duration:" << formatContext->duration / AV_TIME_BASE << "seconds";
        qDebug() << "Bit rate:" << formatContext->bit_rate;

        // Clean up
        avformat_close_input(&formatContext);
    }
}

MainWindow::~MainWindow()
{
    delete ui;
}
相关推荐
杨福瑞4 分钟前
数据结构:栈
c语言·开发语言·数据结构
故事不长丨13 分钟前
解锁C#编程秘籍:封装、继承、多态深度剖析
开发语言·数据库·c#
远瞻。13 分钟前
【环境配置】快速转移conda上的python环境
开发语言·python·conda
缘三水18 分钟前
【C语言】5.printf和scanf(新手向详细版)
c语言·开发语言·基础语法
无敌最俊朗@18 分钟前
Qt处理tcp数据 粘包 拆包 的简单方法
开发语言
亭上秋和景清20 分钟前
数据在内存中的存储
java·开发语言
小二·23 分钟前
Java基础教程之网络编程
java·开发语言·网络
乾元23 分钟前
多厂商配置对齐器:AI 如何在 Cisco / Huawei / Juniper 间做语义映射
运维·开发语言·网络·人工智能·网络协议·华为·智能路由器
熊文豪24 分钟前
使用Python快速开发一个MCP服务器
服务器·开发语言·python·mcp
leo_23224 分钟前
SMP(软件制作平台)语言基础知识简介之一
开发语言·smp(软件制作平台)·软件开发工具