Qt+ffmpeg环境搭建

Qt+ffmpeg环境搭建

各平台常见视频开发库举例:

  • iOS:AVFoundation AudioUnit
  • Android:MediaPlayer,MediaCodec
  • Windows:DirectShow
  • Linux:GStreamer

FFmpeg 库是一个跨平台的视频开发库, 还有 libVLC 也是一个跨平台的视频开发库

  • 掌握了其中一个库, 也能很快上手其它库, 因为音视频解码的原理类似

引入 FFmpeg 库有两种方式

一种是直接引入源码进行开发(因为源码庞大,编译较慢,不推荐新手学习时用这种方法)
一种是引入头文件和动态库进行开发,下载地址是:

https://ffmpeg.org/download.html
https://github.com/GyanD/codexffmpeg/releases //下载其它版本可以在这里下载, 已知5.1.2版本可兼容win7

shared版本是有动态库的版本(essentials是必要组件版本,东西可能不全;full是完整版本),gpl和lgpl是开源协议版本不同。
这里我采用的shared版本。

安装Qt

我选择的是5.12版,因为该版本可以直接在网上下载到完整安装包。
编译器选择的是MinGW

将 FFmpeg 库加载到Qt项目当中

  • 在环境变量中添加动态库文件所在路径(例如):
D:\ffmpeg_dev\ffmpeg-6.1.1-full_build-shared\bin
  • 在Qt文件中添加库文件
win32: {
    FFMPEG_HOME=D:\ffmpeg_dev\ffmpeg-6.1.1-full_build-shared
    # 设置 ffmpeg 头文件路径
    INCLUDEPATH += $$FFMPEG_HOME/include

    # 加载 ffmpeg 导入库
    # -L :指定导入库的目录
    # -l :指定要导入的 库名称
    LIBS +=  -L$$FFMPEG_HOME/lib \
             -lavcodec \
             -lavdevice \
             -lavfilter \
            -lavformat \
            -lavutil \
            -lpostproc \
            -lswresample \
            -lswscale
}

测试FFMpeg 库版本

extern "C" {
#include <libavcodec/avcodec.h>
}

qDebug() << "test: FFMpeg Version: "<< av_version_info();
//加入上述代码,如可以正常打印ffmpeg版本,则说明ffmpeg库正常。如下,运行时会在调试窗口打印如下信息:
//test: FFMpeg Version:  6.1.1-full_build-www.gyan.dev

至此,Qt+FFmpeg环境即完成了。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在QT中搭建FFmpeg,你可以按照以下步骤进行操作: 1. 首先,确保你已经下载FFmpeg开发版本和共享版本。你可以从官方网站下载适合你的操作系统的版本\[1\]。 2. 在QT中创建一个新的工程。 3. 在项目目录下创建一个名为"ffmpeg"的文件夹。 4. 将FFmpeg的include文件夹和lib文件夹拷贝到刚刚创建的ffmpeg文件夹中。这些文件可以在下载FFmpeg开发版本的目录中找到\[2\]。 5. 修改QT的.pro文件,将FFmpeg的include路径和lib路径添加到INCLUDEPATH和LIBS中。示例代码如下: ``` INCLUDEPATH += $$PWD/ffmpeg/include LIBS += $$PWD/ffmpeg/lib/avcodec.lib \ $$PWD/ffmpeg/lib/avdevice.lib \ $$PWD/ffmpeg/lib/avfilter.lib \ $$PWD/ffmpeg/lib/avformat.lib \ $$PWD/ffmpeg/lib/avutil.lib \ $$PWD/ffmpeg/lib/postproc.lib \ $$PWD/ffmpeg/lib/swresample.lib \ $$PWD/ffmpeg/lib/swscale.lib ``` 6. 添加以下代码到.pro文件的末尾,以确保生成的可执行文件能够正确链接FFmpeg文件: ``` DESTDIR=bin ``` 7. 现在你可以在QT工程中使用FFmpeg了。你可以在代码中引入FFmpeg的头文件,并使用FFmpeg提供的功能\[3\]。 请注意,这只是一个简单的示例,具体的步骤可能会因为你的项目配置而有所不同。你可能需要根据你的具体情况进行一些调整。 #### 引用[.reference_title] - *1* *2* [Qt配置FFmpeg](https://blog.csdn.net/weixin_39308337/article/details/100127079)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [浅显易懂 FFmpeg学习(01)— QT+FFmpeg环境搭建(亲测有效)](https://blog.csdn.net/qq_59134387/article/details/127136423)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值