Qt 配置 FFmpeg

  1. 进入 GitHub,下载带 shared 后缀的那个包即可
    1. 我将下载好的文件夹改名为 FFmpeg
    2. 并将 FFmpeg 文件夹放在 Program Files 目录下
  2. 下载好后将 bin 添加到系统环境中
sh 复制代码
C:\Program Files\FFmpeg\bin
  1. 若用 QMake 构建项目 在配置文件 pro 中 添加到文件末尾就行
cmake 复制代码
FFMPEG_HOME=C:\Program Files\FFmpeg

INCLUDEPATH += $$FFMPEG_HOME/include

LIBS += $$FFMPEG_HOME/lib/avcodec.lib  \
        -L$$FFMPEG_HOME/lib/avdevice.lib  \
    -L$$FFMPEG_HOME/lib/avfilter.lib  \
    -L$$FFMPEG_HOME/lib/avformat.lib  \
    -L$$FFMPEG_HOME/lib/lib/avutil.lib  \
    -L$$FFMPEG_HOME/lib/swresample.lib  \
    -L$$FFMPEG_HOME/lib/swscale.lib  \
  • 若用CMake构建项目 在配置文件CMakeList.txt 中 添加到文件末尾就行

    • 注意事项 FFmpegQt 这个项目的名称改成自己的项目名就行
    cma 复制代码
    # 设置FFmpeg的安装路径
    set(FFMPEG_HOME "C:/Program Files/FFmpeg")
    
    # 添加FFmpeg的头文件路径
    include_directories(${FFMPEG_HOME}/include)
    
    # 获取FFmpeg相关的链接库
    file(GLOB FFMPEG_LIBRARIES "${FFMPEG_HOME}/lib/*.lib")
    
    # 添加FFmpeg相关的链接库
    target_link_libraries(FFmpegQt PRIVATE ${FFMPEG_LIBRARIES})
  • 来一段测试代码 将代码放入 main.cpp 文件中即可

    cpp 复制代码
    #include "Widget.h"
    
    #include <QApplication>
    #include <QDebug>
    
    // 需要使用C来对C++进行支持
    // 注意注意注意,这里的C是大写的!不是小写的!小写会报错!
    extern "C"
    {
    //avcodec:编解码(最重要的库)
    #include <libavcodec/avcodec.h>
        //avformat:封装格式处理
    #include <libavformat/avformat.h>
        //swscale:视频像素数据格式转换
    #include <libswscale/swscale.h>
        //avdevice:各种设备的输入输出
    #include <libavdevice/avdevice.h>
        //avutil:工具库(大部分库都需要这个库的支持)
    #include <libavutil/avutil.h>
    }
    
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        Widget w;
        w.show();
    
        // 测试avcodec版本
        qDebug() << "ffmpeg版本信息:" << av_version_info();
    
        return a.exec();
    }
相关推荐
EmbedLinX2 分钟前
嵌入式之协议解析
linux·网络·c++·笔记·学习
薛定谔的猫喵喵8 分钟前
基于PyQt5的视频答题竞赛系统设计与实现
开发语言·qt·音视频
岱宗夫up13 分钟前
Python 数据分析入门
开发语言·python·数据分析
wangjialelele15 分钟前
Linux中的进程管理
java·linux·服务器·c语言·c++·个人开发
码界筑梦坊15 分钟前
325-基于Python的校园卡消费行为数据可视化分析系统
开发语言·python·信息可视化·django·毕业设计
历程里程碑16 分钟前
普通数组----轮转数组
java·数据结构·c++·算法·spring·leetcode·eclipse
多恩Stone18 分钟前
【RoPE】Flux 中的 Image Tokenization
开发语言·人工智能·python
李日灐20 分钟前
C++进阶必备:红黑树从 0 到 1: 手撕底层,带你搞懂平衡二叉树的平衡逻辑与黑高检验
开发语言·数据结构·c++·后端·面试·红黑树·自平衡二叉搜索树
汉克老师26 分钟前
GESP2025年6月认证C++二级( 第一部分选择题(1-8))
c++·循环结构·表达式·分支结构·gesp二级·gesp2级
Risehuxyc29 分钟前
备份三个PHP程序
android·开发语言·php