RKVision开发日志(十一) 一、Tee测试又又又简单封装了一下…每次新建一条支路都要重写tee,queue, valve 太麻烦了,封装成了一个_add_branch 123456789101112131415161718192021222324252627282930313233def _add_branch(self, downstream_bin: Gst.Element, drop: bool = True): 2026-01-18 嵌入式 #Python #瑞芯微
RKVision开发日志(十) 一、DEMO实现接下来自己手写一个管线,实现: 1234567891011source | v tee | +--> queue -> videoconvert BGR -> appsink(algo.py) | +--> queue -> mpph264enc -> filesink -> output.mp4 | +- 2026-01-17 嵌入式 #Python #瑞芯微
PyGObject安装记录 众所周知windows不兼容gnome,需要自行安装。pip install 需要编译,查阅了相关资料,咨询了AI,下面是安装过程: Getting Started — PyGObject官方教程推荐msys32,需要装一个新的python解释器,目测这个东西像一个linux虚拟机一样的东西 令人高兴的是conda支持直接安装,那我们接下来就开始吧 首先,启动conda-forge: 12cond 2026-01-16 工具配置 #Python
RKVision开发日志(九) 一、PyGObject把昨天命令行rtsp+屏幕显示的命令行控制指令转换为python的形式运行,这里直接让GLM帮我完成了一份demo。 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697 2026-01-15 嵌入式 #Python #瑞芯微
RKVision开发日志(八) 最近生病,事情又多,焦虑…拖了好几天,9号创建的博客,12号才开始写… 最后还是决定用GStreamer先把程序跑起来,ffmpeg的方案实在是能力之外了。 一、GStreamer这是调用野火官方给的gstreamer,简单跑了一下没问题,但是其实有点bug 123gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=1632, 2026-01-09 嵌入式 #Python #瑞芯微
RKVision开发日志(七) 一、FFMPEG经过上一次的梳理,大致的视频流规划如下: 12345[Camera] -> [Tee 分流器] ├─> [Queue] -> [Valve (录制开关)] -> [mpph264enc (硬编码)] -> [mp4mux] -> [filesink] ├─> [Queue] -> [rkrga (硬件缩放)] -> [a 2026-01-07 嵌入式 #Python #瑞芯微
RKVision开发日志(六) 一、相机进程增加功能今天打算完成相机进程的第二个功能,即显示预览画面传递给前端,并注意预留重写接口瑞芯微上预留的设备有: 1234# Rockchip特定设备- /dev/mpp_service:/dev/mpp_service- /dev/rga:/dev/rga- /dev/dma_heap:/dev/dma_heap 其中, /dev/mpp_service: Rock 2026-01-05 嵌入式 #Python #瑞芯微
RKVision开发日志(五) 一、相机进程类完善目前已经实现了基本的传递图像的功能,接下来需要完善: 增加预览图功能,并要考虑不同平台下的硬件加速功能(RGA) 增加存图功能,要求同上 定义一些功能,方便外部进程调用 不过暂时我没有瑞芯微的设备调试,前两个还无法做到,但是需要预留重写的接口。 另外昨天写的并没有考虑锁的问题,如果一边在读一边在写同一片地址空间会出问题。 而且后续可能需要兼容其他形式的数据格式,比如采用编码的 2026-01-03 嵌入式 #Python #瑞芯微
RKVision开发日志(四) 一、相机进程基类相机进程继承进程类,主要负责: 读取配置文件,根据配置文件设置的width,height,fps配置相机 开启相机捕获进程,将帧数据写入一段共享内存中,同时将帧号、时间戳写入队列 监听消息队列,执行命令 需要提前设计: 不同的相机硬件所需的media_pipline不同,把这部分需要写一个方法,方便后续子类重写 执行的命令包括:停止图像采集进程,开启/关闭预览图像生 2026-01-01 嵌入式 #Python #瑞芯微
RKVision开发日志(三) 一、Python多进程我个人对多进程的理解是某种时分复用,比如人类在做家务时:需要做:烧热水,洗衣服,扫地。人类会先把水打到烧水壶中,按一下按钮;然后去把脏衣服整理好放到洗衣机中,打开洗衣机;然后去扫地,等待水烧开和洗衣机洗好之后再操作。而对于程序而言,上述任务需要几个循环同时进行,在做主任务时需要监控其他任务是否完成,显然在同一个程序中不太好做这样的操作,为了解决这一问题,才出现了多线程、多进程 2025-12-30 嵌入式 #Python #瑞芯微