前言:整个项目的源代码 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的音视频播放器设计一相关推荐

  1. 基于QT实现简易音视频播放器

    目录:         一.界面布局         二.播放本地音频                 2.1 打开本地音频保存路径                 2.2 选中想要播放的音频加入到播 ...

  2. 基于Qt、FFMpeg的音视频播放器设计四(视频播放进度控制)

    上面介绍了如何使用opengl绘制视频和Qt的界面设计,也比较简单,现在我们看下如何控制视频播放及进度的控制,内容主要分为以下几个部分 1.创建解码线程控制播放速度 2.通过Qt打开外部视频 3.视频 ...

  3. 基于QT封装的音视频播放时间轴控件

    采用QT graphicsview视图框架,可以实现时间轴缩放,指针拖拉,滚动条移动,可以新增指针事件等,提供时间片添加接口. 思路:左侧车牌信息和通道列表是qwidget正常的窗口,右侧的时间轴,通 ...

  4. 基于Phonon+QT的音视频播放器设计与实现

    目 录 摘 要 2 第一章 软件需求说明书 1 1.1 引言 1 1.2 业务流程整体说明 1 第二章 需求分析报告 3 2.1 引言 3 2.2 任务概述 3 2.3 功能需求 3 2.4 性能需求 ...

  5. 基于FFmpeg的音视频播放器

    版本信息 AndroidStudio 3.5.2 FFmpeg 4.0.2 背景 AndroidStudio3.5.1下搭建FFmpeg环境 Android使用FFmpeg动态库播放视频 Androi ...

  6. QT + FFmpeg 5.x + x264 + x265 + SDL2 音视频播放器

    QT + FFmpeg 5.x + x264 + x265 + SDL2 音视频播放器 使用了QT的QML设计界面,人机交互; 使用了FFmpeg 5.x + x264 + x265 + SDL2 完 ...

  7. Qt FFmpeg 音视频播放器

    使用FFmpeg库实现 本地和rtp 音视频播放器,使用qt绘制视频. 本demo环境为 qt5.12 vs2019-32位 .pro的qt工程 FFmpeg版本位3.4.8 vs2092-32位 本 ...

  8. 视频教程-基于NDK、C++、FFmpeg的android视频播放器开发实战-Android

    基于NDK.C++.FFmpeg的android视频播放器开发实战 夏曹俊:南京捷帝科技有限公司创始人,南京大学计算机硕士毕业,有15年c++跨平台项目研发的经验,领导开发过大量的c++虚拟仿真,计算 ...

  9. QT视频播放器(windows qt、linux qt 音视频播放器)

    想要更多项目私wo!!! 一.项目简介        这是基于Qt的QMediaPlayer实现的音视频播放器,实现了播放器的常用功能,例如根据播放列表选择播放的音视频,拖动滑块控制音视频播放. 二. ...

最新文章

  1. Windows server 2003 IP路由配置
  2. python中字符串(比如文件路径)前面有一个r什么意思
  3. linux下同时安装多个tomcat实例
  4. 清空memcached中缓存的数据的方法
  5. 2018年春季个人阅读计划
  6. Spring 事务管理高级应用难点剖析--转
  7. mybatis mapper.xml --注释 带参数的坑
  8. vue切换class_Vue点击切换Class变化,实现Active当前样式操作
  9. mysql日期格式化季度_Mysql按周,按月,按日,按小时分组统计数据
  10. 表的操作(Oracle和DB2)
  11. 《Java核心技术卷一》p60~p70 学长教我学Java(7)
  12. python新式类和经典类的区别?
  13. matlab画空间直线,空间直线x y=z怎么画
  14. 根据身份证号计算周岁年龄
  15. hightopo学习之旅一 -- 节点动画
  16. 小武与GPU与pytorch的bug 还有反向传播
  17. Duplicated tag: ‘dependencies‘报错
  18. python爬取公众号文章_python爬取微信公众号历史文章
  19. 世界上第一台通用计算机是一台,世界上第一台计算机是如何诞生的?
  20. 无线服务器怎么开启,无线wifi路由器关了怎么开启

热门文章

  1. 全志A10芯片参数,A10处理器简介
  2. 海伦公式判断点和三角形的关系
  3. 富士康计算机类笔试题,富士康(计算机类)笔试题
  4. HR软件切忌过度招标
  5. 数字化+特色小镇解决方案
  6. 笔记本给手机刷机失败数据怎么恢复
  7. 直流电流测量电路的工作原理
  8. 如何解决海康大华摄像头接入国标GB28181协议视频平台EasyGBS播放视频流,出现多个播放器的问题?
  9. html5 css3画八卦图,用纯CSS3绘制乾坤八卦图
  10. linux启动redis报错Failed to start Redis persistent key-value database