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

news2024/12/26 23:38:36

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中心打开视频文件/通过菜单打开视频文件;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/61220.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

秒杀实现技巧

需求分析 “秒杀”这个词在电商行业中出现的频率较高,如京东或者淘宝平台的各种“秒杀”活动,最典型的就是“双11抢购”。 “秒杀”是指在有限的时间内对有限的商品数量进行抢购的一种行为,这是商家以“低价量少”的商品来获取用户的一种营…

Golang原理分析:切片(slice)原理及扩容机制

《Go语言精进之路》切片相关章节学习笔记及实验。 1.切片原理 说切片之前,先看看Go语言数组。Go数组是一个固定长度的、容纳同构类型元素的连续序列,因此Go数组类型具有两个属性:长度及类型: var a [1]int var b [2]byte var c …

【Web安全】文件上传漏洞

目录 1. 文件上传漏洞概述 1.1 FCKEditor文件上传漏洞 1.2 绕过文件上传检查功能 2. 功能还是漏洞 2.1 Apache文件解析 2.2 IIS文件解析 2.3 PHP CGI路径解析 2.4 利用上传文件钓鱼 3. 设计安全的文件上传功能 1. 文件上传漏洞概述 文件上传漏洞是指用户上传了一个…

R语言学习笔记——入门篇:第四章-基本数据管理

# R语言R语言学习笔记——入门篇:第四章-基本数据管理 文章目录一、示例二、创建新变量三、变量的重编码四、变量的重命名4.1、交互式编辑器4.2、函数编程五、缺失值5.1、重编码某些值为缺失值5.2、在分析中排除缺失值六、日期值6.1、将日期值转换回字符型变量6.2、…

使用 Learner Lab - 在 Lambda 建立 Pillow 层,进行 S3 的图片镜相操作

使用 Learner Lab - 在 Lambda 建立 Pillow 层,进行 S3 的图片镜相操作 AWS Academy Learner Lab 是提供一个帐号让学生可以自行使用 AWS 的服务,让学生可以在 100 USD的金额下,自行练习所要使用的 AWS 服务,如何进入 Learner La…

[论文阅读] 颜色迁移-Automated Colour Grading

[论文阅读] 颜色迁移-Automated Colour Grading 文章: Automated colour grading using colour distribution transfer, [paper], [matlab代码], [python代码] 1-算法原理 本文算法分为2个大步骤, 首先使用IDT(Iterative Distribution Transfer)方法得到初步的结果, 这个结果…

优雅的springboot参数校验(二)

7. 集合校验 有这样一种场景,前端请求后端接口时,需要传递的是一个数组,数组的元素是一个对象,并且希望后台收到参数后可以对数组集合中的元素元素对象的属性进行校验,如果后台直接以List的来接收参数,约束…

[附源码]计算机毕业设计基于springboot的云网盘设计

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

linux网络编程之tcp

相关函数 int socket(int domain,int type,int protocol);参数: domain: AF_INET AF_INET6 AF_UNIX,AF_LOCAL AF_NETLINK AF_PACKET type: SOCK_STREAM: 流式套接字,唯一对应于TCP SOCK_DGRAM:数据报套接字,唯一对应着…

【第七章 MySQL体系结构、存储引擎、InnoDB、MyISAM、Memory、存储引擎特点及选择】

第七章 MySQL体系结构、存储引擎、InnoDB、MyISAM、Memory、存储引擎特点及选择 1.MySQL体系结构: ①连接层: 最上层是一些客户端和链接服务,包含本地sock 通信和大多数基于客户端/服务端工具实现的类似于TCP/IP的通信。主要完成一些类似于连…

[Power Query] 日期和时间处理

Power Query查询编辑器为日期和时间数据提供了强大而快捷的处理方式 例1: 从日期中提取年、月份、日、季度、周、天等信息 数据源 步骤1:将数据源导入到Power BI Desktop,单击【转换数据】选项,进入Power Query查询编辑器界面 步骤2:选中"日期&qu…

【概念】数据仓库和数仓建模

数据仓库 数仓主要特征 面向主题:每个需求和表都属于一个主题,可以用主题来对数仓的表分门别类集成性:将异构数据源,比如MySQL和服务器埋点日志,统一转换成结构化的hive表数据存储到ODS层非易失性:对历史…

Flink系列文档-(YY12)-窗口计算

1 窗口基本概念 1.1 概述 窗口,就是把无界的数据流,依据一定规则划分成一段一段的有界数据流来计算; 既然划分成有界数据段,通常都是为了"聚合"; Keyedwindow重要特性:任何一个窗口&#xff0…

游戏开发36课 cocoscreator scrollview优化

在cocoscreator内,ScrollView控件封装的挺完美的了,不过对于一些对性能要求比较高的场景,会存在问题,以top100排行榜排行榜举例子 1、应用卡顿甚至崩溃 按照官方用例使用ScrollView,插入100个玩家的item,理…

离线安装harbor容器镜像仓库(harbor-v2.3.5)

记录:354 场景:在CentOS 7.9操作系统上,离线部署harbor容器镜像仓库集群,使用Redis为外部缓存、使用PostgreSQL为外部数据库、使用Ceph为共享存储、使用nginx为harbor的负载均衡、使用Keepalived为集群高可用、使用docker-ce操作…

【专业术语】(计算机 / 深度学习与目标检测 / 轨道交通)

专业术语-计算机 / 深度学习与目标检测 / 轨道交通一、 计算机1 IDE2 API3 CUDA Driver API3.1 cuInit - 驱动初始化3.2 关于context,有两种:3.3 CUcontext4 RuntimeAPI5 Memory5.1 关于内存,有两大类:5.1.1 CPU内存,称…

[附源码]Python计算机毕业设计Django考试系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

FISCO BCOS(二十五)———多机部署

一、基础环境搭建 1、查看当前是否安装了ssh-server服务 dpkg -l | grep ssh2、安装ssh-server服务 sudo apt-get install openssh-server3、修改配置文件"/etc/ssh/sshd_config" 4、重启openssh-server root@FISCOBCOS01:~# sudo /etc/init.d/ssh restart5、查看…

高数 |【2020数一真题】部分错题及经典题自用思路整理

T1:积分限与被积函数都等价为无穷小 T2:不连续一定不可导 T3:可微的定义 T4:收敛半径 T6:空间直线与向量 法一:

WINDOWS7-11磁盘分区教程

首先,打开计算机管理界面 以windows11为例,在任务栏搜索框内,输入“计算机管理界面” 点击打开。 然后选择存储-》磁盘管理 到这里之后,我们需要选中一个磁盘,压缩卷分出来一部分空间。为新分区做准备。 以E盘为例&a…