QT5.14.2 VS2022环境下FFmpeg与QT的完美邂逅



在当今数字化时代,音视频处理已成为开发者必须掌握的关键技能之一。无论是iOS的AVFoundation、Android的MediaPlayer,还是Windows的DirectShow,每个平台都有其独特的音视频处理库。然而,跨平台开发的挑战始终如影随形。今天,我将带你走进一个强大的跨平台音视频开发世界——FFmpeg与QT的结合。


一、开发库的选择:为什么是FFmpeg与QT?


(1)、FFmpeg 介绍

FFmpeg,一个强大而灵活的音视频处理库,几乎支持所有的音视频格式。掌握FFmpeg,意味着你已经迈出了成为音视频领域专家的第一步。而QT,作为一个跨平台的C++图形用户界面应用程序框架,它的灵活性和强大的功能库使其成为开发者的最爱。将FFmpeg与QT结合,你将能够打造出既美观又功能强大的音视频应用。


(2)、FFmpeg 版本说明

FFmpeg有三种主要的版本类型:静态库版本、动态库版本和源码。


A、静态库版本(Static)

这个版本只包含三个可执行程序:ffmpeg.exe、ffplay.exe和ffprobe.exe,没有独立的动态链接库文件。每个可执行程序的体积都比较大,因为所有需要的库都被静态编译到了可执行文件中。这个版本最适合作为工具使用,不依赖额外的动态库,可以直接运行单个可执行程序。


在这里插入图片描述


B、动态库版本(Shared)

这个版本除了包含ffmpeg.exe、ffplay.exe和ffprobe.exe三个可执行程序外,还包含一些动态链接库文件,比如avcodec-54.dll等,里面也包含了开发使用的库文件(.lib)和头文件(.h)。我们在开发时需要链接这个版本中的库文件,并使用头文件。但在最终发布程序时,还需要从动态库版本中获取需要的动态链接库。这些可执行程序的体积相对较小,因为它们在运行时需要调用动态链接库中的功能。使用这个版本的程序必须依赖提供的动态链接库文件。这也是我们在Qt中开发并使用FFmpeg的必选版本。


在这里插入图片描述


C、FFmpeg源码

FFmpeg源码下载地址


在这里插入图片描述


因此,在使用FFmpeg开发时,合理使用不同版本有利于我们高效的开发和部署应用程序。


二、环境搭建:FFmpeg与QT的第一步


在开始编码之前,我们需要搭建一个支持FFmpeg的QT开发环境。

这里选择使用预编译的动态链接库,对于初学者,以避免源码编译过程中可能遇到的问题。


1、FFmpeg的安装


(1)、访问FFmpeg官网

根据需要选择平台,这里以windows环境为例进行演示。
在这里插入图片描述


(2)、根据需要选择shared版本以获取动态链接库。


在这里插入图片描述


(3)、将下载的库文件解压到指定目录


在这里插入图片描述


2、FFmpeg的配置


(1)、配置 FFmpeg 的头文件路径


在这里插入图片描述


在这里插入图片描述


(2)、配置库文件路径


在这里插入图片描述


在这里插入图片描述


(3)、配置依赖库

将ffmpeg lib 目录下的以下文件,配置到vs 。

avcodec.lib
avdevice.lib
avfilter.lib
avformat.lib
avutil.lib
postproc.lib
swresample.lib
swscale.lib

在这里插入图片描述


(4)、配置dll文件

将ffmpeg bin 目录下的dll拷贝到运行目录 。

在这里插入图片描述


三、测试验证

#include <QDebug>

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



int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    const char*version = av_version_info();

    qDebug()  <<"QT-VERSION:" << version;


    QTProject w;
    w.show();
    return a.exec();
}

编译运行效果如下:

在这里插入图片描述


通过本文的介绍,你已经了解了如何搭建FFmpeg与QT的跨平台开发环境,并在QT项目中成功调用FFmpeg的函数。这只是冰山一角,FFmpeg与QT的结合将为你打开一个全新的世界。在接下来的博文中,我将深入探讨如何使用FFmpeg进行音视频的编解码、转码、以及更多高级功能。敬请期待,让我们一起开启这段激动人心的音视频开发之旅!


  • 19
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

w风雨无阻w

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值