V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
donaldliang6
V2EX  ›  奇思妙想

这个监控项目方案是否可行,大家来点评一下

  •  
  •   donaldliang6 · 1 月 31 日 · 1102 次点击

    想法

    使用老旧笔记本电脑使用 Docker 运行 Frigate NVR™程序来实现监控项目并借助 Rclone 实现定期上传至 115 网盘

    传统监控系统基本上是直接被厂商定制化绑定,尤其是提供网络摄像头的各种方案

    网盘的功能越来越强大,且支持 api 调用及 rclone 挂载

    很多网盘动不动就是送几 T 空间

    这些网盘基本都对视频在线预览有很好的支持

    监控录像保存的逻辑基本上也是按照天的形式保存

    那么只要自动化的将监控文件内容上传到网盘,在需要查监控的时候即可直接打开网盘在线播放,并且理论上数据丢失风险很低

    想实时看监控的话,在内网中可以直接访问页面观看

    在外网的话也有很多解决方案,frp ?

    这样似乎有一个巨大的缺点就是吃上传

    粗略计算一下 24 小时下各个质量下的存储占用

    画面质量 单路码率 5 路总计码率 24 小时总数据量
    1080P (2MP) 2Mbps 10Mbps 约 105 GB
    2K (4MP) 4Mbps 20Mbps 约 211 GB
    4K (8MP) 8Mbps 40Mbps 约 422 GB

    我来把一天划成工作时间和休息时间 工作时间:8:00 --- 22:00 共计 14 小时 休息时间:22:00 --- 8:00 共计 10 小时

    一般家庭宽带的上传拿 30M 来计算 工作时间我们将上传限速 15M ,休息时间满速

    工作时间理论可上传:96.26G 休息时间理论课上传:131.8G 理论状态下上传总量:224.06G image

    对于 8MP 的话那是远远不够了,5 路计算全 4MP 刚刚好,但是可以重点区域 4MP ,非重点区域 2MP

    但是时间长了运营商治不治那就不好说了

    依赖项目

    项目地址

    https://github.com/blakeblackshear/frigate

    官网

    https://frigate.video/

    思路

    旧笔记本是联想小新 Air15

    旧电脑信息:

    主板:Manufacturer: LENOVO Product: INVALID

    处理器:11th Gen Intel(R) Core(TM) i5-1155G7 @ 2.50GHz

    总内存:16167 MB

    显卡:Intel(R) Iris(R) Xe Graphics | GameViewer Virtual Display Adapter

    刷入主流流行 Linux 发行版本 Debian 安装必要环境与 Docker 配置 rclone .......

    需要准备的材料

    image

    备忘录

    禁止合盖休眠

    编辑文件:

    sudo nano /etc/systemd/logind.conf
    

    找到并修改这两行:

    HandleLidSwitch=ignore
    
    LidSwitchIgnoreInhibited=no
    

    重启服务:

    sudo systemctl restart systemd-logind
    

    开启电池保护

    长年插电运行,电池容易鼓包。联想 Ideapad 系列(包括小新)在 Linux 下支持固定在 60% 电量:

    echo 1 | sudo tee /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode
    

    注:路径可能因内核版本略有差异,可以通过

    find /sys -name "conservation_mode"
    

    查找具体位置。

    HDD 外部硬盘的长效挂载

    获取 UUID:执行 sudo blkid 找到你的 HDD 硬盘 UUID 。

    修改 fstab: 编辑 /etc/etc/fstab

    添加如下行:

    UUID=你的 UUID /mnt/cctv ext4 defaults,nofail,noatime 0 2
    

    nofail 参数非常关键:万一硬盘盒没上电,系统依然能正常启动,不会卡在启动界面。

    Frigate 核心配置

    在 docker-compose.yml 中分配显卡权限:

    devices:
      - /dev/dri/renderD128:/dev/dri/renderD128 # 映射 Intel 核显
    

    在 frigate.yml 中优化检测:

    ffmpeg:
      hwaccel_args: preset-intel-qsv-h264 # 4 路高清解码毫无压力
    
    detectors:
      ov:
        type: openvino
        device: GPU # 利用 Iris Xe 的 80 个执行单元进行 AI 推理
    

    错峰上传方案:Rclone 动态限速脚本逻辑

    针对“今天传前天、白天限速、晚上全速”的构想,建议在 Debian 中使用 Systemd Timer 配合 Rclone: 限速配置:利用 Rclone 内置的 --bwlimit 参数实现时段控制。 逻辑示例

    # 白天 06:00 到 23:00 限速 1.5M (12Mbps 左右)
    # 晚上 23:00 到 06:00 不限速 (off)
    rclone move /mnt/hdd/archive remote:backup \
      --min-age 2d \
      --bwlimit "06:00,1.5M 23:00,off" \
      --delete-empty-src-dirs
    

    在 Frigate 中把“USB 拾音器”和“摄像头”结合

    Frigate 内置的 go2rtc 模块可以像“搭积木”一样合并音视频流。 配置逻辑参考 (frigate.yml):

    go2rtc:
      streams:
        counter_full_stream:
          - rtsp://admin:[email protected]/h265/main  # 摄像头的视频
          - ffmpeg:device?audio=hw:CARD=Device,DEV=0      # 你的 USB 拾音器音频
    

    效果:Frigate 会实时将这两个不同来源的流压在一起,生成一个带高清音频的录像文件,存入 HDD 硬盘。

    拓扑结构

    物理层

    电力供应层

    • 墙上插座 --> 原装 65W 充电器 --> 拓展坞 PD 口 (100W 支持) --> 笔记本 USB-C
    • 墙上插座 --> 绿联硬盘盒电源适配器 (12V) --> 硬盘盒
    • 墙上插座 --> TP-LINK 交换机电源 --> 交换机

    网络数据层

    • 5 路 IP 摄像头 --> Cat6 类网线 --> TP-LINK SG2210LPF (PoE 供电口 1-8)
    • TP-LINK 交换机 (第 9 号级联口) --> 网线 --> 小米拓展坞 RJ45 千兆网口

    本地外设层 (全部连接至小米拓展坞 USB-A 口)

    • 绿联 3.5 寸硬盘盒 (内置 HDD 硬盘)
    • 海康 DS-VM1 USB 麦克风阵列

    系统逻辑架构

    接入层

    • Video: Frigate 通过 FFmpeg 抓取交换机传来的 RTSP 视频流。
    • Audio: Debian 系统通过 ALSA/PipeWire 驱动识别 USB 麦克风音频设备 (/dev/snd)。

    处理层

    • AI 识别: 利用 i5-1155G7 的 Iris Xe 核显,通过 OpenVino 进行人形/车辆过滤。
    • 混流 (MUX): Go2RTC 模块将 6mm 摄像头的画面与 USB 麦克风的声音实时合并。

    存储层

    • 热数据: 实时视频帧缓存在内存 (SHM) 或自带 NVMe SSD 中
    • 温数据: 24 小时高清录像存入外挂的 HDD 硬盘( UUID 挂载至 /mnt/cctv )
    • 冷数据: 凌晨时段,Rclone 脚本将“昨天”的录像加密上传至云端。
    目前尚无回复
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1847 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 15:27 · PVG 23:27 · LAX 07:27 · JFK 10:27
    ♥ Do have faith in what you're doing.