尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

零成本家庭监控:树莓派抓取RTSP流自动备份至免费网盘

发布时间:2026/9/25 1:38:26

资讯中心
01
ARTICLE

零成本家庭监控:树莓派抓取RTSP流自动备份至免费网盘

零成本家庭监控:树莓派抓取RTSP流自动备份至免费网盘
家里那台50块钱的摄像头买回来第一周就让我不痛快。官方App每隔几天弹一次云存储会员广告月费、年费算下来比摄像头本体还贵而插在卡槽里那张32G存储卡循环写入不到半年就开始出坏块录像频繁跳帧最后格式化都救不回来。穷人版监控的体验大概就这样到头了。直到某天我翻出抽屉里一块吃灰多年的树莓派3B又在手机上装了夸克网盘才意识到摄像头、单板机、免费网盘这三样东西凑在一起完全可以拼出一套24×7全天候的监控存储与回放系统而且不用再为云存储月费和内存卡花钱。这整套方案的本质是把摄像头当作一个纯粹的RTSP视频源让闲置单板机去解析、切片、上传最终把录像备份到夸克网盘上。和花几百块买所谓云存储会员相比这套系统的成本约等于零而且只要摄像头支持RTSP协议、单板机能跑Linux基本都能照搬。这套方案适合谁如果你手里恰好有一个吃灰的树莓派、香橙派、N1之类的小主机家里又有一台支持RTSP的普通网络摄像头还想不看商家脸色、不看SD卡脸色地保存录像那你就是目标读者。文章里不会有太玄乎的东西只有我从零搭这套系统时踩过的坑、跑通的脚本和每天两分钟维护的心得。1. 先算账为什么我坚决不碰云存储会员和SD卡在很多人的印象里监控录像要么靠TF卡要么靠厂商的云存储套餐。但这两条路用久了都让人难受。1.1 云存储套餐的账算下来非常不划算市面上主流的家用摄像头云存储价格通常分成两种一种是7天循环录像一种是30天循环录像。以常见的品牌为例7天回放套餐一年大约要120到200元30天回放套餐一年可能冲到300元以上。如果家里装三四台摄像头光云存储一年就是大几百。更糟的是这种套餐和摄像头品牌深度绑定摄像头用到第三年坏了想换牌子之前的录像存续、迁移都是麻烦事。我个人的看法是家用监控的数据量其实非常小视频压缩后一天也就几GB这个量级完全可以用免费网盘托管没必要让品牌方按月抽成。1.2 SD卡为什么靠不住TF卡看起来是一次性的便宜方案一张64G卡也就几十块。但监控摄像头是7×24小时连续写入的尤其现在不少摄像头默认开H.265编码码率虽低写入频率却极其密集。我之前那张32G卡就是血的教训循环覆盖写入大约四个月后卡里开始出现无法读取的区块录像时间轴像被老鼠啃过一样一段一段地断档。后来查了资料才明白普通TF卡的设计寿命根本扛不住监控这种无休止的覆盖写入得买所谓的“高寿命监控卡”价格就上去了而且照样会坏。SD卡的另一个尴尬是回放麻烦——想查几天前的录像不是拿卡插电脑就是在App里翻到一个“播放卡顿”的缩略图体验相当粗糙。1.3 免费网盘闲置单板机的替代逻辑我搭这套系统之前身边已经有朋友用“路由器USB硬盘”做简易存储但硬盘同样有寿命和容量问题。我更想要的是一个能自动备份到云端的方案这样即使摄像头被撬、单板机被拿走录像还在云上。夸克网盘提供了足够大的免费空间而单板机只是当作一个中转站。整条链路里没有一样是需要持续花钱的硬件这才叫真正意义上的“不花一分钱云存储与内存卡”。2. 整体架构录像从摄像头到网盘的完整链路这套系统在逻辑上分成四层采集、切片、上传、回放。每一层都有自己明确的职责想清楚这一层后面跑脚本才不会像无头苍蝇。2.1 采集层摄像头只需要做好一件事——输出RTSP流RTSPReal Time Streaming Protocol是网络摄像头最通用的视频流协议。绝大多数的IP摄像头不管是杂牌还是海康、宇视这些大厂底子都支持RTSP。商家在App里拼命推销云存储但你绕过App直接问摄像头要RTSP地址它照样老老实实地给你视频流。我用的这台乞丐版摄像头就是一个杂牌枪机带网口和WiFi没有云台没有彩光全彩连个像样的App界面都没有唯一好用的就是RTSP流。挑选的时候只要记住一条支持RTSP、IP地址可固定就够了。如果你手里已经有摄像头先找到IP和端口再拿VLC播放器输一下地址验证能不能出画面这一步能排除掉八成的不兼容问题。2.2 切片层为什么录像必须切成小段监控录像回放时我们总要找某一天的某个时间段比如“昨晚凌晨2点”。如果录像是一整个长达几十小时的文件那定位时间轴简直是一场灾难。更实际的问题是上传大文件时一旦网络闪断整段录像都白录了。所以我用ffmpeg把连续的视频流切成按时间分段的文件比如每10分钟一段文件名里直接写清楚开始时间。这样上传失败只丢那10分钟而且回放时点开对应文件就是对应时段不需要任何剪辑。2.3 上传层单板机不存储历史只做搬运工单板机的存储卡或硬盘容量很有限如果拼命累积录像几天就爆盘了。所以真正的“历史存档”放在云端单板机本地只保留最近一天甚至几个小时的缓存定时把新文件上传到夸克网盘然后按策略清理本地文件。这样即使单板机被偷走或者系统盘损坏云端录像依旧完好。2.4 回放层夸克网盘App就是播放器上传到夸克网盘的视频文件可以直接在手机App里在线播放也支持下载回看。 我甚至没有额外写任何前端界面回放系统本身就是网盘。配合文件名里的时间戳查监控就像翻相册一样自然。3. 单板机端配置从系统安装到录制脚本跑通接下来是实操环节。我用的是树莓派3B但整个流程在香橙派Zero2、斐讯N1这类ARM小主机上同样适用区别只在于系统镜像的烧录方式。3.1 系统准备能跑Linux和ffmpeg就够树莓派装Raspberry Pi OS LiteN1装Armbian玩客云刷个小钢炮或者Armbian这些都行。关键是别选太重口的桌面版服务器版系统省内存也稳。装完系统后先把源和基础工具更新一遍sudo apt update sudo apt install -y ffmpeg vim curl这里有一个值得注意的细节树莓派这类单板机的CPU性能有限所以在采集视频流和切片的时候必须让ffmpeg用“直接复制流”模式而不是“重新编码”模式。什么叫直接复制流简单说就是摄像头输出什么数据我就原封不动地切一刀存下来完全不做转码。这可以大幅降低CPU占用否则树莓派3B转720P都累得够呛。3.2 验证RTSP流先用手动命令测通在写脚本之前先用一条最简单的ffmpeg命令验证摄像头输出是否正常ffmpeg -rtsp_transport tcp -i rtsp://192.168.1.100:554/stream1 -t 10 -c copy /tmp/test.mp4这里有几个参数要解释一下-rtsp_transport tcp强制用TCP传输RTSP流。UDP在WiFi环境下特别容易丢包导致花屏和断流用TCP稳得多。-i rtsp://...摄像头RTSP地址具体路径取决于摄像头型号杂牌通常叫/stream1海康叫/ch1/main/av_stream宇视叫/live实在不知道就靠扫描工具或看说明书。-t 10只录10秒测试用。-c copy直接复制流不转码。如果这一步能正常生成一个能播的mp4文件说明整条链路已经通了。我在测试时遇到过一种情况VLC能放ffmpeg却报错“method DESCRIBE failed”多半是RTSP地址的路径写错或者摄像头限制了连接数多试几次路径就好。3.3 循环录制脚本断线自动重连按时段切片验证通过后就可以写正式的录制脚本。我的做法是让ffmpeg每隔固定的秒数录一个文件录完自动退出然后用shell循环再启动一次#!/usr/bin/env bash # /opt/monitor/record.sh # 24小时循环录制按10分钟切片 RTSP_URLrtsp://192.168.1.100:554/stream1 STREAM_NAMEfront_door SEGMENT_SECONDS600 OUTPUT_DIR/var/monitor while true; do TIMESTAMP$(date %Y%m%d%H%M%S) ffmpeg -rtsp_transport tcp -i $RTSP_URL \ -c copy -t $SEGMENT_SECONDS \ $OUTPUT_DIR/${STREAM_NAME}_${TIMESTAMP}.mp4 \ -loglevel error echo [$(date %Y-%m-%d %H:%M:%S)] ffmpeg exited, restart in 5s sleep 5 done把这段脚本存成/opt/monitor/record.sh加执行权限然后丢进后台跑chmod x /opt/monitor/record.sh nohup /opt/monitor/record.sh /var/log/record.log 21 跑上半天再去看/var/monitor目录就会出现一系列以front_door_20250101_123456.mp4这种格式命名的文件。文件名里的时间戳是整个回放体系的关键后面查监控全靠它。这里要特别提醒一个坑如果摄像头断电重启或者网络闪断ffmpeg进程可能会以非零状态退出。我这版脚本里用while true无限循环就是为了让它在退出后5秒钟自动重启配合TCP传输实际运行下来断流恢复时间通常不超过10秒对于家庭监控完全够用。如果想要更优雅的重连策略可以加心跳检测但对于DIY场景简单粗暴的无限循环反而最可靠。3.4 目录设计与本地缓存清理本地磁盘空间是有限的。我个人的管理策略很简单本地只保留最近1天的录像更早的交给网盘。这样即使单个文件比较大也不会撑爆树莓派的32G TF卡。清理脚本长这样#!/usr/bin/env bash # /opt/monitor/cleanup.sh # 清理本地超过24小时的录像文件 find /var/monitor -name *.mp4 -mmin 1440 -delete这里的-mmin 1440表示“修改时间超过1440分钟24小时”配合crontab每天执行一次就行。如果担心删除太快导致上传来不及可以把时限放宽到2天核心是留够上传窗口但又不能无限堆积。4. 夸克网盘接入从网页端到自动化上传录像生成只是第一步关键是怎么把它们安全地传上夸克网盘。4.1 用什么方式接入夸克网盘夸克网盘本身是面向个人用户的产品日常操作在网页或App里完成。如果只是偶尔传几个文件手动拖拽也就罢了但24×7录像每天都有一堆文件必须让它自动化。目前常用的接入方式是通过alist这个开源工具挂载夸克网盘。alist本身只是网盘聚合管理工具它会把夸克网盘“翻译”成一个WebDAV端点这样单板机上的rclone就能像操作本地文件夹一样把录像文件push上去。4.2 部署alist并挂载夸克网盘在单板机上部署alist很简单Docker环境下一条命令搞定docker run -d --namealist \ --restartalways \ -v /etc/alist:/opt/alist/data \ -p 5244:5244 \ xhofe/alist:latest如果没有Docker环境也可以直接下载alist的二进制包解压运行。部署完成后浏览器打开http://单板机IP:5244进入管理后台添加一个“夸克网盘”类型的存储驱动按提示登录夸克账号授权即可。建议把WebDAV功能打开端口就是5244路径是/dav。然后设置rclone的远程存储rclone config create quarkdav webdav \ url http://127.0.0.1:5244/dav \ vendor other \ user admin \ pass $(rclone obscure 你设置的alist密码)这里把WebDAV端点指向alist实际上就是让alist充当夸克网盘的“翻译层”。rclone把文件交给alistalist再转交给夸克网盘。整条链路比官方App更灵活因为它是标准的文件协议脚本怎么写都行。4.3 自动上传脚本与定时任务上传我用rclone的copy命令注意是copy不是sync因为sync会把远端多余文件删掉太危险了#!/usr/bin/env bash # /opt/monitor/upload.sh LOCAL_DIR/var/monitor REMOTE_NAMEquarkdav REMOTE_DIR/monitor rclone copy $LOCAL_DIR $REMOTE_NAME:$REMOTE_DIR \ --transfers 2 \ --checkers 4 \ --log-file /var/log/rclone.log \ --log-level INFO建议每5分钟跑一次上传任务配合crontab*/5 * * * * /opt/monitor/upload.sh /dev/null 21--transfers 2的意思是同时并发上传2个文件太多的话容易触发网盘限速和风控--log-level INFO可以把上传失败的信息记录到日志方便排查。第一次全量上传时间可能比较长但后续每5分钟一次的增量上传基本只传新的几个文件压力非常小。实测下来10分钟一个的720P录像文件大约30MB到60MB电信宽带上传速度按4MB/s算也就十几秒的事完全赶得上节奏。4.4 远程目录规划夸克网盘里的目录结构我建议按年月日分文件夹比如/monitor/2025/01/01/front_door_20250101_000000.mp4。不过rclone命令本身不支持自动按月日建目录我会在upload脚本里加一小段预处理比如当天上传时直接指定日期文件夹DEST_DIR$REMOTE_DIR/$(date %Y/%m/%d) rclone copy $LOCAL_DIR $REMOTE_NAME:$DEST_DIR --transfers 2 --log-file /var/log/rclone.log注意这里会把这个目录下所有新文件都传上去因为文件名的前辍是front_door_不会和别的摄像头冲突。如果以后还想加第二台摄像头再建一个新的本地输出目录就行。5. 回放体验像翻相册一样查监控搭好这套系统后日常回放的体验比我想象中舒服很多。5.1 用夸克网盘App直接看手机装夸克网盘App登录同一个账号进monitor目录按日期上下翻找看到文件名就能知道是哪一段的录像。点一下在线播放画面非常流畅拖动进度条也没有明显卡顿。这套方案等于把监控回放做成了云相册体验不用在厂商的App里忍受一堆广告和缩略图加载。5.2 文件命名的妙用因为文件名里带了完整时间戳比如front_door_20250101_023000.mp4即使不用App自带的搜索在文件列表里扫一眼也能快速定位。如果某天需要把一段录像转给物业或者警察直接在手机上点“下载原画”再发送出去这比从摄像头厂商App里导出录像方便太多了。这也是我坚持在脚本里用$(date %Y%m%d%H%M%S)生成文件名的原因这个时间戳是回放系统真正的索引。5.3 局域网本地回放当网盘抽风时的Plan B网盘偶尔也会抽风比如夸克服务器抖动或本地网络波动这时候至少还有本地缓存。我在单板机上简单跑了一个HTTP服务cd /var/monitor python3 -m http.server 8080这样在同一WiFi下直接用手机浏览器访问http://单板机IP:8080就能看到本地录像文件列表点击即播。这个方案不需要任何额外配置纯应急但实测在摄像头被盗后、网盘又刚好不可达的极端情况下确实能救命。5.4 安全边界提醒自己搭监控系统最容易被忽略的是安全。不要把单板机直接暴露在公网上不要随便做端口映射。如果需要外网访问优先考虑内网穿透工具的私有访问方式或者干脆依赖夸克网盘的远程回放单板机的HTTP服务只放在内网里。我之前看到一个朋友图省事把监控Web页面直接映射到公网结果被人扫描到弱密码摄像头直接成了别人的直播源。这个教训说出来大家引以为戒。6. 常见问题与排查技巧实录搭这套系统过程中我踩过的坑基本都集中在这张表里。按着现象去查基本半小时内能解决。问题现象可能原因排查与解决办法录像文件有声音没画面或者花屏RTSP传输用的是UDP导致丢包ffmpeg命令里强制加-rtsp_transport tcp重跑ffmpeg进程经常自己退出WiFi信号弱或摄像头连接数超限给摄像头插网线检查摄像头是否同时被App和设备访问限制并发路数上传到网盘的时间很长本地宽带上行带宽受限检查路由器限速策略把录像分辨率降到720P或采用H.265编码文件能小三分之一夸克网盘容量满了长期累积占用太多空间定期在网页端按月份批量删除老旧录像给上传脚本加一个“只传最近30天”的过滤条件单板机卡死或没反应存储卡性能太差或系统日志堆满换一张A2级高速卡适当关闭不必要的日志输出给系统加个每天定时重启的crontab录像断档超过10分钟断电或摄像头重启后RTSP地址变化在路由器里给摄像头绑定静态IP或DHCP保留地址确保IP始终不变6.1 摄像头断电恢复家里的摄像头有时候会因为插线板跳闸断电恢复供电后摄像头从启动到RTSP服务就绪可能要一两分钟。我的录制脚本是无限循环所以等RTSP服务恢复后它会自动接入。但如果IP地址因为路由器DHCP动态分配发生了变化就会一直连不上。解决办法是在路由器管理界面给摄像头绑定固定的IP地址这样无论断电多少次地址都不变。6.2 上传断线重试rclone本身有比较完善的错误重试机制默认会重试3次。如果因为网络短暂波动失败下个五分钟定时任务会再次尝试。真正要担心的是本地文件被清理了而远端还没传上去。所以我强烈建议清理脚本的时限要比上传周期宽裕得多。比如每5分钟上传一次那本地文件至少保留24小时再做清理这样即使网盘连续几个小时不可用也有足够缓冲时间。6.3 单板机性能不足的识别与缓解如果你用的是树莓派Zero这类非常弱的板子跑ffmpeg时CPU容易被占满录像会出现卡帧。解决办法是降低摄像头输出的码率或分辨率比如从1080P降到720P确认命令里带了-c copy不要转码给单板机加个散热片我实测树莓派3B在夏天裸奔跑ffmpeg温度能到80℃加个小散热片能降到60℃出头这一点在跑7×24场景时非常关键过热降频会导致ffmpeg无法及时处理帧录像直接跳秒。7. 写在最后这套系统的扩展方向与我的真实感受这套方案跑通到现在已经稳定工作了几个月。我最大的感受是监控系统真正的成本不在硬件而在存储。摄像头再贵也就一台几百块的东西但云存储年年收费存储卡频繁损坏这些“持续性消费”才让人心累。用一个吃灰的单板机把录像搬到免费网盘上直接把这笔钱省成了零。如果你愿意进一步折腾扩展方向还挺多的。比如在单板机上装一个智能检测框架有人形出现时才录像录像文件量能再降低一半或者让单板机同时接两台摄像头一台看大门一台看后院又或者写个简单的推送脚本检测到录像中断时发一条通知到手机。这些都基于同一条录播链路只是在上层做策略。但就算不想折腾现有这套“乞丐版摄像头单板机夸克网盘”的组合已经能提供基本合格的云存储与回放体验。我自己回头再看那张坏掉的SD卡唯一的想法是这钱早该死省下来。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。