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();
    }
相关推荐
喵先生!1 小时前
C++中的vector和list的区别与适用场景
开发语言·c++
Thomas_YXQ1 小时前
Unity3D Lua集成技术指南
java·开发语言·驱动开发·junit·全文检索·lua·unity3d
xMathematics2 小时前
计算机图形学实践:结合Qt和OpenGL实现绘制彩色三角形
开发语言·c++·qt·计算机图形学·cmake·opengl
yuanManGan4 小时前
C++入门小馆: 深入了解STLlist
开发语言·c++
北极的企鹅884 小时前
XML内容解析成实体类
xml·java·开发语言
梁下轻语的秋缘4 小时前
每日c/c++题 备战蓝桥杯(P1049 [NOIP 2001 普及组] 装箱问题)
c语言·c++·学习·蓝桥杯
BillKu4 小时前
Vue3后代组件多祖先通讯设计方案
开发语言·javascript·ecmascript
Python自动化办公社区4 小时前
Python 3.14:探索新版本的魅力与革新
开发语言·python
逐光沧海4 小时前
STL常用算法——C++
开发语言·c++
星火撩猿4 小时前
ubantu中下载编译安装qt5.15.3
开发语言·qt