• windows QT搭建FFMPEG环境


    1. 下载ffmpeg-4.0.2-win32-dev.zip并 解压,目录结构为
    hongmiao@Cpl-AVI-General-74-178:~/work/Code/MyCode/ffmpeg/ffmpeg-4.0.2-win32-dev$ tree -d
    .
    ├── examples
    ├── include
    │   ├── libavcodec
    │   ├── libavdevice
    │   ├── libavfilter
    │   ├── libavformat
    │   ├── libavutil
    │   ├── libpostproc
    │   ├── libswresample
    │   └── libswscale
    └── lib
    
    hongmiao@Cpl-AVI-General-74-178:~/work/Code/MyCode/ffmpeg/ffmpeg-4.0.2-win32-dev$ tree lib/
    lib/
    ├── avcodec-58.def
    ├── avcodec.lib
    ├── avdevice-58.def
    ├── avdevice.lib
    ├── avfilter-7.def
    ├── avfilter.lib
    ├── avformat-58.def
    ├── avformat.lib
    ├── avutil-56.def
    ├── avutil.lib
    ├── libavcodec.dll.a
    ├── libavdevice.dll.a
    ├── libavfilter.dll.a
    ├── libavformat.dll.a
    ├── libavutil.dll.a
    ├── libpostproc.dll.a
    ├── libswresample.dll.a
    ├── libswscale.dll.a
    ├── postproc-55.def
    ├── postproc.lib
    ├── swresample-3.def
    ├── swresample.lib
    ├── swscale-5.def
    └── swscale.lib
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    1. 创建QT工程并构建,将ffmpeg的lib*.dll.a放在QT工程的lib目录下,将ffmpeg的include文件夹放在test02目录下,将lib*.dll放在debug\release目录下
    hongmiao@Cpl-AVI-General-74-178:~/work/Code/MyCode/ffmpeg/ffmpeg_test02$ tree -d
    .
    ├── build-test02-Desktop_Qt_5_9_0_MinGW_32bit-Debug
    │   ├── debug
    │   └── release
    └── test02
        ├── include
        │   ├── libavcodec
        │   ├── libavdevice
        │   ├── libavfilter
        │   ├── libavformat
        │   ├── libavutil
        │   ├── libpostproc
        │   ├── libswresample
        │   └── libswscale
        └── lib
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    1. QT 的test02.pro文件内包含头文件和lib*.dll.a的路径
    INCLUDEPATH += $$PWD/include
    
    LIBS += $$PWD/lib/libavcodec.dll.a \
            $$PWD/lib/libavfilter.dll.a \
            $$PWD/lib/libavformat.dll.a \
            $$PWD/lib/libavutil.dll.a \
            $$PWD/lib/libswscale.dll.a
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    1. 代码中引用头文件
    //包含ffmpeg相关头文件,并告诉编译器以C语言方式处理
    extern "C"
    {
        #include <libavutil/mem.h>
        #include <libavcodec/avcodec.h>
        #include <libavformat/avformat.h>
        #include <libswscale/swscale.h>
        #include <libavdevice/avdevice.h>
        #include <libavformat/version.h>
        #include <libavutil/time.h>
        #include <libavutil/mathematics.h>
        #include <libavutil/imgutils.h>
    
        #include <libavutil/channel_layout.h>
        #include <libavutil/common.h>
        #include <libavutil/frame.h>
        #include <libavutil/samplefmt.h>
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
  • 相关阅读:
    qt实现打开pdf(阅读器)功能用什么库比较合适
    AP5101C 高压线性恒流 LED电源驱动IC 3D打印机显示灯驱动器
    Unity项目包体优化经验方法论(Android平台)
    俄罗斯方块——C语言实践(Dev-Cpp)
    在MySQL客户端使用Tab健进行命令补全
    Transformer和DETR笔记
    java.awt.HeadlessException
    报表技术POI导入导出复杂样式Excel和百万数据(Java代码、模板、数据)
    Chrome浏览器关闭左上角搜索标签页的解决办法
    AD9164配置与数据使用指南
  • 原文地址:https://blog.csdn.net/SanShuiGeGe/article/details/125450820