- 下载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
- 创建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
- 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
- 代码中引用头文件
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