自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 JAIN SIP API详解与GB28181服务器实现【保姆级源码教程】

这篇文章展示了基于Java SE如何创建客户端侧的SIP应用。JAIN SIP API是一个强大的“SIP协议栈”。本文将通过一个简单的即时通讯程序以及一个GB28181协议的简单应用程序,详细的分析该技术。 详细的代码说明,SIP学习一眼便会!玩转Java信令服务器的开发,玩转Java音视频,玩转融合通信!

2023-05-31 14:44:39 6765 33

原创 WebRTC-SFU服务器-Janus部署【保姆级部署教程】

WebRTC SFU(Selective Forwarding Unit)构架是一种通过服务器来路由和转发WebRTC客户端音视频数据流的方法。这种构架的核心特点是将服务器模拟成一个WebRTC的Peer客户端,从而实现了音视频流的直接转发。在SFU构架中,服务器作为中心节点,但并不负责音视频流的混合处理,而是直接将其从一个客户端转发到其他客户端。这种构架的优点在于,由于数据包是直接转发,不需要进行编码、解码等复杂处理,因此对CPU、内存等机器资源的消耗较小。

2024-05-23 14:45:38 1139

原创 WebRTC视频会议系统

基于WebRTC技术栈是实现的简易视频会议系统,支持多人通话、文件传输、聊天室等功能,对于WebRTC学习具有借鉴意义。

2024-05-17 10:52:40 391

原创 Ubuntu安装ZLMediaKit

在Ubuntu上安装ZLMediaKit步骤

2024-05-15 15:02:28 1137

原创 WebRTC实现多人通话-Mesh架构【保姆级源码教程】

WebRTC(Web Real-Time Communications)中的Mesh架构是一种将多个终端之间两两进行连接,形成网状结构的通信模式。在Mesh架构中,每个参与者(或称为peer)都需要与其他所有参与者建立直接的媒体连接。例如,如果有A、B、C、D四个参与者,那么A需要分别与B、C、D建立连接,B也需要分别与A、C、D建立连接,以此类推。Mesh架构不需要服务器中转数据,充分利用了客户端的带宽资源,节省了服务器资源。此外,由于所有参与者都直接相连,因此网络延迟较低,实时性较好。

2024-05-06 10:22:47 1126 1

原创 Linux部署Coturn以及关于打洞的思考

文中部署架构图为Corturn为解决互联网NAT环境下“找朋友”的部署架构,也是Coturn发挥其价值的最佳方案。但是我们好多小白在进行WebRTC自学开发时并没有公网ip,那么应该怎么“打洞”呢?打洞到底是怎么一个过程?我们在开发时应该如何决定candidate?回答这些问题之前首先想一想我们自己能搭建什么样的网络环境吧。下面将自己搭建网络环境并介绍无互联网ip的环境下Coturn应用与部署。通过下面的测试过程,我相信你将充分理解“打洞”。

2024-04-19 17:09:19 1374 2

原创 缓存数据一致性解决方案

缓存一致性问题解决方案cache-aside是一种常见的缓存一致性方案,也称为Cache-Through或Lazy-Load

2024-01-05 17:31:58 360 1

原创 Java并发编程常用API应用场景总结

JDK常用线程安全API全面总结,注重于功能介绍与场景应用。

2024-01-05 14:55:00 1125 1

原创 Java实现网络摄像头实时视频人脸识别

Java服务实现摄像头实时视频人脸识别,本demo突出一个简单,学习简单开发简单部署简单,同时保证人脸识别的准确率。本demo提供一个Java实现音视频图像处理的解决思路,可以结合具体业务场景如人脸告警,人脸比对等进行扩展,具有举一反三的学习意义。

2023-12-22 14:48:19 830 1

原创 WebRTC实现1V1通话与文件传输【保姆级源码教程】

WebRTC局域网实现一对一音视频通话详解,谁说WebRTC通话必须要有NAT穿越或中继服务器,该demo教小白学会WebRTC并实现P2P通话。

2023-12-15 15:55:42 2565 7

原创 本地仓库代码同步Gitee远程仓库简易步骤

本地仓库代码同步Gitee远程仓库简易步骤

2023-11-17 20:32:46 1096

原创 元空间OOM排查记录【详解】

项目开发数据源全部通过访问其他平台开放的RestFul接口获取,接口查询数据并不能像查询本地数据库一样自由写SQL般灵活,导致大量数据基于内存处理,随着需求增多,最终导致了项目组件出现了元空间OOM异常。记录一次完整的OOM排查过程。

2023-11-17 20:17:25 479 1

原创 Spring Web MVC知道这些就够了

Spring Web MVC是基于Servlet API的原始Web框架,从一开始就包含在Spring框架中。其正式名称“Spring Web MVC”来自其源模块(Spring -webmvc)的名称,但更常见的名称是“Spring MVC”。与Spring Web MVC并行,Spring Framework 5.0引入了一个响应式堆栈Web框架,其名称“Spring WebFlux”也是基于其源模块(Spring - WebFlux)。

2023-07-27 20:23:04 379 1

原创 CAS协议

CAS协议是一个简单而强大的基于票证的协议。完整的协议规范可以在这里(https://apereo.github.io/cas/6.6.x/protocol/CAS-Protocol-Specification.html)找到。它涉及一个或多个客户机和一个服务器。

2023-07-18 19:59:56 335

原创 SpringBoot集成Swagger

OpenAPI规范(OAS)定义了一个标准的、与语言无关的HTTP api接口,它允许人类和计算机发现和理解服务的功能,而无需访问源代码、文档或通过网络流量检查。正确定义后,使用者可以用最少的实现逻辑理解远程服务并与之交互。OpenAPI3.1.0规范详情请参阅Swagger官网:https://swagger.io/specification/

2023-07-18 10:06:31 377

原创 简洁持久层开发之Spring Data JPA

Spring项目开发中,持久层的框架常用的有MyBatis、Mybatis Plus、Hibernate和Spring Data JPA等,国内常用的是前两种,本人最先接触的也是MyBatis。下面我列举了常用的三类框架的一些对比信息。今天我们要聊一聊一种解放双手的持久成框架Spring Data JPA。

2023-07-05 09:35:54 375 1

原创 JAVA8时间处理类全解

jdk8的时间处理类详解以及代码演示。

2023-07-04 14:53:49 255

原创 一文读懂MapStruct 1.5.5.Final

我们在平时项目开发过程中会经常这样的情况,从数据库中查出来的PO对象中包含很多字段,但是在业务处理过程中需要处理的DTO包含PO中的部分字段,或者返回给前端的VO为DTO的部分字段,这就需要Class类转化,如果用构造器或者get()/set()方法,将会写大量冗余代码并且容易出错。面对这样的场景,采用MapStruct插件处理类转换是一个绝佳的选择。MapStruct 是一个注释处理器,用于生成类型安全、高性能和无依赖的 Bean 映射代码。

2023-06-30 15:53:40 1815

原创 PDF解析器

利用Java实现PDF文件提取文字、转为Word、转为Excel和提取图片功能。

2023-06-21 18:43:54 180

原创 Spring Cloud Sleuth HTTP详解

Spring Cloud Sleuth是一个分布式跟踪解决方案,集成Zipkin等流行的分布式跟踪系统,使得跨越不同微服务的跟踪和调试更加方便。Spring Cloud Sleuth支持以下协议的跟踪:HTTP、JMS、Kafka、RabbitMQ、gRP、Dubbo通过支持这些协议的跟踪,Spring Cloud Sleuth可以帮助开发者在分布式系统中更全面地获取服务调用信息和性能指标,从而更好地诊断和解决各种分布式系统中的问题。

2023-06-19 10:07:05 1075

原创 Spring Boot日志详解

最全面的Spring Boot日志说明

2023-06-07 10:54:17 2006

原创 Spring Security体系结构

Spring Security的过滤器链加载与执行原理。

2023-05-31 14:51:32 293 1

原创 Java音视频处理——JavaCV

JavaCV使用来自JavaCPP预设库的包装器,这些库是计算机视觉领域的研究人员常用的库(OpenCV, FFmpeg, libdc1394, FlyCapture, Spinnaker, OpenKinect, librealsense, CL PS3 Eye Driver, videoInput, ARToolKitPlus, flandmark, Leptonica和Tesseract),并提供实用程序类,使其功能更容易在Java平台(包括Android)上使用。

2023-05-31 14:51:23 4662

SpringBoot集成Swagger

该demo演示了Spring Boot 2.6.15与Swagger 3.0.0的集成,并解决了集成中遇到的Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException问题,如果你在项目中需要集成Swagger,可以直接采用该demo。

2023-07-18

空空如也

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

TA关注的人

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