ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

不花一分钱,用树莓派+ffmpeg+夸克网盘搭建家用监控录像系统

不花一分钱,用树莓派+ffmpeg+夸克网盘搭建家用监控录像系统 1. 为什么要折腾一套“免费”监控存储先说结论这套系统跑起来之后我每年省下的云存储订阅费是三百多块换来的是摄像头 7×24 小时不断档的录像回放能力新增硬件成本是零——用的是一台吃灰很久的单板机、一台百元级的乞丐版摄像头后端存储挂在夸克网盘的免费空间上。标题里说“不花一分钱云存储与内存卡”其实就是这个意思我没有买任何云服务也没有买大容量存储卡录像照样有地方存、随时能回放。你可能也有同样的体验家里的摄像头买了就后悔。厂商自带的云存储按月收费一年下来比摄像头本身还贵插一张 TF 卡进去又担心卡被反复写入写坏哪天突然发现录像断了一整天。最尴尬的是你出门在外想回放一段关键画面卡里的录像只能等回家拔卡才能看。这些痛点凑在一起就催生了今天这套很“抠门”但确实能稳定运行的方案摄像头通过 RTSP 协议把视频流交给单板机单板机用 ffmpeg 做切片录制先把最近几小时录像落在本地缓冲目录里再在闲时自动上传到夸克网盘。说白了单板机和网盘组合起来扮演了一个“免费云存储”的角色同时本地那块小容量存储卡只负责临时缓冲不再承担长期保存录像的任务。一台 32GB 的卡如果每天写满寿命可能只有几个月现在它变成“中转站”写入压力小很多卡不容易死录像却可以保存更久。这篇文章就围绕这套架构把选型、拉流、切片、上云、回放和踩过的坑完整讲一遍。适合谁参考家里有网络摄像头但不想再掏云存储费用的手头有树莓派、香橙派之类闲置板子的以及想搞明白 RTSP 拉流、ffmpeg 切片、rclone 对接网盘这些基础操作的折腾型用户。商用级监控项目别参考这个毕竟免费方案的可靠性和售后服务都是自己扛。2. 三个核心组件的选型思路2.1 摄像头乞丐版也没关系只要出 RTSP很多人以为做这套系统必须买什么高端摄像头其实完全不用。百元级摄像头、杂牌枪机、二手海康或宇视的设备只要支持 RTSP 或者 ONVIF 协议就能用。我手头那台就是最常见的枪机当初买来不到两百块厂家早已不再维护它的 App但它依然能通过 RTSP 把视频流吐出来这就够了。判断摄像头是否支持 RTSP 有两个土办法。第一个是看摄像头管理后台登录 Web 界面后找“音视频流”“RTSP 地址”这类选项很多设备会把流地址直接列出来。第二个办法是用 ONVIF 探测工具扫局域网能搜到设备并且能看到 Media Profile 的话基本就可以拼出 RTSP 地址。海康摄像头常见的路径是rtsp://账号:密码IP:554/Streaming/Channels/101宇视那边常见的是rtsp://IP:554/unicast/c10/s0/live这种风格但不要照抄不同厂商、不同固件的路径差异很大以你自己探测到的为准。选择摄像头时要留意主码流和子码流。主码流通常分辨率高、码率大适合看细节子码流分辨率低码率小适合连续录制。后期为了控制存储容量我建议连续录像用子码流有事件时再切主码流。乞丐版摄像头一般也提供这两个码流只是默认参数可能藏在后台设置里要找一下“码流类型”或“编码设置”选项。2.2 闲置单板机树莓派 3B 或香橙派 Zero2 都够用核心部件是那台吃灰的单板机。树莓派 3B 是很典型的选项512MB 内存就能跑因为 ffmpeg 只是做copy模式录制不转码CPU 占用很低。我实测一台树莓派 3B 同时拉两个 1080P 主码流做切片录像CPU 占用大约在 25%~40%如果只用子码流占用更低。香橙派 Zero2、友善 NanoPi 这些板子也都行性能上完全溢出了。需要注意的是单板机尽量用网线连接路由器不要依赖 WiFi。摄像头和单板机之间哪怕只是走 2.4GHz WiFi在有微波炉、蓝牙音箱干扰的频段里也会出现断流。我一开始图省事让摄像头走 WiFi结果半夜经常出现 ffmpeg 退出的情况后来换成网线就基本没再犯。如果摄像头安装在室外无法拉网线就尽量把 5GHz WiFi 留给单板机摄像头走 2.4GHz 独立信道。供电是另一个经常被忽视的点。单板机要用稳定的电源适配器不要随手插一个不知道多少瓦的旧手机充电头。树莓派 3B 这类板子对电压波动比较敏感电压不足会频繁重启录像自然就断了。我强烈建议给单板机配一个带开关的插座雷雨天气能快速断电平时也不会因为某个设备短路把板子烧了。2.3 存储后端夸克网盘的免费空间怎么用存储端选夸克网盘主要看重两点免费空间够大支持 WebDAV 这类标准协议对接。要说明的是我这里讲的是正常使用夸克网盘的免费空间不涉及任何灰产、破解手段网上那些“无限扩容”“强行提速”的偏门做法我不碰也不建议你碰。免费空间的实际容量以你账号显示为准可能是几十 GB 到几百 GB 不等关键是足够撑起一个小型监控系统的循环存储。比如你设定只存最近 7 天录像每天的视频量控制在 8GB 以内那么一个免费空间就能存下整个星期的视频。夸克的 App 端可以直接播放网盘里的 mp4 文件回放体验和本地视频差不多这也是我选它的原因之一不需要额外搭建播放环境手机上打开就能看。在单板机上对接夸克网盘我的方案是用 alist 把夸克网盘映射成本地的 WebDAV 服务再用 rclone 把录像文件上传进去。这套组合的好处是标准、通用rclone 支持断点续传、带宽限制alist 又解决了夸克没有原生 WebDAV 接口的问题。关于这一块的详细配置后面第 4 章会逐步展开。3. 实操从 RTSP 拉流到自动切片录像3.1 先拿到摄像头的 RTSP 地址并验证这一步是整个系统的地基地址搞错了后面全白搭。我建议按照下面的顺序操作。登录摄像头管理页面找到“网络设置”或者“视频设置”里的 RTSP 相关选项。有些摄像头在“媒体设置”里直接显示 RTSP 地址复制下来即可。如果找不到用 ONVIF Device Tool 扫一下局域网看到设备后点击“Live Video”测试能出画面就能拿到流地址。ONVIF 工具的好处是它会自动列出 Media Profile路径通常是/onvif1或者/media/video1这种格式实际拼出来的 RTSP 地址也能直接用。拿到地址后在电脑上用 VLC 验证一下打开 VLC选择“打开网络串流”粘贴 RTSP 地址能出画面说明地址没问题账号密码也没错。验证成功后再把地址写进单板机上的脚本省得在板子上反复调试。常见 RTSP 地址格式是rtsp://用户名:密码IP:端口/路径密码里如果有或:这类特殊字符需要做 URL 编码否则地址会被截断。这一步要特别留意摄像头和单板机是否在同一个局域网里如果摄像头配了独立 VLAN 或者开了访客网络隔离单板机是拉不到流的需要在路由器上放通规则。我折腾过一次摄像头正常单板机也能上网但就是拉不到流排查半天才发现是路由器的“AP 隔离”开了设备之间互访被拦截。3.2 ffmpeg 分段录制命令与参数逐项拆解拿到 RTSP 地址后最关键的就是 ffmpeg 命令。下面这条命令是我在树莓派上跑了几个月的版本直接复制改参数就能用。mkdir -p /mnt/rec/cam01 ffmpeg -hide_banner -loglevel error \ -rtsp_transport tcp \ -i rtsp://admin:password192.168.1.20:554/unicast/c10/s0/live \ -map 0:v \ -c:v copy \ -an \ -f segment \ -segment_time 300 \ -reset_timestamps 1 \ -strftime 1 \ /mnt/rec/cam01/cam01-%Y%m%d-%H%M%S.mp4命令看起来有点长核心其实没多少东西。-rtsp_transport tcp是强制走 TCP 拉流RTSP 默认可能用 UDP 传输UDP 在局域网有轻微丢包时画面会出现马赛克TCP 更稳。-map 0:v表示只取视频流-c:v copy是直接复制视频编码数据不重新编码这样树莓派 CPU 占用非常低。-an是关掉音频录制大部分监控摄像头的音频质量都很一般录进来反而占空间。-f segment是分段输出-segment_time 300表示每 300 秒5 分钟切一个新文件。为什么用 5 分钟而不是 1 小时因为切片越细回放定位越方便网盘上传中断后损失也越小。比如你想查凌晨 2 点 10 分的画面5 分钟一个文件找两个文件就能覆盖到而 1 小时一个文件就得下载整个大文件才能看到那几分钟。-reset_timestamps 1让每个分段的时间戳从 0 重新开始避免播放器在处理分段文件时出现时间轴错乱。-strftime 1允许文件名模板中嵌入时间格式化字段%Y%m%d-%H%M%S会生成类似cam01-20240101-003000.mp4这样的文件名一眼就知道这段录像对应的时间。第一次调试时先别后台运行直接在前台执行这条命令观察几秒钟然后按 CtrlC 停止再去/mnt/rec/cam01目录看看有没有生成文件。确认能正常生成切片后再想办法让它后台常驻。3.3 看门狗脚本与开机自启ffmpeg 进程不会永远稳定运行摄像头断电重启、网络抖动、单板机休眠都可能导致进程退出。最直接的解决办法是写一个看门狗脚本每 60 秒检查一次 ffmpeg 是否还在拉流如果不存在就重新拉起。这是我实测下来最简单可靠的方案比 systemd 单元的 Restart 配置更适合这种带输入依赖的场景。#!/bin/bash RTSP_URLrtsp://admin:password192.168.1.20:554/unicast/c10/s0/live OUT_DIR/mnt/rec/cam01 LOG_FILE/var/log/cam01_watchdog.log while true; do if ! pgrep -f ffmpeg.*${RTSP_URL} /dev/null; then echo $(date %Y-%m-%d %H:%M:%S) ffmpeg not running, restart $LOG_FILE ffmpeg -hide_banner -loglevel error \ -rtsp_transport tcp \ -i $RTSP_URL \ -map 0:v -c:v copy -an \ -f segment -segment_time 300 -reset_timestamps 1 -strftime 1 \ $OUT_DIR/cam01-%Y%m%d-%H%M%S.mp4 \ $LOG_FILE 21 fi sleep 60 done注意这里不是只检查ffmpeg进程存在而是用pgrep -f匹配包含 RTSP 地址的完整命令行避免你在板子上用 ffmpeg 做其他事情时被误判。日志会记录重启时间点方便事后排查是摄像头问题还是网络问题。把这个脚本保存为/usr/local/bin/cam01_watchdog.sh加上执行权限然后用nohup启动chmod x /usr/local/bin/cam01_watchdog.sh nohup /usr/local/bin/cam01_watchdog.sh 如果想开机自动运行最简单的方式是在/etc/rc.local里加一行启动命令。也可以用 systemd service但我个人觉得对于这种极简自建系统别把复杂度引进来维护成本低才是长期稳定的关键。3.4 关键注意本地缓冲目录的“虚拟内存卡”设计我在前面反复强调“本地缓冲目录”它的作用就相当于一张临时内存卡。单板机上挂一张 8GB 或 16GB 的老 TF 卡专门用来放录像切片上传到夸克网盘后立刻删除本地文件。这张卡不需要多大只要能缓冲几个小时的录像就算合格。我在实践中发现FFmpeg 的 segment muxer 在磁盘写满时会直接报错退出而且可能损坏正在写的文件。所以缓冲目录的空间管理很重要。最简单的策略是配合后面的上传脚本每 30 分钟把已经上传成功的旧文件删除。如果网盘上传暂时失败本地文件会继续堆这时空间可能告急需要在上传脚本里加一个保护逻辑当本地目录剩余空间低于 2GB 时删除最老的文件腾出空间。这里要记住一个原则本地缓冲永远是“最近时间段”的录像网盘才是最终保存场所。不要指望着本地卡能存多少东西它的职责就是“临时待上传”。还有一个容易被忽略的问题是文件系统。树莓派 TF 卡如果频繁掉电文件系统容易转为只读模式导致任何写入都失败。我后来把录像缓冲目录单独挂在一个 U 盘或者独立分区上系统 TF 卡和录像缓冲分区分离系统卡即使出问题录像缓冲分区往往还能正常工作。4. 录像怎么“白嫖”上云夸克网盘对接4.1 用 alist 把夸克网盘变成 WebDAV夸克网盘官方没有提供 WebDAV 协议接口这是第一个门槛。我的解法是在单板机上跑一个 alist 服务用 alist 的夸克网盘驱动去连接你的账号然后 alist 本身暴露一个 WebDAV 端点给 rclone 使用。这样网盘在程序眼里就变成了一个标准的 WebDAV 存储空间。部署 alist 最省事的方式是 Docker。在单板机上执行docker run -d \ --name alist \ --restartalways \ -p 5244:5244 \ -e PUID0 -e PGID0 \ -v /opt/alist:/opt/alist/data \ xhofe/alist:latest容器启动后用下面的命令获取管理员初始密码docker exec -it alist ./alist admin random然后浏览器访问http://单板机IP:5244用管理员账号登录在后台的“存储”页面添加“夸克网盘”驱动。这里需要填入你在夸克网盘网页版登录后能拿到的 Cookie 或者刷新令牌。操作方法是在电脑浏览器打开夸克网盘网页版并登录按 F12 打开开发者工具在“网络”标签里随便点一个请求从请求头里复制 Cookie 字段粘贴到 alist 配置里。写这段的时候强调一下这是对自己账号的正常授权操作别把 Cookie 泄露给任何人。配置完成后在 alist 后台的“挂载路径”里给这个存储设置一个路径比如/quark。此时 alist 的 WebDAV 地址就是http://单板机IP:5244/dav默认账号是 admin 和你设置的密码。先用浏览器或者 VLC 打开这个地址验证一下能不能看到夸克网盘里的目录能看到了就说明 WebDAV 通了。4.2 rclone 配置与自动上传脚本rclone 是单板机上的主力上传工具。我选择 rclone 而不是直接在脚本里用 alist 的 API是因为 rclone 支持断点续传、带宽限制、增量扫描跑长时间任务特别稳。先配置 rclone 的 WebDAV 远程。在单板机上执行rclone config按提示输入n # 新建远程 名字alist 类型webdav urlhttp://127.0.0.1:5244/dav vendorother useradmin pass输入alist的管理员密码会加密保存配置完成后可以先执行rclone lsd alist:测试能否列出目录。看到目录列表说明一切正常。上传脚本的核心命令是这样的rclone move /mnt/rec/cam01 alist:camera/$(date %Y)/$(date %m)/$(date %d) \ --include *.mp4 \ --transfers 2 \ --bwlimit 08:00-23:591M, 00:00-07:595M \ --log-file /var/log/rclone_upload.log \ --log-level INFO这里用move而不是copy意思是文件上传成功后会自动删除本地副本本地缓冲目录不会越堆越大。--include *.mp4只处理切片文件避免误传临时文件。--bwlimit控制带宽白天限速 1MB/s避免影响家里正常上网凌晨 0 点到 8 点之间放开到 5MB/s夜里录像上传得快白天基本不占带宽。然后用 cron 每 30 分钟执行一次这个脚本定期把新切片推上去。在/etc/crontab里加一行*/30 * * * * root /usr/local/bin/upload_cam01.sh /var/log/rclone_upload.log 21要说明一点rual 的带宽限制只影响 rclone 进程本身如果你单板机还有其他任务抢带宽实际速率可能达不到设定值。另外上传到夸克的速度受本地运营商上行带宽限制1Mbps 与 10Mbps 上行差距很大建议先跑一天看看日志再调整带宽数值。如果你觉得 30 分钟一次还不够及时可以把 cron 改成*/10 * * * *但我实测下来 30 分钟已经很合理因为摄像头切片本身就是 5 分钟一个10 分钟盘里最多积攒 2 个文件30 分钟上传一次不至于太频繁。4.3 目录结构与回放文件定位网盘上的目录结构直接影响回放体验。我用的是这种结构camera/ cam01/ 2024/ 01/ 01/ cam01-20240101-003000.mp4 cam01-20240101-003500.mp4按年/月/日分三层目录每次上传的时候用$(date %Y)/$(date %m)/$(date %d)自动创建。优点是想查某一天的录像直接按日期一路点进去就行不用在几千个平铺文件里翻。回放文件定位有一个小技巧。摄像头切片的文件名是按系统时间生成的但如果你设置了-reset_timestamps 1播放器看到的文件内部时间从 0 开始文件名才是真正的时间戳。所以要查某段录像先确定目标时间然后按 5 分钟一个文件反推文件名。比如要查上午 10 点 12 分的画面那就要找10:10:00和10:15:00这两个切片文件因为 10:12 落在它们之间。上传脚本执行时rclone 会以本地文件名作为网盘上的文件名目录结构完全一致所以本地保留的缓冲文件名和网盘文件一一对应后续排查很方便。如果你不想让录像直接裸放在网盘里可以在上传前用 7z 压缩加密但这会破坏回放的便利性我自己的做法是只在网盘保存没那么敏感的普通区域录像涉及隐私的画面尽量通过本地回放而不是上云。5. 回放本地播放与手机端访问5.1 局域网内直接回放回放分两种场景一种是在家里局域网回看一种是在外面通过手机回看。局域网回放最简单单板机上的本地缓冲目录里就有最近的录像切片直接用 ffplay 播放就行。ffplay -autoexit -window_title 20240101 00:30 /mnt/rec/cam01/cam01-20240101-003000.mp4-autoexit的意思是播放完自动退出适合脚本化批量预览。如果你想快速浏览某一天的录像可以用 ranger 这类终端文件管理器进到目录里按文件名的日期时间顺序预览效率很高。单板机性能有限直接在它上面播放 1080P 主码流视频可能会有掉帧所以局域网回放我一般会在电脑或手机上通过 SMB/NFS 挂载单板机目录用 VLC 播放体验顺畅很多。5.2 跨设备从网盘拉回录像在外面想回看录像最直接的路径是打开夸克网盘 App进到camera/cam01/2024/01/01目录里点播放。夸克 App 对 mp4 格式的支持还不错但要注意上传的视频编码必须是 H.264音频最好去掉因为部分播放器对 H.265 的兼容性差一些。如果你更喜欢用播放器软件统一管理也可以让手机上的 VLC 或 nPlayer 直接连接 alist 的 WebDAV 地址。VLC 里选择“网络”-“添加网络流”输入http://单板机IP:5244/dav/camera/cam01/2024/01/01/20240101-003000.mp4前提是手机和单板机在同一局域网。如果在外网不要直接把 alist 端口映射到公网这会带来很大的安全风险正确做法是回到网盘 App 端播放已经同步的文件。这里要提醒一下网盘上的录像文件尤其是跨设备回放时建议先经过一次低码率转码再上传。为什么因为摄像头直出的主码流可能达到 4Mbps 甚至更高手机流量播放会卡而且网盘 App 在线播放大码率视频时缓冲非常严重。我通常在单板机上做一个降码流的任务把每天的主码流录像抽帧转成 720P、1Mbps 的代理文件草稿上传给网盘用于随时预览原始高码率文件只在本地保存按需手动上传。5.3 码率优化的性价比方案谈到回放流畅度就必须聊聊码率控制。这是整个系统最容易被低估的环节。摄像头的编码设置里一般有主码流和子码流两档主码流 1080P 可能码率 4096Kbps子码流 720P 码率 1024Kbps。按 7×24 计算4096Kbps 一天会产生约 43GB 数据而 1024Kbps 一天只有约 10.5GB。这个差距非常大直接决定你的免费空间能存几天、上传带宽要占多少。我的策略是连续录像用子码流事件触发录像用主码流。家用监控场景里多数时间并不需要看清远处车牌照720P 子码流完全够看画面动态。只有移动侦测触发事件时才把主码流的几秒钟片段单独截取出来上传。这样基本不损失关键信息容量反而可以支撑 15~30 天的循环存储。如果你摄像头不支持双码流那就在 ffmpeg 录制时加一个-vf scale1280:720 -b:v 1000k参数强制转码。但这会显著提高单板机 CPU 占用树莓派 3B 可能吃紧不建议长时间这样跑。所以硬件选型时尽量挑支持双码流的设备哪怕贵几十块也值得。6. 踩坑实录与问题排查字典6.1 摄像头断流导致 ffmpeg 退出这是遇到最多的问题。表现是摄像头画面在 App 里正常但单板机上 ffmpeg 进程消失日志里能看到Connection timed out之类记录。造成断流的因素很多摄像头长时间运行后网络栈异常、路由器 DHCP 租约到期导致 IP 变了、摄像头电源适配器老化导致间歇性断电。解决思路是分层排查。第一层检查摄像头和单板机之间的网线、交换机、路由器是否稳定最好给摄像头设一个 DHCP 静态绑定防止 IP 漂移。第二层在单板机上启用看门狗脚本每分钟检查 ffmpeg 是否还在不在就拉起。第三层给 ffmpeg 加-timeout 5000000之类的超时参数避免它卡在某个网络请求上不死不活。日志里多记几行回头对照摄像头断电时间就能很快定位。6.2 缓冲盘写满或文件系统变成只读本地缓冲目录写满后ffmpeg 会直接报No space left on device退出。更麻烦的是树莓派 TF 卡在异常掉电后可能挂载为只读模式之后所有写入动作都失败cron 脚本还会报错但你以为系统在正常运行。我的建议是缓冲目录不要放在系统 TF 卡上单独用一个 U 盘或者独立分区。并且在上传脚本里加空间检查free_space$(df -m /mnt/rec/cam01 | awk NR2{print $4}) if [ $free_space -lt 2048 ]; then echo WARN: free space below 2GB, deleting oldest files find /mnt/rec/cam01 -name *.mp4 -type f | sort | head -20 | xargs rm -f fi如果文件系统已经变成只读先安全关机拔下卡在电脑上做一次文件系统检查再重新挂载。遇到过一次之后就学乖了给单板机配了一个 UPS 小电源模块虽然只有十几分钟的续航但至少能保证正常关机而不是突然断电。6.3 网盘上传慢或上传中断夸克上传速度受本地运营商上行带宽限制也受账号状态影响。半夜上传一般比白天快因为家庭网络拥塞小。用 rclone 的好处是断点续传上传中断后重新执行不会从零开始但也别指望一两秒就恢复巨量文件。实际操作中有一个坑rclone 默认会并发上传多个文件--transfers 2是两路并发如果同时有大文件又有小文件大文件会占满带宽。可以给上传脚本加一个筛选规则优先传小文件rclone move --min-age 2m --include *.mp4 /mnt/rec/cam01 alist:camera/...--min-age 2m的意思是只处理创建时间超过 2 分钟的文件避免正在写入的切片被上传一半导致损坏。如果你发现某个文件总是传不上去先用rclone lsl alist:camera/...对比本地和网盘的文件大小把异常文件删掉让它重新传就行。6.4 时间同步影响切片命名单板机如果长期离线或者没有 RTC 电池系统时间会漂移导致切片文件名里的时间与实际时间相差几个小时。到时候回放你明明记得是上午的事文件名显示的却是凌晨定位起来非常痛苦。解决办法很朴素确保单板机联网后自动同步时间。树莓派官方系统默认开着 systemd-timesyncd一般不需要额外操作。如果你用的是精简自制镜像可以执行timedatectl set-ntp true systemctl restart systemd-timesyncd同时把tzdata时区设置成Asia/Shanghai否则文件名里的小时数会差 8 小时。这个坑我踩过一次折腾了好久才发现是时区问题。6.5 常见问题速查表问题现象可能原因解决思路ffmpeg 进程消失无录像生成摄像头断电/网络断流启用看门狗脚本重启 ffmpeg录像文件播放花屏RTSP 走 UDP 丢包加-rtsp_transport tcp参数缓冲磁盘写满ffmpeg 退出本地空间不足删除旧文件提前检查剩余空间网盘上传速度很慢上行带宽占用/账号限制夜间上传限制白天带宽文件名时间与实际不符时区或系统时间未同步timedatectl 同步时间设置正确时区摄像头 IP 变了拉不到流DHCP 分配变化路由器上静态绑定 MAC 与 IP回放 App 播放卡顿视频码率太高用子码流录制或降码率代理文件alist 连不上夸克Cookie 失效重新登录网页版更新 Cookie这套系统跑起来以后我最真实的体会是省下的不只有那点订阅费还有对存储卡的焦虑。以前一张 TF 卡写坏了几个月录像全没了那种失落感比丢钱还难受。现在单板机负责录网盘负责存本地卡只是临时中转录像的可靠性反而提高了。如果你家里也有吃灰的板子和摄像头别急着卖掉花一个下午按这个流程搭起来你会重新认识这些“电子垃圾”的用途。最后再多说一句自己装的监控要合法合规使用镜头对着自家院子、车库和门口就好别隔着窗户拍邻居基础的安全和隐私意识比技术细节更重要。
返回列表