QT + FFmpeg 5.x + x264 + x265 + SDL2 音视频播放器
QT + FFmpeg 5.x + x264 + x265 + SDL2 音视频播放器
使用了QT的QML设计界面,人机交互;
使用了FFmpeg 5.x + x264 + x265 + SDL2 完成了音视频的解析到播放;
阅读了ffplay的源码,用到了ffplay的核心思想.
想熟悉ffmpeg和ffplay的朋友,都可以参考学习.
代码自取: https://github.com/truedei/UPlayer
展示图
1.主界面
2.通过中心的按钮选择媒体文件
3.通过菜单打开文件
4.开始播放
5.暂停播放
6.继续播放
7.快进
可以想象一下,截图没效果
8.快退
可以想象一下,截图没效果
9.静音
10.调整音量
11. 时时进度条和时间显示
12.停止播放
停止后,又回来了
13.切换背景图
切换背景的按钮
点击后选择图片
切换后:
使用技术
编程语言:C、C++;
主要技术:QT5+qml;
视频相关:ffmpeg,视频解码;
多线程等。
记录
2021.12.7 :
可以暂停和开始播放了;
停止播放还存在问题,明天需要解决。
2021.12.8:
1、支持了停止播放的功能;
2、计算出来了总时间,还未显示到UI中。
3、明天需要显示到UI中,然后计算正在播放的时间。
2021.12.9: 1、UI中可以显示出来视频的总时间; 2、UI中显示出来了正在播放的时间(感觉不太准,有待提高);
2022.11.4:终于有时间来完结了
version 1.0.0
基础版本提交.
2022.12.4
1.音量控制(音量控制条拖动,音量静音);
2.停止播放;
3.快退播放;
4.快进播放;
5.暂停播放;
6.继续播放;
7.总时间/当前播放时间进度显示;
8.时时进度条;
9.进度条拖动控制播放;
10.通过UI中心打开视频文件/通过菜单打开视频文件;
QT + FFmpeg 5.x + x264 + x265 + SDL2 音视频播放器相关推荐
- Qt FFmpeg 音视频播放器
使用FFmpeg库实现 本地和rtp 音视频播放器,使用qt绘制视频. 本demo环境为 qt5.12 vs2019-32位 .pro的qt工程 FFmpeg版本位3.4.8 vs2092-32位 本 ...
- 基于Qt、FFMpeg的音视频播放器设计一
前言:整个项目的源代码 https://download.csdn.net/download/hfuu1504011020/10672140 最近刚完成基于Qt.FFMpeg的音视频播放器相关C++程 ...
- 使用Qt编写的跨平台音视频播放器(一)
1.初衷 为了学习Qt,遂自己琢磨着写一个音视频播放器(比较五花八门,借鉴模仿了好几个软件的界面),可以有很多种实现方式,在这里我使用的是QMediaPlayer,和QVideoWidget显示.有时 ...
- QT视频播放器(windows qt、linux qt 音视频播放器)
想要更多项目私wo!!! 一.项目简介 这是基于Qt的QMediaPlayer实现的音视频播放器,实现了播放器的常用功能,例如根据播放列表选择播放的音视频,拖动滑块控制音视频播放. 二. ...
- android音视频播放器开发百度云,Android 播放端 SDK
1 概述 PLDroidPlayer 是一个适用于 Android 平台的音视频播放器 SDK,可高度定制化和二次开发,为 Android 开发者提供了简单.快捷的接口,帮助开发者在 Android ...
- 视频教程-FFmpeg+OpenGL ES+OpenSL ES打造Android视频播放器-Android
FFmpeg+OpenGL ES+OpenSL ES打造Android视频播放器 从事Android移动端开发多年.主导开发过直播.电商.聊天等各种类型APP和游戏SDK:熟悉Android音视频开发 ...
- 【QT/C++】基于QT开发的一款A-SOUL元素的视频播放器(附源码)
[QT/C++]基于QT开发的一款关于A-SOUL的视频播放器(附源码) 前言 一.软件使用说明 1.运行软件的界面如下 2.操作软件的步骤 二.软件设计说明 1.UI界面的设计 2.主代码中的部分函 ...
- Linux系统的madplay、mplayer音视频播放器的制作
Linux系统音视频播放器的制作 madplay和mplayer的安装环境 一.Linux系统录音播放源码的下载和移植 1.需要下载alsa-lib-1.2.6.tar.bz2(声音驱动的内核组件库) ...
- 德声科技代理M-Live音视频播放器
M-live于1987年在里米尼成立,30年来一直是意大利MIDI领域(软件和播放器)的领导者,音乐家.音响工程师和IT专家构成了其工作团队的核心. M-Live生产的乐器消除了个人与音乐体验之间的所 ...
最新文章
- ASP操作Excel技术总结
- 轮询没有收到的可能性_轮询(Polling)是什么?
- [Kubernetes] 如何关联PVC到特定的PV
- python识别验证码——PIL,pytesser,pytesseract的安装
- 漫画:从打牌到 map-reduce 工作原理解析
- C#基础笔记(第十天)
- 【管理心得之三】管理者们扪心自问一下 “你们杀了几个属下”
- R初学者指南pdf 百度云盘
- VS2015用nuget包管理器离线安装nupkg包
- Recast源码解析(二):NavMesh导航网格生成原理(上)
- 自制狂拍灰太狼小游戏(HTML+CSS+JavaScript)
- CHB-MIT波士顿儿童医院癫痫EEG脑电数据处理(一)
- 数据库第6章总结——关系数据理论
- 中国人民银行招聘计算机考什么,求中国人民银行招聘计算机专业人员的考试题。...
- 【arc093f】Dark Horse(容斥原理,动态规划,状态压缩)
- 现代大学英语精读第二版(第四册)学习笔记(原文及全文翻译)——3A - Groundless Beliefs(无根据的信念)
- ORACLE XE在centos平台下安装方法
- Review of 2012 Goal for 2013
- Arale Base源码分析(含Attribute)
- 逻辑推理能力训练与程序调试
热门文章
- 写一些随感,以此今年金庸先生
- Manjaro KDE 18.1.2踩坑指南(含双显卡黑屏解决方案)
- gstreamer学习笔记---编码videoencoder
- 【如何访问GitHub——国内GitHub打不开了怎么办】
- 对于 C 源文件,IntelliSenseMode 已根据编译器参数和查询 compilerPath 从“windo
- 高频功率放大器的电路组成
- 08.第九章.人力资源管理
- STA(静态时序分析) 详解:如何计算最大时钟频率,以及判断电路是否出现时钟违例(timing violation)?
- 恶搞小程序:鼠标不受控制+无限弹窗
- 学习笔记1--自动驾驶汽车介绍