Axure制作播放器原型图-OpenGL FFmpeg QT Rtmp H264 视频监控 mp4播放
要做一个集成了:
1.视频监控 视频播放+云台控制
2.图片浏览yuv jpg bmp 图片处理 锐化 模糊 二值化
3.音频播放 pcm aac 音频分析 处理
4.视频文件播放 视频文件格式分析h264-annexb avi flv mp4
5.流媒体播放 hls webrtc rtsp rtmp
6.视频分析 处理--人脸识别、目标检测、目标跟踪、美颜
7.流媒体服务rtmp webrtc rtsp服务
源代码
player: 混合播放器代码图片播放、视频播放、设备捕捉、网络播放、推流、变换、目标跟踪ffmpeg sdl opengl x264 aac rtmp webrtc opencv
参考资料
刚开始的时候参考了很多界面,例如
GitHub - ithewei/hplayer: A multi-screen player using Qt + FFmpeg.
https://github.com/Greedysky/TTKMusicplayer
https://github.com/wang-bin/QtAV
https://github.com/yundiantech/VideoPlayerz
https://github.com/NJU-TJL/Qt5-MusicPlayer
GitHub - strawberrymusicplayer/strawberry: Strawberry Music Player
实现效果
为此,我先设计了第一个版本,包括了所有输出的树
但是我后来想,这种操作稍微复杂,而且有如下问题:
1.无法重点展示某个界面
2.状态提示不明显
于是我修改了界面,变成了如下:
--------------------------------------------------------最终效果 --------------------------------------------------------
所有界面视图
单个画面视图:
这种对用户来说,只点击+号和播放按钮即可,状态一目了然,非常便捷
对于不同应用,按照输入类型不同,采用不同的窗口类来加载
窗口设计
1.图像文件
CImageView
如jpg yuv bmp png
支持图像文件格式解析显示
支持图像图形编辑、另存为、二值化、锐化、模糊、镜像等操作
2.音频文件
CAudioFileView
aac wmv pcm
支持文件格式解析显示
支持音频波形显示、声音播放、静音、除噪、降声、输出
3.视频文件
CVideoFileView
mp4 avi flv
支持文件格式解析显示
支持解码过程显示
4.设备捕获
CDeviceCaptureView
USB视频设备:
屏幕捕捉
支持捕捉过程信息显示
5.网络媒体
CNetMediaView
HLS WebRtc rtmp rtsp
支持网络包信息解析
支持协议分析
6.视频监控
CHIKCameraView
如海康球机 支持预制位、缩放、变焦、转动
支持视频分析
支持网络分析
支持协议分析
混流设计
新建一个混流,包含一个音频和一个视频
音频:约定采样率、通道、编码格式
视频:约定分辨率、码率、编码格式
输出设计
将混流后的码流输出到某个目的地:
1.本地存储 设置存储格式、封包格式,文件存储规则,如设定格式为mp4 按照250MB/个进行存储。
2.网络推流 如果选择网络推流,则 在“服务”功能中选择一个,本机的rtmp或者本机的webrtc服务。
服务设计
用户在启动软件的时候 自动启动RTMP和WebRtc服务,本机作为服务提供方,供其它客户端或者第三方调用。其他输入也可以混流后输出到本服务。
基本设计思想:
输入---->处理----->输出------>服务
例如:
把一个mp4文件播放,分两路,第1路进行人脸识别 第2路进行输出到本地rtmp地址rtmp://127.0.0.1/test/chan1223
把USB摄像头捕获到的数据转成1280*720+麦克风捕获到的数据-----h264编码+aac编码---混流后输出到WebRtc--output1,同时再开一个客户端 创建一个输入output1
资源下载:axure混合播放器-多窗口和单窗口-交通文档类资源-CSDN下载
实现代码:player: 混合播放器代码图片播放、视频播放、设备捕捉、网络播放、推流、变换、目标跟踪ffmpeg sdl opengl x264 aac rtmp webrtc opencv
V1.0.0 2021-12-04
实现了:
1.调色板 绘制背景
2.支持多窗口模式中---仿照浏览器类似的的播放窗口数量根据窗口宽度自适应调整
3.支持scrollbar
4.选中后绘制选中框
5.支持单视频窗口模式和多视频窗口模式切换
6.支持单窗口模式中--拉伸窗口图像缩放。
多窗口模式:
单窗口模式:
V1.0.0 2021-12-07
1.实现了 左侧输入树、底部状态窗口
2.实现了全屏、最大化
3.实现了快捷键F2显示单个/多个播放器 F3显示/隐藏 左侧F4显示/隐藏底部
进行视图切换
多视图+全屏模式
单视图+全屏模式
V1.0.0 2021-12-09
1.实现了 多屏模式下窗口Zoomout和zoomin
2.增加了OpenGL窗口显示(右侧窗口)测试代码(下个版本去掉右侧窗口)
3.增加了多屏模式上下左右键窗口选择
4.增加了多屏模式垂直滚动条自动滚动到选择的窗口功能
5.增加了每个窗口内部的播放 暂停 最大化 关闭 按钮 以及label
6.修改在ubuntu16.04 qt-5.9.0下编译语法错误问题
(下图为ubuntu上预览图)
V1.0.0 2021-12-13
1.实现了 保存当前UI配置到xml文件和从xml文件读取配置
2.增加新建窗口选项.
<Config>
<Main MainwindowMax="true" ViewFullScreen="false" ShowLeft="false" ShowBottom="false" OneMax="false" mainw="774" mainh="429" mulvieww="1918" mulviewh="1054" itemw="352" itemh="198" SelectItem="10"/>
<ViewWindows>
<View0 viewtype="12" img="/home/zhouyong/Pictures/18.jpg"/>
<View1 viewtype="12" img="/home/zhouyong/Pictures/18.jpg"/>
<View2 viewtype="12" img="/home/zhouyong/Pictures/31.jpg"/>
<View3 viewtype="12" img="/home/zhouyong/Pictures/32.jpg"/>
<View4 viewtype="12" img="/home/zhouyong/Pictures/32.jpg"/>
<View5 viewtype="12" img="/home/zhouyong/Pictures/a.jpg"/>
<View6 viewtype="12" img="/home/zhouyong/Pictures/33.jpg"/>
<View7 viewtype="12" img="/home/zhouyong/Pictures/15.jpg"/>
<View8 viewtype="12" img="/home/zhouyong/Pictures/14.jpg"/>
<View9 viewtype="12" img="/home/zhouyong/Pictures/14.jpg"/>
<View10 viewtype="12" img="/home/zhouyong/Pictures/a.jpg"/>
<View11 viewtype="12" img="/home/zhouyong/Pictures/a.jpg"/>
<View12 viewtype="12" img="/home/zhouyong/Pictures/33.jpg"/>
</ViewWindows>
</Config>
V1.0.0 2021-12-15
1.增加了图片输入类--CJpgInputView
Axure制作播放器原型图-OpenGL FFmpeg QT Rtmp H264 视频监控 mp4播放相关推荐
- 人人都是产品经理之用Axure制作微信主页原型图
以13Pro为机型创建仿微信主页面的一个制作. 一.原截图如下: 画出来的原型图如下: 二.总结 背景颜色和图标样式还有所欠缺. 三.步骤: 1.先 ...
- 搭建webassembly网页播放器(三)---emcc编译ffmpeg编译库
经过前面的2个部分,我们完成了环境的搭建,接下来我们使用emcc编译ffmpeg库,注意同样由于软链接的缘故,我们不能在windows和linux的共享文件夹里使用emcc编译ffmpeg, 这里我们 ...
- Axure高保真原型|音乐播放器原型
分享几位网友模仿网易云音乐制作的播放器原型,供大家学习参考. 一.贡献网友: 徐妙荣 rp原件下载和在线查看地址: http://www.pmdaniu.com/rp/detail/32071 二.贡 ...
- Axure制作手机UI原型之界面滑动滚动效果
用Axure制作手机界面原型的时候,往往会遇到像Android中listview那种页面,手指在界面上滑动,页面也就跟随滚动,拖拽到底部或者顶部的时候还有个回弹效果,如何在Axure之中模拟这种滚动呢 ...
- Android应用--简、美音乐播放器原型放送(作者:小巫)
Android应用--简.美音乐播放器原型放送 2013年7月5日简.美音乐播放器开发 前言:小巫的简.美音乐播放器从5月7号开始开发,之前以为时间很充足,也没有估量整个软件的需求,如果简单实现基本的 ...
- Axure制作微信APP原型(三):消息+个人模块----聊天、浮窗、登录设备、个人主页、更多信息
Axure制作微信APP原型(三) APP原型设计是产品经理需要做的工作之一,大家有这个方向和兴趣的可以自己下载一个Axure软件试一下. 可以用已有的APP模型参考设计学习以下,学学人家的界面是怎么 ...
- Android应用--简 美音乐播放器原型放送(作者 小巫)
Android应用--简.美音乐播放器原型放送 2013年7月5日简.美音乐播放器开发 前言:小巫的简.美音乐播放器从5月7号开始开发,之前以为时间很充足,也没有估量整个软件的需求,如果简单实现基本的 ...
- android 车载控制手机音乐播放器,【图】浅谈车载音响播放器之安卓篇
汽车音响无疑占据着开车乐趣个部分,无论你音乐发烧友与否,陶冶灵魂玩意我想有人去抗拒它,因为毕竟它个美东西,今天本人拿些玩音乐小心跟大家分享,欢迎交流探讨,相互学习! 抛开那 ...
- vb毕业设计——基于vb+VB.NET的媒体播放器设计与实现(毕业论文+程序源码)——媒体播放器
基于vb+VB.NET的媒体播放器设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于vb+VB.NET的媒体播放器设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦. 文章目录: 基于 ...
- android b站倍速播放器,哔哩哔哩怎么加速播放?B站网页版和手机版视频倍速播放的方法介绍...
bilibili简称B站是国内知名的视频弹幕网站,这里有最及时的动漫新番,最棒的ACG氛围,最有创意的Up主.那么,爱逛b站的朋友们都知道,加速播放效果更佳!那么,哔哩哔哩怎么加速播放呢?接下来小编就 ...
最新文章
- MongoDB(一):简介
- java的接口理解_原来Java的接口可以这样理解
- Mac安装brew包管理工具
- jQuery的筛选选择器
- C#中的Using的用法
- AWS Elasticsearch后模式
- python 表单中值为空的还需要传入么_牛掰!100行Python,自动动手打造一款多国语言翻译软件...
- Quart 2D (DrawText)
- 锁失效_关于bigtable中chubby锁失效时的一点思考
- 利用Java实现简单的日报管理
- 创建新用户时的相关缺省设置
- 狄马:荒谬的苦难哲学
- 星星泪用计算机怎么弹,星星泪简谱
- VS生成的解决方案exe文件在其他电脑显示缺失各种dll文件解决办法
- 阿里云OSS绑定自定义域名
- python文本发音_python3 - 文本读音器
- hackyou2014 CTF web关卡通关攻略
- 新来的同事问我where 1=1 是什么意思
- Runtime.getRuntime().exec()操作脚本
- 毕业设计论文——信号与线性系统实验箱