- 博客(82)
- 资源 (12)
- 收藏
- 关注
原创 数据结构与算法-要点整理
本文整理了常用的数据结构,包括线性表,二叉树,多路查找树等,10种常用的排序算法,5种查找算法,以及其他的算法思想等。本文包含文字图片说明与代码解释,有助于增加对数据结构与算法的深刻理解。
2025-01-27 18:25:56
1081
原创 MFC音视频播放器-支持电子放大等功能
本播放器在VS2019下开发,使用ffmpeg+D3D实现视频播放渲染功能。同时本播放器支持录像功能、截图功能、音视频播放功能、码流信息显示、电子放大功能等。D3D的渲染同时支持surface和texture两种方式,电子放大功能是在D3D Texture方式下进行实现。以下为该功能的一些核心代码,具体可以通过本文末的链接进行工程源码下载。
2024-11-30 11:54:47
750
原创 ffmpeg+D3D实现的MFC音视频播放器,支持录像、截图、音视频播放、码流信息显示等功能
本播放器是在vs2019下开发,通过ffmpeg实现拉流解码功能,通过D3D实现视频的渲染功能。截图功能采用libjpeg实现,可以截取jpg图片,图片的默认保存路径是在C:\MYRecPath中。录像功能采用封装好的类Mp4Record实现,在Mp4Record类中主要还是采用ffmpeg的相关函数方法进行mp4视频的录制。音频的播放采用DirectSound实现,将ffmpeg解码后的音频数据存储到DirectSound的buffer中,再调用DirectSound的play实现对音频的播放功能。
2024-11-13 16:12:31
517
原创 QT使用websocket实现语音对讲
本文所描述的功能和代码,是基于QT的开发环境。在QT上使用websocket,接受和发送pcm音频,实现了语音对讲功能。经自测,该功能可以正常使用,以下是相关代码的分享。
2024-10-08 11:41:08
618
原创 百度AI使用-图像文字识别
百度AI接口可以免费试用,本文描述如何申请使用该资源,以及在QT-Demo下使用百度AI接口,实现图像文字识别功能。
2024-07-02 16:05:46
1804
原创 软考-架构设计师-综合知识总结(试卷:2009~2022)(下篇)
本文档对2009到2022年试卷的综合知识进行了归纳总结,同时对叶宏主编的《系统架构设计师教程》划分重点。
2024-06-11 11:13:55
665
原创 软考-架构设计师-综合知识总结(试卷:2009~2022)(上篇)
1.1 重要知识点:模块化开发规则:1> 最高模块内聚,即在一个模块内部的元素最大限度地关联,只实现一种功能的模块是高内聚,具有三种以上功能的模块是低内聚;2> 最低耦合,即不同模块之间的关系极可能弱,以利于软件的升级和扩展;3> 模块大小适度,即模块不要太大或者大小,太大维护困难,太小又会导致模块间耦合增加;
2024-06-07 16:05:36
1154
1
原创 无插件网页视频播放器,支持图像绘制(包含方格子、方框等),支持音视频播放、支持录像截图,提供源码下载
本播放器内部采用jessibuca插件接口,支持录像、截图、音视频播放等功能。播放器播放基于ws流,图像绘制操作:1)支持绘制方格子,用于监控移动检测画框;2)支持绘制不透明方框,用于监控隐私遮挡画框;3)支持绘制透明方框,用于监控ROI画框等操作。1)下载本博客最后的链接后,解压压缩包,打开文件夹(nodejs安装包),双击node-v14.12.0-x64.msi,安装nodejs2)在cmd下执行:node app.js 3)浏览器输入url:http://localhost:3000/
2024-03-22 18:05:45
783
1
原创 网页无插件视频播放器,支持录像、截图、音视频播放,多路播放等,提供源码下载
本播放器内部采用jessibuca插件接口,支持录像、截图、音视频播放等功能。播放器播放基于ws流,分屏操作支持1分屏、4分屏、6分屏、9分屏方式。jessibuca工作原理是通过Emscripten将音视频解码库编译成Js(WebAssembly,简称wasm)运行于浏览器之中,RTSP视频流通过ffmpeg的Wasm版软解码成Video所⽀持的MP4后播放。此方案由于Wasm不⽀持硬件解码,对多路同时播放来说,终端电脑的CPU和内存占⽤会⽐较⾼,性能也堪忧。本博客提供源码下载。
2024-03-20 16:34:33
1632
原创 浏览器网页内嵌Qt-C++音视频播放器的实现,支持软硬解码,支持音频,支持录像截图,支持多路播放等,提供源码工程下载
浏览器内嵌qt-C++播放器实现思路:在浏览器⽹页中的指定位置和⼤⼩,实现⼀个内嵌到⽹页中显⽰的播放窗⼝,前端还必须可对这个内嵌播放窗⼝进⾏控制,⽽且播放窗⼝必须跟随浏览器窗⼝的移动和缩放、⽹页滚动、标签页切换、关闭等操作进⾏⾃动联动。这就要求播放窗⼝必须是本地原⽣程序实现,最好⽤⾼性能的C++语⾔来开发,还可充分利⽤终端电脑的硬件加速特性。这个播放窗⼝同时提供Web Socket的服务端和JSON打包命令的解析执⾏模块,前端就可以通过Web Socket连接后发送JSON打包的控制命令实现控制播放窗⼝。
2024-01-16 19:22:01
2374
3
原创 ubuntu下QT搭建Android开发环境
用QT开发android和直接使用android开发的区别Qt Creator vs Android Studio: 使用Qt Creator作为集成开发环境(IDE)可以让你在一个环境中开发多个平台的应用,包括Android。而直接使用Android Studio是Google提供的专门为Android开发设计的IDE。
2023-11-30 17:00:54
1541
原创 MFC所有控件介绍及基本使用
本篇文档介绍了MFC控件的基本使用,同时提供了关于MFC控件使用的工程代码,程序界面如下图,有兴趣的可以到文档最后的链接处进行下载。控件使用工程下载路径:https://download.youkuaiyun.com/download/linyibin_123/88565032。
2023-11-24 10:59:54
4659
原创 QT开发的摄像头电子地图Demo(采用百度地图),提供源码下载
本软件的工程是在QT-5.8 32位下开发,可以支持其他qtcreator 32位版本(用32位是因为视频播放的码流库是32位)。软件功能有:可通过右键菜单:创建组、删除组、重命名组、创建设备、右键设备--播放设备、停止播放、重命名设备,删除设备,支持设备拖动到其他组,支持选中设备,地图跳转到该设备,显示当前鼠标经纬度,支持放大级别配置,支持地点定位,支持添加和删除地图标注点,信息弹出框显示信息及播放视频操作。
2023-11-08 10:56:41
464
原创 vscode上搭建go开发环境
Go语言适合用于开发各种类型的应用程序,包括网络应用、分布式系统、云计算、大数据处理等。由于Go语言具有高效的并发处理能力和内置的网络库,它特别适合构建高并发、高性能的服务器端应用。以下是一些常见的Go语言应用开发领域:网络应用开发:Go语言的轻量级线程(goroutine)和通道(channel)机制使得开发网络应用变得更加简单和高效,例如Web服务、API开发和微服务架构。
2023-09-04 09:56:02
7833
原创 QT下使用ffmpeg+SDL实现音视频播放器,支持录像截图功能,提供源码分享与下载
SDL是音视频播放和渲染的一个开源库,主要利用它进行视频渲染和音频播放。SDL库下载路径:https://github.com/libsdl-org/SDL/releases/tag/release-2.26.3,我使用的是2.26.3版本,大家可以自行选择该版本或其他版本的库。SDL2.lib、SDL2main.lib和SDL2test.lib是SDL库的不同部分和功能。SDL2.lib:这是SDL库的主要部分,包含了所有常用的SDL功能和函数。它提供了与窗口、渲染、音频、事件处理等相关的功能。
2023-08-28 09:38:18
2640
3
原创 流媒体服务器SRS的搭建及QT下RTMP推流客户端的编写
本客户端基于我的博客:https://blog.youkuaiyun.com/linyibin_123/article/details/132107948 开发的播放器下新增RTMP推流。播放器可以支持软硬解码,截图、录像等功能,详细功能看该博客。本客户端支持读取文件解码后推流,也支持拉取网络流解码后进行推流。推流地址为前面搭建的RTMP流媒体服务器,推流成功后,通过VLC播放器从RTMP服务器上拉流下来播放。
2023-08-21 16:04:10
3408
原创 opencv+ffmpeg+QOpenGLWidget开发的音视频播放器demo
本篇文档的demo包含了 1.使用OpenCV对图像进行处理,对图像进行置灰,旋转,抠图,高斯模糊,中值滤波,部分区域清除置黑,背景移除,边缘检测等操作;2.单纯使用opencv播放显示视频;3.使用opencv和openGL播放显示视频;4.在ffmpeg解码后,使用opencv显示视频,并支持对视频的旋转翻转、裁剪、添加文字、添加logo、亮度调节、置灰、录像截图,音频开关等功能。视频播放器同时支持本地文件与网络码流地址的播放。本篇博客的最后有提供工程代码的下载。
2023-08-15 10:19:25
1952
1
原创 QT下开发的音视频播放器,支持单路与多路播放,支持软硬解码,支持本地文件与实时流播放,支持录像截图,支持YUV与RGB显示,支持音量调节,支持码流信息显示,支持进度条跳转等功能,稳定实用,提供源码下载
本工程使用的qt版本是5.8版本,可以在5.8及其以上版本进行编译。ffmpeg采用的是5.1版本,在工程的WinLib下有x86和64位的ffmpeg可供选择。本地测试的视频文件在Bin目录下,实时流采用的是拉取摄像头的RTSP流进行测试。本播放器支持软硬解码,硬解码采用的DXVA2, ffmpeg解码后,通过重写QOpenGLWidget,可以让YUV转RGB在GPU进行处理,减少对CPU的使用。音频播放采用的是QAudioOutput,通过setVolumn接口可以控制音量的大小。
2023-08-05 14:42:33
886
2
原创 使用QTableWidget实现录像排程操作
该录像排程,是采用继承于QTableWidget的ScheduleTableWidget类进行实现。在ScheduleTableWidget实现类中,去除了Table原本的横向表头和纵向表头,分别采用第一行和第一列构成新的表头。新的横向表头代表一天24小时,新的纵向表头代表一周。新的横向表头是用setSpan合并了两个单元格,所以在它下面的每个单元格代表半个小时。横向表头和纵向表头都引入自定义委托,去实现字体、颜色等设置。多个选中区域可以通过按住Ctrl+鼠标左键绘制实现。
2023-07-18 15:26:45
241
原创 onvif库封装及qt工程调用onvif库实现设备搜索、获取码流地址等功能
本篇的OnvifManager工程是在vs2010下进行开发编译,它实现了对onvif库的封装调用,目前工程接口实现了对onvif的搜索、码流地址获取、设备重启接口,其他接口后续可以通过更改工程代码进行添加。qt工程myonvif是对OnvifManager生成的动态库进行调用,用QTableview显示搜索后的设备信息,支持码流地址获取及设备重启功能,支持单击网页访问。
2023-07-11 17:15:53
2087
6
原创 ffmpeg编译笔记:ubuntu18.04交叉编译win-ffmpeg,引入libx264,libx265,libfdk-aac,libfreetype等第三方库
ubuntu18.04的交叉编译环境,请看我的另一篇博客:https://blog.youkuaiyun.com/linyibin_123/article/details/131214295。如果不想编译可以直接下载我编译好的库:https://download.youkuaiyun.com/download/linyibin_123/87966470。
2023-06-29 20:34:12
2820
原创 ffmpeg编译笔记:ubuntu18.04下使用mingw交叉编译ffmpeg5.1 x86与64,用于windows使用
本篇描述了ffmpeg5.1在ubuntu18.04上的编译经验。编译后的库支持h264,h265软硬解码,支持https,支持SDL。本篇同时描述openssl在ffmpeg中的编译经验,以及提供ffmpeg编译和openssl编译的32位和64位的配置命令。
2023-06-14 19:55:13
3120
原创 IP报文解析(TCP、UDP、 ICMP)及代码分享(C++)
A与B连接后发送第一个报文段,序号值被系统分配随机一个值S,后续报文段的序号值为S + 偏移值(该报文段第一个字节在整个字节流中第几个字节,例如,某个TCP报文段传送的数据是字节流中的第1025~2048字节,那么该报文段的序号值就是ISN+1025)这个伪首部指,源地址、目的地址、UDP数据长度、协议类型(0x11),协议类型就一个字节,但需要补一个字节的0x0,构成12个字节。9> 16位校验和,2个字节。5> 4位头部长度,表示有多少个32位字(4字节),4位最大值是15,所以头部最长60字节。
2023-05-06 17:14:20
4799
1
原创 PPP报文解析与代码封装分享
PPP(Point-to-Point Protocol点到点协议),属于数据链路层协议,这种链路提供全双工操作,并按照顺序传递数据包。PPP协议是一个协议集包含:LCP(Link Control Protocol)链路控制协议,和NCP(Network Control Protocol)网络控制协议。PPP协议经历5个阶段:初始化阶段、LCP协商阶段(包含认证)、NCP(IPCP)协商阶段、PPP会话阶段、网络终止阶段。
2023-05-06 15:27:25
2663
原创 MFC下使用winInet实现Get与Post功能的http客户端,实现文件上传,实现basic认证
该客户端工程基于VS2019下,使用winInet进行实现。主要功能是通过Get和Post与服务器进行交互,认证采用了basic认证。
2023-03-21 19:40:42
1110
原创 vs下使用win32 http-server-api实现http服务器,实现get和post请求
在windows VS下,用C++实现http服务器,目前据我所知,可以使用win32 http-server-api进行实现,也可以使用libevent进行实现,以下例子是用win32 http-server-api实现的http服务器,支持get和post请求,本文提供服务器的demo工程下载,该demo是在vs2008下,可以修改工程支持其他vs版本。win32 http-server-api官方文档访问路径:1.HttpInitialize 初始化WinHTTP函数库;
2023-03-15 17:58:07
1830
原创 qt下ffmpeg录制mp4经验分享,支持音视频(h264、h265,AAC,G711 aLaw, G711muLaw)
MP4,是最常见的国际通用格式,在常见的播放软件中都可以使用和播放,磁盘空间占地小,画质一般清晰,它本身是支持h264、AAC的编码格式,对于其他编码的话,需要进行额外处理。本文提供了ffmpeg录制mp4的封装代码,经测试视频上它支持h264、h265编码,音频支持了AAC、G711的aLaw、muLaw编码。对于以上编码的支持,部分是需要修改ffmpeg的源码,本文也有提供已编译好的ffmpeg以及说明源码上需要修改的地方。
2023-03-07 16:04:39
2870
1
原创 ffmpeg编译笔记:ubuntu14.04下用i686-w64-mingw32交叉编译支持SDL、Openssl的ffmpeg库
本篇博客是基于前两篇关于ffmpeg交叉编译下,进行再次编译操作。ubuntu下ffmpeg的交叉编译环境搭建可以参看以下我的这篇博客:https://blog.youkuaiyun.com/linyibin_123/article/details/108759367;ubuntu下交叉编译openssl及交叉编译支持openssl的ffmpeg库可以参看另外一篇我的博客:https://blog.youkuaiyun.com/linyibin_123/article/details/126301301。
2023-02-27 15:51:21
949
原创 用Qt开发的ffmpeg流媒体播放器,支持截图、录像,支持音视频播放,支持本地文件播放、网络流播放
本工程qt用的版本是5.8-32位,ffmpeg用的版本是较新的5.1版本。它支持TCP或UDP方式拉取实时流,实时流我采用的是监控摄像头的RTSP流。音频播放采用的是QAudioOutput,视频经ffmpeg解码并由YUV转RGB后是在QOpenGLWidget下进行渲染显示。本工程的代码有注释,可以通过本博客查看代码或者在播放最后的链接处下载工程demo。
2023-02-10 17:49:28
8612
11
原创 Qt图表操作(QCustomPlot 与 QtCharts的介绍与使用)
QCustomPlot和QCharts介绍与比较,同时使用QCustomPlot绘制动态曲线图和柱状图,使用QCharts绘制饼状图,提供源代码和工程下载。
2023-01-16 16:25:36
7075
1
原创 qt读写xml文件(DOM和SAX两种方式)
qt读写xml文件,包含DOM和SAX两种方式。分享demo工程代码,提供demo工程链接下载,亲测可用。
2023-01-09 11:17:58
2194
原创 Qt之Json操作demo
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,使用JavaScript语法来描述数据对象,但是JSON仍然独立于语言和平台。JSON解析器和JSON库支持许多不同的编程语言,被广泛用于Internet上的数据交换格式。JSON的语法主要是:1)键值对(key:value)键值key,必须是字符串,位于同一层级的键值,不能重复;value值,类型是可选的,整形,浮点型,字符串,json数组,json对象,空值-null(null)。
2023-01-05 18:02:46
2175
原创 qt之smtp-demo封装与测试
SMTP是一种提供可靠且有效的电子邮件传输的协议,它建立在FTP文件传输服务上的一种邮件服务,主要用于系统之间的邮件信息传递,并提供有关来信的通知。SMTP的工作过程是建立连接、邮件传送、连接释放。SMTP的默认端口是25。
2022-12-26 14:36:45
1545
原创 qt下采用libcurl实现ftp与tftp功能,提供源代码程序
Qt下使用libcurl实现ftp和tftp上传下载功能的实现,提供库封装程序和库调用程序的源代码,另外libcurl库还封装了http相关接口。
2022-12-24 15:08:09
3195
3
原创 modbus介绍、环境搭建测试与qt下串口/Tcp的demo工程测试
Modbus是一种串行通信协议,于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式,Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。MODBUS 采用大端来表示地址和数据对象。1)小端:低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。
2022-12-21 18:09:09
3771
原创 mqtt服务器搭建与qt下的mqtt客户端实现
本文包含:mqtt的介绍,mqtt服务器的搭建,qmqtt在工程的部署,mqtt客户端源代码分享,以及服务器与客户端连接后的调试过程与结果
2022-12-14 14:34:18
7962
5
原创 常用数据库之mysql的搭建与使用
mysql为关系型数据库,是由瑞典的MySQLAB公司开发的,但是几经辗转,现在是Oracle产品。它是以“客户/服务器”模式实现的,是一个多用户、多线程的小型数据库服务器。而且MySQL是开源数据的,任何人都可以获得该数据库的源代码并修正MySQL的缺陷。
2022-12-12 11:43:10
607
原创 常用数据库之sqlite的使用
sqlite为关系型数据库,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标是嵌入式的,而且已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了. SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。SQLite 源代码不受版权限制。本文提供sqlite的介绍和qt-demo的使用例子供参考。
2022-12-05 19:59:30
1145
C++音视频播放器工程源码下载(支持录像、截图、码流信息显示、音视频播放、电子放大等功能)
2024-11-30
MFC音视频播放器可执行程序下载(支持录像、截图、码流信息显示、音视频播放、电子放大等功能)
2024-11-30
ffmpeg+D3D实现的MFC音视频播放器,支持录像、截图、音视频播放、码流信息显示等功能(工程源代码下载)
2024-11-13
ffmpeg+D3D实现的MFC音视频播放器,支持录像、截图、音视频播放、码流信息显示等功能 (可执行程序下载)
2024-11-13
无插件网页视频播放器,支持图像绘制(包含方格子、方框等),支持音视频播放、支持录像截图,提供源码下载
2024-03-22
网页无插件视频播放器,支持录像、截图、音视频播放,多路播放等,提供工程源码下载
2024-03-20
浏览器网页内嵌Qt-C++播放器(源码工程下载),支持软硬解码,支持音频播放与音量调节、支持录像截图、支持多路播放、全屏操作等
2024-01-16
浏览器网页内嵌Qt-C++播放器(可执行程序下载),支持软硬解码,支持音频,支持录像截图,支持多路播放等功能
2024-01-16
MFC控件使用的Demo工程,包含对所有控件的基本使用以及封装继承后的功能扩展与样式美化
2023-11-24
QT开发的摄像头电子地图Demo(采用百度地图),工程源码下载
2023-11-08
QT开发的摄像头电子地图Demo(采用百度地图),可执行程序,不包含源码
2023-11-08
QT下开发的音视频播放器,支持RTMP推流,支持软硬解码,支持单路与多路播放,支持本地文件与实时流播放,支持录像截图等
2023-08-21
opencv+ffmpeg+QOpenGLWidget开发的音视频播放器demo(工程源码下载,环境:qt-5.8 64)
2023-08-15
opencv+ffmpeg+QOpenGLWidget开发的音视频播放器demo (本下载只提供可执行文件,不提供源码)
2023-08-15
使用QTableWidget实现录像排程操作(可执行程序)
2023-08-11
QT下开发的音视频播放器(可执行程序)
2023-08-11
QT下开发的音视频播放器,支持单路与多路播放,软硬解码,本地与实时视频播放,录像截图,YUV与RGB显示,音量调节,进度条跳转等
2023-08-05
使用QTableWidget实现录像排程操作
2023-07-18
onvif动态库源码及qt调用动态库工程源码,支持设备搜索、码流地址获取、重启等功能
2023-07-11
qt工程调用onvif库,实现设备搜索,码流地址获取,设备重启等功能
2023-07-11
ubuntu18.04交叉编译win-ffmpeg,引入libx264,libx265,libfdk-aac,libfreety
2023-06-29
ubuntu18.04编译的ffmpeg-5.1动态库,包含x86和64
2023-06-14
windows VS下,用win32 http-server-api实现的http服务器,支持get和Post
2023-03-15
ffmpeg库5.1版本,修改了源码,支持openssl,支持http-flv,mp4封装支持g711-alaw,mulaw
2023-03-07
支持openssl与SDL2的ffmpeg,执行文件有ffmpeg.exe、ffplay.exe、ffprobe.exe
2023-02-27
用Qt开发的ffmpeg流媒体播放器,支持截图、录像,支持音视频播放
2023-02-10
QCustomPlot源文件、使用QCustomPlot绘制的demo、使用QChart绘制的demo
2023-01-16
FTP服务器程序,WFTPD是一个不错的 Windows FTP 服务软件,设置简单,可限制用户数量和时间等
2022-12-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人