
随着郊区住房的出现,视频监视的话题对我来说变得尤为重要。 在Internet上,您可以找到许多有关视频监视组织的信息。 不幸的是,大多数选择归结为从中国购买现成的工具包。 从朋友那里我听到了很多关于这方面的批评。 不知何故,他本人甚至参与了从Aliexpress购买的设备的安装。 尽管注册服务商并不便宜,但在某些地方,已声明的功能有一半无法正常工作,某些选项却根本无法实现。 并且有许多这样的评论和意见。 此外,许多人批评视频存储在中国云服务上。 然后想法浮出水面-如果您尝试用最少的功能制作自己的DVR,该怎么办? 什么啊 从那时起,我开始涉足linux,在bash上编写了具有基本功能的应用程序,并尝试了网络……原则上,解决问题所需的一切。 言归正传。
走吧 铁的选择
带有OPENWRT的流行TP-LINK TL-MR3020路由器被选为测试对象。

路由器的特点:
- 300 MHz MIPS处理器;
- 32 MB RAM;
- 闪存芯片为4MB;
- USB 2.0端口;
- 具有100 Mb全双工的RJ-45端口;
- GPIO引脚,空闲且带LED;
- 按钮和GPIO引脚上的开关;
该摄像机是在中国订购的普通中文高清IP摄像机。 我们以RTSP协议拍摄视频。 openRTSP实用程序为我们提供了帮助,它是OPENWRT存储库的一部分,并具有所有必需的功能。 我们决定通过webdav协议使用Yandex.Disk云服务。 该服务为每个新用户提供10Gb的可用磁盘空间。 好了,在那里您可以根据需要购买。
想法的实质
使用rtsp协议,我们从IP摄像机获取视频流。 我们创建一个缓冲区目录。 我们在其中录制视频。 通过webdav协议使用CURL实用程序,我们将视频发送到云端。 在我们的例子中,这是Yandex.Disk。
试一下
通过以太网将IP摄像机连接到路由器后,我们将.mp4格式的10秒剪辑的测试记录发布到Yandex磁盘上:
OPENRTSP -V -B 51200 -b 200000 -4 -f 25 -d 10>/tmp/ya_disk/test.mp4
然后他们将其发送到云端:
curl -v -m 180 --stderr /tmp/log -k -u $email:$pass -T /tmp/ya_disk/test.mp4 https://webdav.yandex.ru/
有效!
测试从不同长度的剪辑,不同的记录间隔,定期记录开始。 总的来说,测试是成功的。 但是,录制非常短的剪辑(约5秒)存在问题。 剪辑以较高的速度记录,并且长度小于设置的长度。 他们通过编辑openRTSP源解决了该问题:他们确保程序严格遵守用户输入的fps值,而不是取自SDP,并且丢掉了少于100个字节的帧。
我们考虑功能
经过成功的测试后,决定制作一个控制界面。 那时我开始熟悉网络,因此我决定制作一个网络版本。 用户端(前端)上的技术堆栈:HTML5,CSS3,JQUERY,AJAX。 在铁方面(后端):UHTTPD,CGI,BASH。 他们并没有对设计变得精明,而是使用了主页按钮的平铺布局。

管理和数据输入页面是使用JQUERY创建的。 随着管理注册
路由器的第一个成功成果,我们开始添加功能。 也许这是一个错误。 由于经验不足,我们忽略了测试。 现在,当有很多功能时,很难进行测试。 由于在开发之初就缺乏编写代码的纪律性,因此越来越难以理解所编写的内容。 失败有时会出现,我们当然会消除它们,但是在开发的早期阶段和阶段中这样做会容易得多。
因此,功能:
- 支持任何IP摄像机;
- 支持3G / 4G调制解调器;
- 记录在云存储(免费)和/或USB驱动器上;
- 定期录制和/或动态录制;
- 循环到磁盘;
- 设定滚筒的长度;
- 记录方式:按时间,按动,白天,黑夜;
- 停电时自主工作(约20分钟);
客户端实施
在录像机的设置菜单中,有6个按钮:WIFI,录制,摄像头,3G / 4G,存储和帮助。 因此,为了:
无线网络

您可以在此处配置wi-fi记录器。 WI-FI可以在两种模式下工作-“客户端”和“接入点”。 在“访问点”模式下,所有内容都清晰可见:通道号,SSID,加密类型,密码。 在“客户端”模式下,注册服务商连接到任何wi-fi接入点。
因此,在此模式下,不需要3G / 4G调制解调器。 为了使用户在客户端连接到接入点时不会丢失注册商,我们在物理上实现了转发器模式。
您唯一需要注意的是,在将注册商连接到接入点时,您需要检查用户的移动设备是否已“跳到”另一个wi-fi接入点,因为 Wi-Fi注册商接入点将在短时间内消失。 “恢复模式”字段可确保您不会“失去”注册服务商。 这是打开电源的有保证的时间,用户可以配置设备或打开接入点。 恢复模式后,它将自动进入主菜单页面。 该功能的这一部分仍在测试中并暂时禁用。
记录

日期和时间指示字段,菜单“设置时间”,“在本地存储中记录”和“在云存储中记录”。
时间设置。 通过单击“更改时间”按钮,您可以更改时间和日期。 同样,使用滑块设置一天的开始和结束的时间(对于每个人都是单独的)。 这样做是为了优化注册服务商在一天中不同时间的操作模式。
写入本地存储。 您可以在此处启用或禁用向外部媒体的记录,启用或禁用动态记录和/或定期记录,并能够设置记录的剪辑的长度和剪辑的记录时间(在定期记录模式下)。
写入云存储。 在此,如前段所述,配置了云存储中的记录。 添加了用于设置云服务的项目,您可以在其中指定要记录在哪个服务云上(暂时仅适用于Yandex磁盘),Yandex帐户的用户名和密码。
帮助

界面菜单项的内容以及每个菜单项的目的均由要点描述。
摄影机
摄像机的RTSP流地址。 可以通过访问IP摄像机设置页面找到该字段的数据。 将来,我们计划通过ONVIF接收此数据,并且该字段将自动填写。 虽然ONVIF在所有IP摄像机上的稳定运行只是梦dream以求的。
滚筒之间的延迟。 该参数确定录制动画时的暂停时间(以秒为单位)。 在运动记录模式下使用。 允许您在框架中不断或频繁移动来节省Internet流量。
来自摄像机的视频。 安装相机时,对控制记录的图像很有用。
3G / 4G

这将显示有关使用3G / 4G调制解调器的Internet连接的信息。 数据每3秒更新一次。 在安装摄像机时用于监视通信质量很有用。
储存方式

有两个子菜单-“本地存储”和“ Yandex.Disk”。 选择第一个时,我们进入连接的外部媒体的文件树,选择第二个时,我们进入Yandex.disk。
可以使用服务的内置播放器在Yandex.Disk上观看录制的视频。 此外,任何视频播放器都可以下载视频并在本地查看。 录制视频的存储组织如下:

CAM-用于记录来自注册服务商的视频的文件夹;
MOTION-文件夹,用于记录通过在框架中移动而录制的视频;
TIME-用于以指定频率录制视频的文件夹;
YYYY-MM-DD-白天录制的视频的文件夹;
DDMMYYYY-HH_MM_SS.mp4-以mp4格式录制的视频;
里面有什么? 服务器端实施
正如我在上面所写,带有OPENWRT的TP-LINK TL-MR3020路由器是第一个实验性的。 屏障断路器版本14.07。 在测试开始时,它是最新版本。 现在更新为LEDE。 OpenRTSP不在此版本的存储库中,因此我们自己添加了该实用程序,同时从中删除了所有多余的东西。
经过成功的测试后,我们开始考虑其他具有类似架构的路由器。 我们正在寻找一个在尺寸和特征上都更适合注册服务商的平台。 这个想法是,通过刷新任何具有修改固件的路由器,然后将IP摄像机与3G / 4G调制解调器连接,即可获得注册商。 测试了注册器功能的设备列表:
- TP-LINK TL-MR3020;
- 哈姆A5;
- CARAMBOLLA2;
- 取消广播;
- Skywork skw71;
- TP-LINK TL-MR10U(带电池);
- TP-LINK TL-MR3040(带电池);
- TP-LINK TL-MR3220 V:2.3(4个以太网端口);
在这种情况下,我们尝试在路由器板上进行尝试。 这个想法是,除了表壳外,没有其他东西伸出并且不会悬挂,并且表壳本身的尺寸很小。 因此,按照3G / 4G的计划,调制解调器应放在机箱内。 因此,我们得到了一个基于TP-LINK TL-MR3020板的
集体农庄街原型:




当然,我们更喜欢最小尺寸的路由器。 因此,我们决定尝试使用中文路由器HAME A5,并为其打印保护套,然后查看会发生什么情况:


在HAME A5上,我们的注册器固件不稳定,路由器不断挂机并重新启动。 最有可能的原因是严重的过热。 因此,我不得不放弃它,而选择了一个更可靠和更可靠的选择。
我们尝试了许多选择,但是没有什么比我的更好。 因此,他们决定使用CARAMBOLLA2的模块分配电路板,并考虑电池寿命的可能性。

CARAMBOLLA2的特征:
- 处理器AR9331,400 MHz;
- 64 MB DDR2 RAM;
- 16 MB闪存;
- 802.11 b / g / n,2.4 GHz,1x1 SISO,最大数据速率150MBps,21 dB输出功率;
- 电源电压3.3 V;
- 尺寸28 x 38毫米;
在设计电路板时,很明显它很小:


为什么不将其直接安装在相机中? 因此,我们立即为注册服务商解决此问题。 他们做到了。 这是发生了什么:




图为记录器板与机架上的摄像头板平行安装。 出于冷却芯片的原因,最好将IP摄像机与金属外壳一起使用并制造散热器,以便将热量散发到外壳上。 要连接3G / 4G调制解调器和/或USB驱动器,使用了标准的以太网IP摄像机线。 内置记录仪的摄像机具有自主功能,可提供700mAh 3.7V电池。 如果故意断电,电池功能将很有用。 该电池足以用相机进行DVR操作约20分钟。
给更多的相机!
此外,还进行了实验,以记录来自多个IP摄像机的视频。 实验表明,从2个IP摄像机录制视频的过程非常稳定,因此我们正在考虑在单独的情况下创建能够连接2个IP摄像机的录制器的可能性。 现在,我们正在使用三个和四个IP摄像机来测试注册服务商的工作。 结果尚不清楚。 摄像机将通过无源PoE由录像机供电。

例如,在安装具有监视区域交叉点的摄像机时,此选项的功能可能会很有用。 要使用大量相机,您可以朝着目前非常受欢迎的小型计算机的方向看。 但是您需要了解,此类设备的能耗要高一个数量级,价格也要高出一个数量级。
你叫什么船,所以它会航行
您可能会注意到黑板上的铭文。 我们认为无标题的项目毫无意义。 他们想出了一个谦虚的名字-“ Vip-Cam”(视频-IP-摄像机)。 好吧,带有多个摄像机的版本-“ Vip-Box”。
接下来是什么?
未来计划:
- 优化和测试代码。 获得稳定的工作装置;
- 通过网络应用程序菜单研究设置IP摄像机的可能性;
- 探索将DVR集成到智能家居系统中的可能性;
- 继续使用两个或更多IP摄像机测试DVR的操作;
- 使用太阳能电池对相机的操作进行测试;
- 对DVR进行修改,以支持2-x IP摄像机;
- 添加用于DVR和IP摄像机的远程配置的功能;
- 增加了远程点播视频的功能;
该项目的来源在
这里 。
因此,我们目前实现了云微型记录器的想法。 该项目是在您的空闲时间执行的,因此大大延迟了开发时间。 结果,我们有了一个小型DVR的工作原型,该原型可以将视频免费记录到云存储中。 仍然有很多工作要做,但是其中一项任务已经解决-制作高质量,无与伦比的注册商是很有可能的。 谢谢您的关注。