改造小蚁摄像头支持免费无限容量云储存(Samba挂载篇)

为什么要改造?

插卡摄像头最大的一个问题就是频繁的读写会导致内存卡寿命急速下降,哪怕是市面上支持NAS转存的摄像头也是先录制到SD卡里,然后把SD卡上的视频再转存到NAS。同样对内存卡和NAS硬盘寿命都是损耗巨大。而这类监控视频绝大多数情况重要性都不算高。同时内存卡的容量对比各类云盘简直不够看。所以改造视频文件直接录制在云存储上,避免内存卡频繁的读写是一件一劳永逸且很有必要的事情。

本教程操作的前提是刷写基于alienatedsec/yi-hack-v5 第三方固件,支持的摄像头型号也一样。(友情提示,刷完固件后可以把SD卡上的home_vxxx和rootfs_vxxx删掉以提高启动速度)

必备工具:

一台linux小主机

改造的思路是用alist和davfs2工具把云盘挂载到本地linux小主机(挂载命令一定要添加file_mode=777,避免导致Samba共享无法正常写入文件 ),再用Samba分享出来(Samba一定要开启V1协议支持,很多摄像头都只支持1.0协议),然后在摄像头上挂载这个Samba目录。和常规NAS转存的思路不一样的是我们可以用ssh访问摄像头,所以对摄像头的权限是最高的,可以决定自定义挂载位置,而摄像头生成视频的目录是固定的,所以把Samba直接挂载到摄像头生成视频的目录上,这样就可以直接在云存储上生成视频文件,同时也避免了SD卡的读写损耗

以上前提是摄像头支持ssh访问并且支持Samba挂载。但ssh登录后台尝试mount.cifs挂载会提示报错。通过研究APP我们可以得知官方只支持定时转存SD卡上的视频文件到小米路由器。而支持转存必然支持挂载Samba,通过分析摄像头启动流程最终在/home/app/script下找到了cifs.luac文件。通过反编译我们知道了官方挂载xiaomi路由器的逻辑以及挂载命令。(这里需要说明的是老款xiaoyi摄像头只支持Samba 1.0协议,所以我们在配置主机上的Samba共享的时候需要注意开启最低版本支持1.0协议)

根据官方提供挂载逻辑和命令很容易写出自定义挂载脚本

bash 复制代码
#!/bin/sh
export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/home/base/tools:/home/yi-hack-v5/bin:/home/app/localbin:/home/base:/tmp/sd/yi-hack-v5/bin:/tmp/sd/yi-hack-v5/sbin:/tmp/sd/yi-hack-v5/usr/bin:/tmp/sd/yi-hack-v5/usr/sbin:/home/yi-hack-v5/sbin
# location:/etc/init.d/S20yi-hack-v5
# location:/home/yi_dome_init.sh
# 加载cifs内核
insmod /home/app/localko/hmac.ko;
insmod /home/app/localko/md4.ko;
insmod /home/app/localko/cifs.ko;

echo 'insmod cifs.ko' >> /tmp/yi_dome_init.log

# 挂载cifs
mkdir -p /tmp/cloud
mount.cifs //192.168.1.3/yi_dome /tmp/cloud  -o guest,sec=ntlmv2,rsize=8192,wsize=8192,iocharset=utf8;

echo 'mount //192.168.1.3/yi_dome' >> /tmp/yi_dome_init.log

if grep -qs '//192.168.1.3/yi_dome' /proc/mounts;
then
    if [ -f "/tmp/sd/swapfile" ] && [ ! -f "/tmp/cloud/swapfile" ]; 
    then
        cp /tmp/sd/swapfile /tmp/cloud/swapfile
    fi

    mount --bind /tmp/cloud/swapfile /tmp/sd/swapfile

    echo 'mount --bind /tmp/cloud/swapfile' >> /tmp/yi_dome_init.log

    if [ -d "/tmp/sd/record" ]; 
    then
        mkdir -p /tmp/cloud/record
        cp -rf /tmp/sd/record/* /tmp/cloud/record
        rm -rf /tmp/sd/record/*
        mount --bind /tmp/cloud/record /tmp/sd/record
        
        echo 'mount /tmp/cloud/record' >> /tmp/yi_dome_init.log
    fi
fi

把脚本上传到摄像头后台,并设置开机自启动。

到了这里你就得到了一个容量几乎无限且终身免费的自定义摄像头云存储。

贴一张挂载成功截图


以上脚本已经全部上传至github yi-hack-v5-plugins 希望大家帮忙点个star!

相关推荐
TBrL7UtdTELTTdut4BAL7 小时前
XG-140G-TF 极简 OpenWrt | 修复2.5G | NPU硬件加速
服务器·智能路由器·openwrt·光猫·xg-140g-tf
三维频道17 小时前
数字化质控:拍照式蓝光三维扫描如何破解路由器注塑件的形变难题?
智能路由器·质量控制·数字雕刻·工业数字化·3d扫描·xtop3d·注塑工艺
亚空间仓鼠21 小时前
网络学习实例:网络理论知识
网络·学习·智能路由器
24zhgjx-lxq1 天前
OSPF的网络类型:NBMA和P2MP
网络·智能路由器·hcip·ensp·ospf
淼淼爱喝水1 天前
ensp- ACL 综合配置实验(附拓扑与完整步骤)
网络·智能路由器·ensp·acl
风曦Kisaki1 天前
# 企业级网络架构Day03:网络层解析、路由原理、三层交换机、动态路由(OSPF)
网络·架构·智能路由器
阿正的梦工坊1 天前
网关与路由器
智能路由器
pengyi8710151 天前
IP被封禁应急处理,动态IP池快速更换入门
大数据·网络·网络协议·tcp/ip·智能路由器
SPC的存折2 天前
Cisco Packet Tracer 静态路由全网互通实验及详细教学文档,包括基础常识、实验信息、IP 地址规划和分步操作流程
网络·tcp/ip·智能路由器
东北甜妹2 天前
网络服务-
网络·智能路由器