- 博客(6)
- 收藏
- 关注
原创 RTMP学习记录
本文介绍了Linux下V4L2视频采集框架的核心概念与实现流程。主要内容包括:1)V4L2视频采集的整体模型,包括设备、格式、缓冲队列和流控制四个关键要素;2)编译链接过程中库文件的查找机制,区分了链接期和运行期的搜索路径;3)V4L2采集程序的核心实现步骤:打开设备→设置格式→申请/映射缓冲区→启动流→采集帧→处理数据→停止流。重点阐述了MMAP模式下驱动分配缓冲区与用户空间映射的机制(REQBUFS/QUERYBUF/mmap),以及缓冲队列的循环使用过程(QBUF/DQBUF)。通过快递单的比喻解释了
2026-01-20 19:49:49
620
原创 开发板通过 Windows 共享网络上网失败:apt update 很慢/失败的排查全过程(最终修复)
结果在开发板上执行 sudo apt update 出现大量超时/下载慢,甚至安装库过程像“重复拉包”。
2026-01-13 15:17:34
882
原创 基于 RKNN 与多线程池的 YOLOv5 嵌入式部署实战记录
本文介绍了一个基于RK3588开发板的Linux视频处理项目,采用C++11实现了YOLOv5s模型的实时推理。通过多线程流水线架构将视频处理分为读取、推理和写入三个阶段,使用线程安全队列实现模块解耦。重点设计了自定义线程池来管理NPU核心,每个线程拥有独立的YOLOv5s实例以避免资源冲突。项目利用RGA硬件加速图像预处理,并通过帧索引重排机制解决多线程推理的乱序问题。详细阐述了从模型加载、线程调度到后处理的完整实现过程,为后续深入学习Linux视频框架奠定了基础。
2025-12-16 14:53:32
688
原创 RK3588实战(二):搭建“生产者-消费者”模型的“心脏”——SafeQueue
本文介绍了多线程处理中安全队列(SafeQueue)的实现机制。针对普通队列存在的竞态条件和空轮询问题,设计了一个基于互斥锁和条件变量的线程安全队列。该队列通过enqueue函数实现安全的入队操作,使用lock_guard保证线程安全;dequeue函数采用unique_lock和条件变量wait机制,确保在队列为空时释放锁避免空轮询。这种实现既解决了多线程竞争问题,又提高了CPU资源利用率。安全队列为后续线程池的引入奠定了基础,可以避免频繁创建销毁线程带来的性能损耗。
2025-10-30 17:50:18
613
原创 基于RK3588的实时AI视频分析系统(一)
本文记录了作者从零开始开发首个Linux应用项目的过程。首先介绍了开发环境配置(Rock5c开发板),通过网线共享网络解决了连接问题。项目架构涉及MPP/V4L2/FFMPEG框架、RGA硬件加速、OpenCL和NPU推理等技术。文章展示了"Hello World"测试和OpenCV图像/视频处理示例,为后续引入多线程处理视频奠定基础。这个项目将结合硬件加速和深度学习实现视频流处理与推流功能。
2025-10-28 15:31:22
2139
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅