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();
    }
相关推荐
郝学胜_神的一滴7 小时前
CMake 034:生成器表达式:解耦构建时序、精简分支逻辑的终极利器
c++·cmake
见过夏天1 天前
C++ 基础入门完全指南
c++
用户805533698032 天前
不止三件套:QObject 属性系统全关键字与运行时反射!
c++·qt
xcyxiner2 天前
DicomViewer (vcpkg Windows和ubuntu编译)7
qt
BadBadBad__AK3 天前
线段树维护区间 k 次方和
c++·数学·算法·stl
卷无止境3 天前
Eigen 库如何借助 OpenMP 加速计算
c++·后端
卷无止境3 天前
OpenMPI、MPICH 与 OpenMP:关系、核心概念与架构全解
c++·后端
郝学胜_神的一滴4 天前
CMake 30:循环语法全解|foreach_while双循环精讲、迭代技巧与实战避坑指南
c++·cmake
卷无止境6 天前
C++ 的Eigen 库全解析
c++
卷无止境6 天前
现代 C++特性大盘点:一门脱胎换骨的老语言
c++·后端