欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

基于Qt、FFMpeg的音视频播放器设计一

程序员文章站 2022-07-01 17:39:02
...

前言:整个项目的源代码 https://download.csdn.net/download/hfuu1504011020/10672140

最近刚完成基于Qt、FFMpeg的音视频播放器相关C++程序,实现了一个音视频播放器的全部功能,其中以模块为主,每一个模块,分为几个小模块,总结每个小模块,再整合起来,过程比较好理解,因为本人也是刚学习阶段,对于这样方式的总结,个人感觉还是比较容易理解的,过程也比较清晰,只是内容有点多。

中间涉及的过程主要有:

1、 开发环境准备

2、FFMPEG视频处理原理以及实现

3、QT界面设计和使用opengl绘制视频

4、视频播放进度控制

5、FFMPEG音频处理原理以及实现

以上几点是整体的一个设计,下面对每个模块进行详细的说明。

一、开发环境的准备

我所用的开发环境是 qt-opensource-windows-x86-msvc2013-5.7.0.exe和vs2013,既然在windows下开发我们最好使用Qt的msvc版本,编译器用微软的VS。虽然Qt的mingw版本有自己的编译器,但相对于VS的Debug能力以及使用方面,mingw版本就有些痛苦了,当然要是在linux下开发那就用mingw版本吧。

Qt的下载地址:http://download.qt.io/archive/qt/

vs2013的下载地址:

    链接: https://pan.baidu.com/s/19FRmfnqM-eBibPQO4oIYtg 密码: 733u

Qt VS开发插件下载地址:

    http://download.qt.io/archive/vsaddin/

对于使用Qt5.7以上的版本,在下载开发插件时最好下载 qt-vs-addin-1.2.5.exe以上的版本,不然后面会有些问题,对于Qt和VS的下载建议下载相同位数,否则后面都是麻烦。再提供一个能加快编写程序速度的插件 Visual_Assist_X,怎么用的大家可以百度,网上有很多资源,下载地址:https://download.csdn.net/download/hfuu1504011020/10625278,对于以上开发环境安装顺序以及使用,网上也有很多资源这里就不再说明了,Qt VS的开发插件最好在Qt和VS安装好后再安装。

以上提供了Qt的开发环境,现在准备FFMpeg开发环境

FFMpeg下载地址:http://ffmpeg.org/

之后点击左侧目录的download出现Get the packages后选择Windows图标后点击进入再点击Windows Builds出现以下界面1,然后选择Windows 32-bit的FFMpeg,当然你也可以选择64位的,不过我选择的是32位,学习使用足够了,之后我们将它右侧linking下的Shared、Dev下载下来,解压后Dev的include里是它的头文件、lib里是他的静态链接库。Shared里的bin是它的dll和.exe程序,之后我们将它Dev里的include、lib和Shared里的bin拷贝出来形成如下图2所示,其中的Src目录里是我们基于FFmpeg的项目。

                                                           图一



                                                              图二

Qt5.7.0、VS2013、FFMpeg开发环境安装好后,现在我们需要在VS2013中创建项目,这里主要是想说下如何配置项目。在我们创建好项目后(项目在我们上面所说的src中,不能出错,否则后面的项目配置就不是这样配置的),然后选择项目右击出现属性点击,出现如下界面。在配置属性常规中的输出目录配置…\bin\win32(这里的…\是将我们的目录退回到上面图二的位置,之后再进入bin\win32,这里的win32是我下载FFMpeg时同时下载了32位和64位的,所以在bin目录下有个win32和win64,分别放的是不同版本的FFMpeg下的bin目录中的文件,lib下也是如此),然后点击C/C++中的常规,在附加包含目录中编辑加入配置…\include。然后在链接器中同样选择常规在附加库目录中编辑加入配置…\lib\win32。在高级中安全异常处理程序选择否,C/C++和链接器在下图中都能看到。

至此配置文件以及FFMpeg的开发环境准备结束,我们开始下一阶段视频处理的原理以及实现。

下一篇链接:https://blog.csdn.net/hfuu1504011020/article/details/82590612

相关标签: qt ffmpeg