QT 学习(二) -- windows中QT配置ffmpeg共享库的方法

windows中QT配置ffmpeg静态库的方法
对于多媒体相关工作,如果使用QT来写自己的播放器或者解析相关的片源数据,需要ffmpeg进行相应的解析,我们可以从ffmpeg官网下载对应的源码自己进行编译,也可以利用官网已经提供的源码库来进行后续的工作。
一. ffmpeg下载相关:
ffmpeg官网首页:
http://www.ffmpeg.org/
ffmpeg 下载网址:
http://www.ffmpeg.org/download.html#build-windows
编译好的ffmpeg下载网址:
https://ffmpeg.zeranoe.com/builds/
其中:
(1)Linking static模式下载的编译内容包含了ffmpeg.exe, ffplay.exe, ffprobe.exe
在这里插入图片描述
在这里插入图片描述
(2)Linking Shared模式下载的编译内容包含了ffmpeg.exe, ffplay.exe, ffprobe.exe和dll库
在这里插入图片描述
在这里插入图片描述
二. QT项目中ffmpeg文件配置

extern "C"{
   	#include "libavcodec/avcodec.h"
    #include "libavformat/avformat.h"
    #include "libavutil/pixfmt.h"
   	#include "libswscale/swscale.h"
	//根据自己项目需求来添加对应的ffmpeg头文件
}

三. QT项目中的 .pro文件配置

#ffmpeg中头文件,可在根目录下创建include文件,放入对应的.h文件
HEADERS += include/libavcodec/ac3_parser.h \
           include/libavcodec/adts_parser.h \
           include/libavcodec/avcodec.h \
           include/libavcodec/avdct.h \
           include/libavcodec/avfft.h \
           include/libavcodec/d3d11va.h \
           include/libavcodec/dirac.h \
           include/libavcodec/dv_profile.h \
           include/libavcodec/dxva2.h \
           include/libavcodec/jni.h \
           include/libavcodec/mediacodec.h \
           include/libavcodec/qsv.h \
           include/libavcodec/vaapi.h \
           include/libavcodec/vdpau.h \
           include/libavcodec/version.h \
           include/libavcodec/videotoolbox.h \
           include/libavcodec/vorbis_parser.h \
           include/libavcodec/xvmc.h \
           include/libavdevice/avdevice.h \
           include/libavdevice/version.h \
           include/libavfilter/avfilter.h \
           include/libavfilter/buffersink.h \
           include/libavfilter/buffersrc.h \
           include/libavfilter/version.h \
           include/libavformat/avformat.h \
           include/libavformat/avio.h \
           include/libavformat/version.h \
           include/libavutil/adler32.h \
           include/libavutil/aes.h \
           include/libavutil/aes_ctr.h \
           include/libavutil/attributes.h \
           include/libavutil/audio_fifo.h \
           include/libavutil/avassert.h \
           include/libavutil/avconfig.h \
           include/libavutil/avstring.h \
           include/libavutil/avutil.h \
           include/libavutil/base64.h \
           include/libavutil/blowfish.h \
           include/libavutil/bprint.h \
           include/libavutil/bswap.h \
           include/libavutil/buffer.h \
           include/libavutil/camellia.h \
           include/libavutil/cast5.h \
           include/libavutil/channel_layout.h \
           include/libavutil/common.h \
           include/libavutil/cpu.h \
           include/libavutil/crc.h \
           include/libavutil/des.h \
           include/libavutil/dict.h \
           include/libavutil/display.h \
           include/libavutil/downmix_info.h \
           include/libavutil/encryption_info.h \
           include/libavutil/error.h \
           include/libavutil/eval.h \
           include/libavutil/ffversion.h \
           include/libavutil/fifo.h \
           include/libavutil/file.h \
           include/libavutil/frame.h \
           include/libavutil/hash.h \
           include/libavutil/hmac.h \
           include/libavutil/hwcontext.h \
           include/libavutil/hwcontext_cuda.h \
           include/libavutil/hwcontext_d3d11va.h \
           include/libavutil/hwcontext_drm.h \
           include/libavutil/hwcontext_dxva2.h \
           include/libavutil/hwcontext_mediacodec.h \
           include/libavutil/hwcontext_qsv.h \
           include/libavutil/hwcontext_vaapi.h \
           include/libavutil/hwcontext_vdpau.h \
           include/libavutil/hwcontext_videotoolbox.h \
           include/libavutil/imgutils.h \
           include/libavutil/intfloat.h \
           include/libavutil/intreadwrite.h \
           include/libavutil/lfg.h \
           include/libavutil/log.h \
           include/libavutil/lzo.h \
           include/libavutil/macros.h \
           include/libavutil/mastering_display_metadata.h \
           include/libavutil/mathematics.h \
           include/libavutil/md5.h \
           include/libavutil/mem.h \
           include/libavutil/motion_vector.h \
           include/libavutil/murmur3.h \
           include/libavutil/opt.h \
           include/libavutil/parseutils.h \
           include/libavutil/pixdesc.h \
           include/libavutil/pixelutils.h \
           include/libavutil/pixfmt.h \
           include/libavutil/random_seed.h \
           include/libavutil/rational.h \
           include/libavutil/rc4.h \
           include/libavutil/replaygain.h \
           include/libavutil/ripemd.h \
           include/libavutil/samplefmt.h \
           include/libavutil/sha.h \
           include/libavutil/sha512.h \
           include/libavutil/spherical.h \
           include/libavutil/stereo3d.h \
           include/libavutil/tea.h \
           include/libavutil/threadmessage.h \
           include/libavutil/time.h \
           include/libavutil/timecode.h \
           include/libavutil/timestamp.h \
           include/libavutil/tree.h \
           include/libavutil/twofish.h \
           include/libavutil/version.h \
           include/libavutil/xtea.h \
           include/libpostproc/postprocess.h \
           include/libpostproc/version.h \
           include/libswresample/swresample.h \
           include/libswresample/version.h \
           include/libswscale/swscale.h \
           include/libswscale/version.h
SOURCES += qt_player.cpp

#dll放在QT工程根目录
LIBS += $$PWD/avcodec-58.dll \
        $$PWD/avdevice-58.dll \
        $$PWD/avfilter-7.dll \
        $$PWD/avformat-58.dll \
        $$PWD/avutil-56.dll \
        $$PWD/postproc-55.dll \
        $$PWD/swresample-3.dll \
        $$PWD/swscale-5.dll

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值