自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(489)
  • 资源 (41)
  • 收藏
  • 关注

原创 极简opencv操作xml文件

修改xml文件,先产生一个临时文件,拷贝,修改,改名,使用opencv 非常简单地就可以搞定配置xml文件。

2024-06-13 07:34:27 182

原创 dx11硬件解码传递给opencl并行处理

使用ffmpeg进行directx11 解码将解码后的NV12格式数据从D3D11 Texture中通过OpenCL处理需要经过几个步骤:首先,确保D3D11 Texture正确设置并与OpenCL上下文关联;然后,将NV12数据分两个步骤处理(Y平面和UV平面);最后,在OpenCL内核中处理这些数据。

2024-05-28 14:24:00 349

原创 视频拼接融合产品的产品与架构设计(四)分布式GPU运算合并单元

视频拼接 视频融合 数字孪生 视频孪生

2024-05-26 19:18:50 845

原创 香橙派华为昇腾CANN架构编译opencv4.9

这块小盒子本身带了一些例子,不过我们最需要的是如何发挥他的关键,就是硬件资源调度,在教育、体育、安防、交通、医疗等领域中,AI检测应用发挥着至关重要的作用,比如在各种安全分析,各种体育训练时的实时人体关键点检测可以精确、实时地捕捉运动员的动作,在安防应用场景中,识别各种异常现象和异常行为或特定姿态,以达到场景安全防控的目的。

2024-05-25 08:22:29 764

原创 opencl 基础:如何编译核函数

CUDA和OpenCL类似,都是异构并行计算系统。系统中有一台主机和一个或多个计算设备。关于计算设备,CUDA中叫做多喝流处理器(SM),而OpenCL中叫做计算单元(CU)。另外,在OpenCL中一个CU在CPU中相当于CPU的一个内核。get_global_id是OpenCL编程语言中的一个内置函数,用于在OpenCL内核(kernel)中获取当前工作项在全球工作空间中的唯一标识符(ID)。这个标识符通常是多维的,对应于内核执行时定义的全局工作项的索引。

2024-05-23 07:06:17 290

原创 opencl色域变换,处理传递显存数据

在使用ffmpeg解码后的多路解码数据非常慢,还要给AI做分析,可行的加速方式是在显存处理数据,在中,提高了比较可靠的方式是使用cuda,那么没有cuda的显卡如何处理呢,比较好的方式是使用opencl来提高数据传输方式。

2024-05-22 06:01:00 530

原创 unity 如何开启360视频的转向

只是个简单的做法,事实上需要大量插件代码,硬件解码加上贴图,假设我们准备好了360 视频。

2024-05-17 05:49:47 181

原创 视频拼接融合产品的产品与架构设计(三)内存和显存单元数据迁移

下一篇会往整体架构上写,多画图,少代码。

2024-05-13 16:44:13 939

原创 windows编译opencv4.9

opencv很多人在windows上编译感觉特别麻烦,没有linux下方便,设定以下三点,我们几乎会无障碍。

2024-05-12 09:33:24 432 2

原创 视频拼接融合产品的产品与架构设计(二)

总之效率是最重要的,还有一点一直是我所思考的,如果死磕gpu,那么cpu 会浪费,所以对gpu 和 cpu 除了要分布式处理,还要进行分担,所以我决定从多点出发,需要进行cpu 前处理插件点,gpu处理插件点,gpu下拉后插件点 ,利用cpu 多核处理能力,同时分担gpu的任务。未完,待续。。。。。。。

2024-05-10 14:10:33 975 2

原创 c++ libtorch使用cmake建立

如果我们安装好pytorch,其实不一定一定要安装libtorch,默认都已经安装过了。

2024-05-09 17:00:25 246

原创 ffmpeg 转文件为h265

nvidia-smi±----------------------------------------------------------------------------------------+| NVIDIA-SMI 551.61 Driver Version: 551.61 CUDA Version: 12.4 ||-----------------------------------------±-------------------

2024-05-04 08:12:28 732

原创 ffmpeg 转换es流成为ps流

目的是将es流转换成为ps流。

2024-05-02 21:18:11 603 2

原创 简单使用asio发送组播包

直接使用asio库来发送,这样比较简单。

2024-05-02 20:45:28 135

原创 视频输入c++ 调用 libtorch推理

libtorch 支持GPU情况比较奇怪,目前2.3 版本需要在链接器里面加上以下命令,否则不会支持gpu-INCLUDE:?

2024-04-27 04:54:00 561 1

原创 使用零拷贝技术加速视频图像操作

总结起来,使用cv::cuda::HostMem的主要优点在于:减少数据拷贝:利用CUDA的零拷贝技术,可以避免不必要的内存复制,提高数据交互效率。优化内存访问:通过设置合适的内存属性(如OST_MEM_WRITE_COMBINING),可以提高内存访问性能。请注意,实际效果取决于硬件环境、CUDA驱动支持以及具体的应用场景。对于现代GPU架构,特别是在支持统一内存访问(UMA)或非一致性内存访问(NUMA)的系统上,使用HostMem可以获得更好的性能优势。

2024-04-26 06:55:26 390

原创 硬件解码后显存数据直接推理

网络摄像头解码的时候传输到内存中后数据比原始的rgb 图像要小很多,这时候直接传输到显卡以后解码,速度很快,而mipi摄像头如果不使用dma技术,结果会直接用rgb传输到显存中,可想而知,数据量大,一下子慢了下来,就是这个原因。

2024-04-25 19:31:52 240

原创 如何使用cuda进行图像矫正

相机矫正我们经常会用到,如果没有gpu加速,实际上矫正会很吃力,我们先用普通的矫正。

2024-04-16 13:13:40 444

原创 使用avx2 指令集加速向量算法运算

我们使用向量加,为什么函数是0 到 8 的计算,因为avx2 寄存器为256位,同时设置启动增强指令集猜猜以上代码会怎么样,如果是在debug下,明显avx2 指令集会快,在release下,普通代码立刻甩开了avx2指令,所以一定要判断数据量,下面重写代码来测试。

2024-04-13 08:43:07 513

原创 使用vulkan 和 glsl来渲染 yuv nv12

1.1 编写一个顶点着色器(Vertex Shader),用于处理顶点数据(通常用于几何变换)。1.2 编写一个片段着色器(Fragment Shader),用于处理像素级别的颜色转换。使用着色器编译器(如glslc)将GLSL源代码编译为SPIR-V二进制格式。Vulkan运行时能够直接加载和执行SPIR-V代码。在Vulkan中创建着色器模块,将SPIR-V代码加载到这些模块中。创建描述符集和描述符集布局,用于向着色器提供输入数据(如YUV纹理)和输出数据(如转换后的RGB图像)。

2024-04-11 22:01:52 461

原创 ffmpeg cuda硬件解码后处理使用opengl渲染,全硬件流程

整个流程是一旦数据到了cuda内核,就不要轻易下载到内存,直接在cuda里面进行操作,一直到渲染完毕,后面在给出完整的代码示例。

2024-04-08 21:12:08 645

原创 在gb2818 中计算ssrc可使用的三个hash算法

三个hash算法

2024-03-30 21:04:24 189

原创 解码视频流在opengl中的贴图投影计算

我们把视频当成纹理,首先要确定贴入的坐标,原始坐标如下所示实际上我们要确定的是opengl的投影视窗,视窗大小就是位置,相当于把解码图像放到窗口中的什么位置,这里并不是纹理位置,纹理位置是具体取到那一块的纹理,涉及到放大缩小,我们写一个顶点着色器,如下所示330没有任何约束,放出来的贴图会随着窗口的变化而变化,问题是不成比例,视频展现失比例拉伸,对展现并不友好。我们要使用向量的运算来修改投影视窗。

2024-03-28 21:58:54 562 2

原创 基于cuda和opengl高性能处理渲染多阵列摄像头8K画面(一)

科学!=技术,非常有同感,接触过很多博士,硕士,博士的科学理论化和想象力更多一些,用于指导技术,而一些硕士和本科的技术的实践性更强一些,用于反向传播科学的参数,从而显现偏差,再来纠偏,这就和业务部门必须指导技术部门一样的道理,业务部门可以想象自己的处理方式,最后技术部门必须落地。我有一个比较映像深刻的地方就是闫令其老师在讲课图形学的时候,底下一个学生问体积着色的问题,一下把老师整蒙了,把底下听课的我也整笑了,就像你再问总统说我家里的拖把如何拖地的问题一样,事实上,这种细节问题显然不是图像学的基础,而是在工业

2024-03-28 09:37:12 789

原创 glsl改变纹理坐标来放大图像

使用顶点着色器和片段着色器来放大图像

2024-03-25 22:13:08 257

原创 如何解决新版的anaconda notebook 打不开浏览器

先安装nodejs,删除其他源头,留下默认,重新安装notebook,修改配置,最后选择浏览器

2024-03-10 11:14:31 447

原创 RTP工具改进(五)--使用qt

第四篇前面使用的工具一直为mfc,今天将使用qt 来做界面,使用qt 来进行程序和协议的编写,qt部分目前还不包括rtp ps流和rtmp,暂时只有rtp 直接传输,关于rtmp协议和ps流协议,先使用vs的mfc。增加和改变的模块为rtp,和 rtp_recv,如下图,以前的vs MFC版本都放到vs下面,有关于qt的 gb28181 的sip server 和 rtp 发送接收等都放到qt下面,所有可执行都放到外层的bin下面代码地址。

2024-01-27 14:47:18 788

原创 c++网络大小端互转

大小端互转

2024-01-27 10:07:29 353

原创 RTP工具改进(四) - rtmp协议推送

前面写了rtsp ps 流推送,为了把软件提高使用的实用性,准备将rtp协议扩展到rtmp 和 rtsp。rtsp 扩展是必然的,因为rtsp的核心协议是rtp,rtmp协议实际上在封包的原理上借鉴了rtp。代码地址RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变。

2024-01-25 13:02:38 1037

原创 RTP 接发ps流工具改进(三)

代码地址注:两种方式发送,一种直接rtp方式,一种ps over rtp方式代码里面有直接rtp方式发送,可以修改代码成为直接的rtp方式也是可以的。

2024-01-21 12:41:39 537

原创 论rtp协议的重要性

对于tcp来说,是流式协议,不作他讲。无论是tcp还是udp都是可行的做法,rtp over tcp 和 rtp over udp 都可以放入rtsp 或者 sip 协议中,其中另外一个指明交换的文本协议叫做sdp协议,中文名为会话描述协议,可以直接rtp传输吗,可以,但是关键帧之前一定要有sps,pps,h265 之前再加个vps,因为一般来说,sps,pps这种信息会放到sdp中,没有了sdp的加持,那么我们的接收程序必须要约定一些内容。

2024-01-20 00:15:57 481

原创 jetson deepstream 解码接入编码输出

在jetson主板上安装gstreamer工具链,编译opencv上面的opencv 肯定是少编译了很多东西,尤其是cuda的编译,需要大家自己去写参数编译,jetson上编译挺费时间的,耐心做就行了。

2024-01-06 15:05:37 1099

原创 rtsp超分推流流程(一)

播放一个RTSP的流需要如下的RTSP请求命令:OPTIONS -> DESCRIBE -> SETUP -> PLAY 然后就是接收RTP包、播放了最开始也不太清楚推流到底应该怎么来推,后来使用ffmpeg的推流命令,然后抓包分析出来,推流的RTSP请求命令如下:OPTIONS -> ANNOUNCE -> SETUP -> RECORDEASYPUSHER安卓ANDROID手机直播推送之MEDIACODEC 硬编码H264格式https://www.fr

2024-01-04 13:58:39 1198

原创 yolov8 tracking编码为web 和 rtsp流输出

使用python pytorch yolov8 track进行reid 识别后将识别后的图片通过websocket 协议和内存共享发送到web端和 rtsp server端,可通过web显示或者通过rtsp 客户端拉流

2023-12-31 19:45:37 1774

原创 使用tesla gpu 加速大模型,ffmpeg,unity 和 UE等二三维应用

我们知道tesla gpu 没有显示器接口,那么在windows中怎么使用加速unity ue这种三维编辑器呢,答案就是改变注册表来加速相应的三维渲染程序.

2023-12-25 21:32:12 2533

原创 ffmpeg 解码文件时的时间戳问题

实时流编码时,我们一般不进行b帧编码,但是文件存储时为了减小大小,会增加b帧,实时流只带了I,P帧,那就会好很多很多文件带了b帧,所以要使用解码时间去同步,如果使用pts,很多人一定会被其时间搞混。

2023-12-25 16:51:15 743

原创 ffmpeg 硬件解码零拷贝unity 播放

ffmpeg 在硬件解码,一般来说,我们解码使用cuda方式,当然,最好的方式是不要确定一定是cuda,客户的显卡不一定有cuda,windows 下,和linux 下要做一些适配工作,最麻烦的不是这个,二是ffmpeg解码后,颜色空间的转换,如果使用cuda,那么可以使用cuda去在gpu中直接转码,如果没有cuda,那么我们希望的是不要转颜色空间。ffmpeg 硬件解码相信下面这一段代码是大家比较熟悉的如下我们在解码的时候,gpu 一个tesla p40 都占用了42%,实际上是unity渲染占用。

2023-12-22 16:10:41 1276

原创 rtsp视频在使用unity三维融合播放后的修正

我们使用unity UE 等三维渲染引擎中使用c++编写插件来接入rtsp 视频。同时做融合的时候,和背景的三维颜色要一致,这就要使用视频融合修正技术。包括亮度,对比度,饱和度的修正。在单纯颜色上的修正可以简单使用rgb->hsv去修改,这里不做累赘说明了。

2023-12-21 17:41:42 867 1

原创 arm linux 平台 打开摄像头矫正

v4l 意思为 video for Linux, 是linux驱动链接摄像头的软件应用部分,当然先要安装好v4l-utils看完以后基础信息以后就可以使用jetson等主板工具打开查看使用gstreamer 工具。

2023-12-04 07:38:28 544

原创 cesium 融合视频

和untiy 一样,可以添加材质后,将image 直接给材质赋值上,其中abcd 是四个点,这四个点要经过计算。

2023-12-01 20:10:02 1561

opencv hand openpose

使用opencv c++ 来判别手指和关节点

2023-07-26

使用qt的webengine让客户端嵌入网页

使用qt的webengine来嵌入网页到客户端程序里面

2023-07-19

windows网络转发服务程序

为了在windows网关上转发tcp数据,使用了c# 调用了windows的netsh命令,来增加,删除规则,使得数据能够通过程序进行转发。

2023-07-10

大华摄像头转发到外网接收程序

大华摄像头里面直接配置外网的IP地址和端口,推流到外网,使用websocket建立h264服务

2022-11-06

websocket c语言实现

websocket c语言实现, 包含httpparser, sha1 算法,wsparser,实现了websocket 服务器的协议部分。vs 作为ide,可修改到linux下实现

2022-10-07

c++mongoose 实现httpserver,httpclient

使用mongoose实现了httpserver,httpclient,websocketserver

2022-09-30

qt websocket 客户端 多线程使用

qt 使用QWebSocket 创建websocket客户端来读取数据,异步链接,并且放入到线程中去执行,线程池的基础,代码使用两个用户,放入到一个线程中执行,同理,可以多个用户放入到多个线程中执行,为线程池执行websocket client 打下了基础。

2022-09-16

udp tunnel 转udp 到 tcp

UDPTunnel is a small program which can tunnel UDP packets bi-directionally over a TCP connection. Its primary purpose (and original motivation) is to allow multi-media conferences to traverse a firewall which allows only outgoing TCP connections.

2022-07-19

ppt 转化成html5

使用java poi 来读ppt文件,转化成为html5 文件,方便网站阅读

2022-07-08

c++使用libcurl上传和下载资源

c++使用libcurl上传和下载资源,封装了库,带lib文件,带nodejs测试服务端

2022-06-11

web摄像头rtsp协议

使用web usb摄像头,live555, ffmpeg硬件编码,制作rtsp 多摄像头服务器

2022-05-31

onnxruntime gpu

onnxruntime gpu版本推理库文件,包含头文件,lib库文件,dll 动态库文件,用于c++开发

2022-05-31

qt c++ dialog 异形窗口+半透明窗体制作

qt c++ dialog 异形窗口+半透明窗体制作,让不一样的窗口展现在大家面前 使用setmask函数+ QRegion方式去设置一个dialog,让dialog半透明并且挖去一个洞

2022-05-24

2d平面在3d中展示,使用threejs

2d平面在3d中展示,使用threejs,使得2d渲染的平面div在3d世界上真实展示,并且真实显示和响应按钮事件。

2022-05-02

qt下写的内存池和线程调用

其实和qt无关,不过既然已经使用qt,就加上吧,无论使用qt与否,都额可以使用,限制为片元固定大小内存,非固定内存内存池可以看我的其他文章,线程调用,完整的例子。

2022-04-26

vue+nodejs 将canvas发布到dlna投屏服务

1 将html5 得cancas抓取h264 2 将h264使用websocket传输出去 3 启动server,启动dlna服务程序 4 restfulserver,vue前端获取所有大屏 5 投屏

2022-03-18

player_ok.zip

ffmpeg 播放器

2021-07-20

ipfsclient.rar

ipfs 星际文件系统的c++客户端

2021-07-20

c# use c++ mfc.zip

c# 使用MFC窗体并传递信息

2021-07-14

3d-bim-models-threejs-master.zip

用threejs展示三维bim模型

2021-07-08

TensorFlow-Fully-Convolutional-Image-Classification.zip

残差网络探测图片带模型

2021-07-06

restful.zip java springboot 基础http

java srpingboot 基础啊

2021-06-26

HiRedis.zip hiredis 和自己封装的客户端

c++使用hiredis 和封装的客户端 访问redis

2021-06-26

Whiteboard.zip wcf电子白板

c# wcf 电子白板

2021-06-09

WinAudioRecord_ok.zip directshow 录制音频 faac编码

directshow 录制音频 faac编码

2021-06-04

nodejs的io获取,包括cpu,disk等

获取内存,cpu使用率,磁盘,网络,网络连接的nodejs程序

2021-06-04

test.rar进程通信范例

c++ 和nodejs进行最简单的通信

2021-06-01

stdfure.zip

c++使用std::future 和std::async 同步线程

2021-05-29

HttpClient.zip

http client mongoose

2021-05-27

mongoose_wsclient.zip

mongoose 的websocket示例代码

2021-05-27

labelImg.zip

labelimg 训练标注工具

2021-03-19

webgl.zip的例子

webgl的例子,简单易懂

2021-03-18

FFmpegRTSPServer.rar

ffmpeg 和 live555 组成rtsp server传输实时流。ffmpeg编码

2021-03-14

appvideo 2维视频.rar

websocket 链接服务器显示h264 视频,注意没有服务器,服务器自己要写

2021-03-14

thinkjsdemo.zip

thinkjs 使用sqlite的demo

2021-03-14

ThreeJSPotCloud.zip

threejs 画点云数据

2021-03-13

polyhedron-galaxy.zip

threejs的三维星系,用的各种形状代替星星

2021-03-13

threedemo.zip

threejs的demo,非常简单易懂,但完整

2021-03-13

live555_vs2017.rar

vs2017编译live555,只生成一个库,liveMedia_d.lib, liveMedia.lib

2021-03-04

minst 数据集.zip

minst 手写数字数据集

2021-03-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除