windows平台使用Qt5进行ffmpeg开发 - ffmpeg库的导入相关问题

前段时间用A20做摄像头的读取,显示,录像等,用的是ffmpeg+v4l2来做的。那么,最近需要做一个在PC端用网络查看的,也需要实现这样的功能。

结果发现在ubuntu下面进行配置ffmpeg库导入的方法失效了,总是提示各种函数未定义,类似于这样的:undefined reference to `avcodec_register_all'

后来有幸找到了一个别人的工程,试验了半天,终于找到了方法。下面写一写,给朋友们介绍下这个解决方案:

1、windows平台自己不想编译ffmpeg就可以直接到这个地址来下载别人编译好的库:

http://ffmpeg.zeranoe.com/builds/

在这里,我们开发的时候需要下载2个包,一个是dev包,一个是share包。为什么需要2个包呢,后文会提到;我用的是32bit的包,因为我下载的Qt是Mingw-32的。如果你是64的话,可以下载64bit的包,这是我猜得。反正64bit的包,在我的电脑上面就不能用,编译都会失败。


2、将dev包解压缩后放到我们的Qt工程目录下面,然后在pro文件里面添加这样类似的内容:

INCLUDEPATH +=  ffmpeg-20150507-git-9253cc4-win32-dev/include
LIBS += ffmpeg-20150507-git-9253cc4-win32-dev/lib/libavcodec.dll.a \
        ffmpeg-20150507-git-9253cc4-win32-dev/lib/libavfilter.dll.a \
        ffmpeg-20150507-git-9253cc4-win32-dev/lib/libavformat.dll.a \
        ffmpeg-20150507-git-9253cc4-win32-dev/lib/libswscale.dll.a \
        ffmpeg-20150507-git-9253cc4-win32-dev/lib/libavutil.dll.a \
        ffmpeg-20150507-git-9253cc4-win32-dev/lib/libavdevice.dll.a \
        ffmpeg-20150507-git-9253cc4-win32-dev/lib/libpostproc.dll.a \
        ffmpeg-20150507-git-9253cc4-win32-dev/lib/libswresample.dll.a \


3、点击qt creator的项目,然后去除概要这一栏里面的shadow build这个选项,会导致编译出错

4、现在可以进行编译了,编译会成功,不过运行的时候,只要有av_register_all()这个函数,程序就会运行不起来,会异常退出,这是因为没有share库。

5、把我们下载的share/bin目录里面的所有dll库都拷贝到我们生成的exe文件的目录下。

6、再次运行,程序就可以运行起来了


总结:那么,在windows下面使用Qt添加ffmpeg的方法就介绍到这了,希望看到的人能帮得到你。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值