要做一个集成了:

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播放相关推荐

  1. 人人都是产品经理之用Axure制作微信主页原型图

    以13Pro为机型创建仿微信主页面的一个制作. 一.原截图如下: 画出来的原型图如下:                           二.总结 背景颜色和图标样式还有所欠缺. 三.步骤: 1.先 ...

  2. 搭建webassembly网页播放器(三)---emcc编译ffmpeg编译库

    经过前面的2个部分,我们完成了环境的搭建,接下来我们使用emcc编译ffmpeg库,注意同样由于软链接的缘故,我们不能在windows和linux的共享文件夹里使用emcc编译ffmpeg, 这里我们 ...

  3. Axure高保真原型|音乐播放器原型

    分享几位网友模仿网易云音乐制作的播放器原型,供大家学习参考. 一.贡献网友: 徐妙荣 rp原件下载和在线查看地址: http://www.pmdaniu.com/rp/detail/32071 二.贡 ...

  4. Axure制作手机UI原型之界面滑动滚动效果

    用Axure制作手机界面原型的时候,往往会遇到像Android中listview那种页面,手指在界面上滑动,页面也就跟随滚动,拖拽到底部或者顶部的时候还有个回弹效果,如何在Axure之中模拟这种滚动呢 ...

  5. Android应用--简、美音乐播放器原型放送(作者:小巫)

    Android应用--简.美音乐播放器原型放送 2013年7月5日简.美音乐播放器开发 前言:小巫的简.美音乐播放器从5月7号开始开发,之前以为时间很充足,也没有估量整个软件的需求,如果简单实现基本的 ...

  6. Axure制作微信APP原型(三):消息+个人模块----聊天、浮窗、登录设备、个人主页、更多信息

    Axure制作微信APP原型(三) APP原型设计是产品经理需要做的工作之一,大家有这个方向和兴趣的可以自己下载一个Axure软件试一下. 可以用已有的APP模型参考设计学习以下,学学人家的界面是怎么 ...

  7. Android应用--简 美音乐播放器原型放送(作者 小巫)

    Android应用--简.美音乐播放器原型放送 2013年7月5日简.美音乐播放器开发 前言:小巫的简.美音乐播放器从5月7号开始开发,之前以为时间很充足,也没有估量整个软件的需求,如果简单实现基本的 ...

  8. android 车载控制手机音乐播放器,【图】浅谈车载音响播放器之安卓篇

    汽车音响无疑占据着开车乐趣个部分,无论你音乐发烧友与否,陶冶灵魂玩意我想有人去抗拒它,因为毕竟它个美东西,今天本人拿些玩音乐小心跟大家分享,欢迎交流探讨,相互学习! 抛开那 ...

  9. vb毕业设计——基于vb+VB.NET的媒体播放器设计与实现(毕业论文+程序源码)——媒体播放器

    基于vb+VB.NET的媒体播放器设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于vb+VB.NET的媒体播放器设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦. 文章目录: 基于 ...

  10. android b站倍速播放器,哔哩哔哩怎么加速播放?B站网页版和手机版视频倍速播放的方法介绍...

    bilibili简称B站是国内知名的视频弹幕网站,这里有最及时的动漫新番,最棒的ACG氛围,最有创意的Up主.那么,爱逛b站的朋友们都知道,加速播放效果更佳!那么,哔哩哔哩怎么加速播放呢?接下来小编就 ...

最新文章

  1. MongoDB(一):简介
  2. java的接口理解_原来Java的接口可以这样理解
  3. Mac安装brew包管理工具
  4. jQuery的筛选选择器
  5. C#中的Using的用法
  6. AWS Elasticsearch后模式
  7. python 表单中值为空的还需要传入么_牛掰!100行Python,自动动手打造一款多国语言翻译软件...
  8. Quart 2D (DrawText)
  9. 锁失效_关于bigtable中chubby锁失效时的一点思考
  10. 利用Java实现简单的日报管理
  11. 创建新用户时的相关缺省设置
  12. 狄马:荒谬的苦难哲学
  13. 星星泪用计算机怎么弹,星星泪简谱
  14. VS生成的解决方案exe文件在其他电脑显示缺失各种dll文件解决办法
  15. 阿里云OSS绑定自定义域名
  16. python文本发音_python3 - 文本读音器
  17. hackyou2014 CTF web关卡通关攻略
  18. 新来的同事问我where 1=1 是什么意思
  19. Runtime.getRuntime().exec()操作脚本
  20. 毕业设计论文——信号与线性系统实验箱

热门文章

  1. 发现一本数学好书——重温微积分
  2. 超详细的测试理论基础知识
  3. JUCE框架教程(5)——Plugin项目构造基础
  4. 使用计算机录制声音10,win10系统电脑中如何解决录屏时无法录制声音的问题
  5. 微信开放平台授权登录详细流程-第三方登录
  6. 可微信打印的共享服务器哪好,基于微信的图片打印分享平台
  7. 轻量级协作机器人到仿人机器人的关键技术演进及生态共建
  8. 心态对了一切都对了 -- Entropy 熵
  9. 热力学与统计物理学笔记
  10. 机器翻译 | 反向翻译 (back-translation) 笔记