Rpisurv屏幕布局技巧:自动坐标计算与force_coordinates手动微调

Rpisurv屏幕布局技巧:自动坐标计算与force_coordinates手动微调
Rpisurv屏幕布局技巧自动坐标计算与force_coordinates手动微调【免费下载链接】rpisurvRaspberry Pi surveillance项目地址: https://gitcode.com/gh_mirrors/rp/rpisurvRpisurv 是一款把树莓派Raspberry Pi变成专业监控显示设备的开源软件它能将多个摄像头视频流、RTSP 直播流和图片流自动排列到屏幕上实现 7×24 小时无人值守监控。屏幕布局是新手最容易卡壳的地方画面如何分格断线后如何自动重排本文章用最简单的方式讲透 Rpisurv 屏幕布局的两大核心机制——自动坐标计算与 force_coordinates 手动微调帮你 10 分钟排出理想的监控画面。自动坐标计算Rpisurv 屏幕布局的默认机制Rpisurv 的核心设计理念是零配置你只需要把摄像头地址填进配置它就会自动计算每个视频流的屏幕坐标无需手工计算任何像素值。在 Screen.py 的布局算法中自动坐标计算遵循一套非常简单的数学规则列数nr_of_columns默认 2 列即常见的 2×2、2×3 分格行数根据画面总数 ÷ 列数向上取整自动得出格子宽高屏幕分辨率除以列数、行数平均分配每个格子。比如 1920×1080 分辨率的屏幕配 4 路摄像头、默认 2 列算法会算出 2 行 2 列每个格子正好是 960×540四个画面完美铺满全屏全程不需要你输入一个坐标数字。自动计算还有一个贴心设计当某路摄像头断线unconnectable时Rpisurv 会把它从布局中移除用占位图填充空位并把剩余可用的画面自动重新排列真正做到自愈式监控布局。最快配置方法用 nr_of_columns 快速调整监控分格想改变监控墙的分格方式最简单的方法是修改屏幕级参数nr_of_columns而不是去手算坐标。- camera_streams: - url: rtsp://用户:密码摄像头IP:554/videoMain - url: rtsp://用户:密码摄像头IP:554/videoMain - url: rtsp://用户:密码摄像头IP:554/videoMain - url: rtsp://用户:密码摄像头IP:554/videoMain nr_of_columns: 2 duration: 30把nr_of_columns从 2 改成 3四路画面就会从 2×2 自动变成 3 列布局31 结构余下的空白格会被占位图自动补齐。这个参数属于屏幕级选项每个 screen 可以单独配置配合多屏幕轮播duration 控制每屏停留时间就能做出完全不同的监控布局方案。完整参数说明见 display1.yml。force_coordinates 手动微调精确控制每个摄像头位置当自动坐标计算满足不了你的特殊需求比如重点画面要放大、角落要放小窗、想做出画中画效果时就需要用到每个视频流级别的force_coordinates参数来手动微调。force_coordinates的坐标格式是[x1, y1, x2, y2]含义依次为x1, y1画面左上角在屏幕上的 x、y 坐标从 0,0 开始x2, y2画面右下角的 x、y 坐标。例如把一路画面固定在 1920×1080 屏幕的左上角占 600×800 的区域可以这样写- camera_streams: - url: rtsp://用户:密码摄像头IP:554/videoMain force_coordinates: [0, 0, 600, 800]画中画PIP布局技巧force_coordinates配合showontop: True可以轻松实现画中画效果主画面铺满全屏小窗画面叠加在右下角同时显示两路监控。- camera_streams: - url: rtsp://主摄像头地址/videoMain force_coordinates: [0, 0, 1920, 1080] - url: rtsp://小窗摄像头地址/videoMain force_coordinates: [1300, 800, 1800, 1000] showontop: True这个思路在 CameraStream.py 的 start_stream 逻辑中体现一旦某路流设置了force_coordinatesRpisurv 就会用它覆盖自动计算出的坐标而showontop: True会让该流绘制在更高层级从而叠加在其他画面之上。演示配置 display1.yml 里就有现成的画中画范例安装后可直接参考。需要注意的坑混合使用会重叠force_coordinates是每个流级别的设置。如果只有部分流设置了它其余流仍按自动计算摆放两者叠加就可能出现画面重叠需要你把所有流的坐标都手动算好一旦使用布局责任就交给你设置 force_coordinates 后该屏布局不再由 Rpisurv 自动管理断线重排功能也会受影响图片流同样适用配置了imageurl: true的图片流也可以用 force_coordinates 精确摆放位置。断线与占位画面的布局技巧监控布局里还有一个常见场景所有摄像头都连不上时Rpisurv 会显示全屏的无法连接提示画面个别流断线时则显示占位图。这两类图片都支持自定义替换安装后位于 images 目录你可以换成自己的品牌图或提示语。占位图逻辑同样由自动坐标计算驱动当某路流断线时Rpisurv 会先绘制占位图填充该格子一旦流恢复连接立即用真实画面替换整个布局保持稳定不跳动。总结掌握 Rpisurv 屏幕布局只需要记住三条原则先靠自动计算默认 2 列布局用nr_of_columns快速调分格满足 90% 的监控场景再用手动微调特殊需求用force_coordinates精确控制配合showontop实现画中画善用占位机制断线自愈 占位图让监控墙始终整洁有序。布局的核心逻辑集中在 Screen.py自动坐标计算和 CameraStream.pyforce_coordinates 覆盖与层级控制中配置范例参考 display1.yml 与 display2.yml。修改配置后重启 Rpisurv 服务即可生效多试几次你也能排出专业级的树莓派监控画面。【免费下载链接】rpisurvRaspberry Pi surveillance项目地址: https://gitcode.com/gh_mirrors/rp/rpisurv创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

最新新闻

日新闻

周新闻

月新闻