自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用html2canvas对div元素进行拍照保存

拍照这是一个需要拍照的div拍照保存

2023-12-26 14:31:14 127 1

原创 设计模式---单例模式

应用场景:在程序中如果我们只需要一个对象就可以完成创建,那么我们即可使用单例模式。这里有一个有意思的点,springboot默认是单例模式的但是它怎么保证线程安全的:springboot在使用时,我们在里面取出类的时候是无状态的(就是我们不修改类里面的属性)这样多个线程在使用的时候就保证了线程安全问题。概念:单例模式是一种常见的设计模式,它确保一个类只能被创建一个实例,并提供了全局访问的点。优点:节约了内存空间,并确保所以的对象只能访问一个实例。

2023-09-17 23:32:25 59 1

原创 数据结构---链表

链表是一种线性的数据结构。在物理存储结构上是非连续、非顺序的存储结构,元素之间的链接主要依靠指针的指引。

2023-09-17 23:19:38 65 1

原创 简单工厂方法模式

通过工厂类调用对用的静态方法来获取对象。

2023-09-16 23:30:43 60 1

原创 数组的数据结构

数组是一种常见的数据结构,他是一种用来存储相同类型的集合,是一种线性存储数据的结构,因为其有序排列所以可以通过下标来进行访问元素。

2023-09-16 22:51:22 27 1

原创 (2)视频播放的原理

文件 --> 解复用器 --> 音频队列 --> 音频解码 --> 采样帧队列 --> 同步控制 --> 音频处理 --> 调用硬件。文件 --> 解复用器 --> 视频队列 --> 视频解码 --> 采样帧队列 --> 同步控制 --> 视频处理 --> 调用硬件。解码:音频和视频数据包从队列中取出,然后使用相应的解码算法将其解码为原始的音频和视频数据,这些数据通常是采样帧和图像帧的形式。因此,视频播放的过程是从文件中读取音频和视频数据,然后对其进行解码和同步处理,最后通过硬件设备进行播放的过程。

2023-09-15 22:53:58 50

原创 (1)视频录制的原理:

总述:模拟音频到文件的转换:通过硬件的方式进行信息的采集(采样帧、图像帧)进入采样帧队列,然后进行音视频的编码,将其放入队列中,使用复用器进行音视频的封装,最后生成文件。麦克风 --> 采样帧(PCM) --> 音频处理 --> 采样帧队列--> 音频编码(MP3/AAC)--> 音频包队列 --> 复用器(音视频的封装)--> 文件。麦克风 --> 图像帧(RGB) --> 图像处理 --> 图像帧队列--> 视频编码(H264)--> 视频包队列 --> 复用器(音视频的封装)--> 文件。

2023-09-15 22:53:19 278

原创 在数据库层面进行多表查询和在程序阶段进行表的轮流查询再拼接起来,如果查询的结果相同,那个效率高?

综上所述,无法简单地回答哪个方式更高效。需要根据具体情况进行评估,包括数据量大小、数据库优化情况、连接操作开销以及数据传输开销等因素。如果可能的话,建议在实际应用场景中进行测试以确定最佳方案。在数据库层面进行多表查询和在程序层面进行轮流查询再拼接,哪个效率更高实际上取决于多个因素。

2023-09-09 10:58:37 123 1

原创 音频播放和录音

播放的本质是机器解析音频文件然后控制硬件震动发出声音的过程,通过网络进行音频的传输,这里涉及一个问题:就是音频在播放的时候传递过来一个新的音频,这段逻辑要怎么处理(个人思考:设计一组音频的优先级等级,在传输过程中携带标志优先级的标志,在音频播放的时候进行优先级判断,如果优先级高则优先播放,如果优先级低则存入一个自己设置的容器中,相等则会轮询执行)。指在不同的操作系统或平台上,使用相同的硬件设备和驱动程序,使应用程序在离线状态下能够正常运行。模拟场景:在一个跨平台离线进行部署()音,要怎么实现方便快捷呢?

2023-09-08 22:23:12 38 1

原创 3.使用了ConcurentHastMap但是没有发挥出性能优势?

可以从以下几方面进行分析:

2023-09-02 23:30:47 22

原创 2.使用了ConcurrentHashMap还是出现了线程安全问题?

ConcurrentHastMap提供了一些并发访问的方法,例如putIfAbsebt()、remove()和replace()等等,这些方法可以原子的执行操作,确保线程安全,但是涉及到复合操作的时候我们就要选择同步的措施来解决线程安全问题了。即使使用了ConcurrentHastMap(是线程安全的哈希表实现),在多线程情况下依然不能保证线程的安全,在这个时候我们就需要使用额外的方法来解决线程安全问题了。

2023-09-02 23:03:42 224

原创 1.在web环境中使用ThreadLocal出现数据错乱是什么原因导致的?

解决思路:

2023-09-01 23:12:33 359

海康威视的摄像头推流解码,操控

基于海康威视的摄像头推流解码,以及操控,代码注释完整,功能完全, 部分代码: grabber.setOption("skip_frame", "nonkey"); // 仅抓取关键帧 grabber.setOption("rtsp_transport", "tcp"); // 使用TCP传输 recorder.setVideoOption("preset", "ultrafast"); // 设置视频的调优选项 recorder.setVideoOption("tune", "zerolatency"); grabber.setOption("vcodec", "libx264"); grabber.setOption("threads", "10"); grabber.setOption("c:a", "copy"); grabber.setOption("fflags", "nobuffer"); grabber.setOptio

2024-02-04

空空如也

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

TA关注的人

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