工具
Qt5.13.1
FFmpeg-20200102
SDL2-2.0.10
-
FFmpeg下载
需要下载dev版和share版,其中dev中包含开发需要的头文件和库文件,share中包含运行时需要的动态库文件,这里以20200102-64bit为例
-
SDL下载
下载开发库文件
开发环境配置
注意:如果Qt采用32-bit编译器,对应的库也应选择32-bit,64-bit亦如此
- 新建Qt工程
- 解压FFmpeg-dev包,把其中的include和lib文件夹复制到Qt工程目录下
- 解压FFmpeg-share包,把其中的动态库文件放到新建的qt工程对应的执行文件所在目录下
- 加压SDL-MinGW包,把其中的include和lib文件夹复制到Qt工程目录下,把bin目录下的动态库文件复制到新建的qt工程对应的执行文件所在目录下
- Qt工程文件中添加代码:
INCLUDEPATH += \$\$PWD/include LIBS += -L$$PWD/lib -lavcodec -lavdevice -lavfilter -lavformat -lavutil -lpostproc -lswresample -lswscale -lSDL2 -lSDL2main
测试代码
- 头问件包含
extern "C"{ #include "libavcodec/avcodec.h" #include "libavformat/avformat.h" #include "libavutil/imgutils.h" #include "libswscale/swscale.h" #include "SDL2/SDL.h" }
- 测试代码
avcodec_configuration()返回FFmpeg配置信息
SDL_Init()返回0表示初始化成功qDebug()<<"FFmpeg config: "<<avcodec_configuration(); qDebug()<<"SDL init: "<<SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_TIMER);
测试结果
FFmpeg config: --disable-static --enable-shared --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
SDL init: 0