内容简介:最近因为娃白天睡觉不太踏实,打算搞一个局域网实时监控,在娃睡觉时打开监控,如果这样就不用时不时的进去看看娃的状态了,本篇是在1.群晖NAS 一台,我用的是双盘位 DS218j2.树莓派 1 2 3 代随意,1 代就已经够用啦,并安装了 Raspbian
最近因为娃白天睡觉不太踏实,打算搞一个局域网实时监控,在娃睡觉时打开监控,如果这样就不用时不时的进去看看娃的状态了,本篇是在 树莓派 + PiCamera 打造局域网实时监控 – Version 1 基础上的升级版,第一版因为画面十分卡顿,原因是因为树莓派即要捕获视频又要进行压缩处理,导致性能跟不上,就放弃了,又上网搜寻了另外的教程,结果发现居然可以做成一个 RTSP(real time stream protocol, 实时串流协议) 视频推送服务,只管推送视频流,不用进行视频压缩处理,降低了系统开销,可以解决画面卡顿的问题。另外,今年 双11 剁手了一台戏称买软件送硬件的 群晖NAS 用来存储娃成长的照片,发现群晖的 Surveillance Station 支持添加自定义的 RTSP 设备,并且支持活动检测,于是就有了这个第二版实现。
需要的东西:
1.群晖NAS 一台,我用的是双盘位 DS218j
2.树莓派 1 2 3 代随意,1 代就已经够用啦,并安装了 Raspbian
3.树莓派摄像头模块 PiCamera
4.移动电源,方便给树莓派供电
5.无线网卡(仅 1 代需要,3 代已集成 wifi 芯片)
树莓派部分
1.树莓派摄像头配置
关于树莓派摄像头配置请参考 树莓派 + PiCamera 打造局域网实时监控 – Version 1 配置摄像头模块 部分
2.安装 VLC
VLC 是一款自由、开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,以及 DVD、音频 CD、VCD 及各类流媒体协议,通过以下命令安装 VLC
sudo apt-get install vlc
vlc 会提供一个命令行接口, cvlc ,我们用它来实现一个 rtsp 服务,视频来源于 raspbian 自带的应用 raspivid ,因此实现原理就是 raspivid 采集视频数据,并且通过管道符传递给 cvlc 提供视频推送服务
步骤如下:
a)在 home 目录下通过
nano stream-rtsp.sh
创建一个脚本
b)输入如下内容:
#!/bin/bash raspivid -o - -t 0 -w 1000 -h 576 -fps 20 -b 250000 | cvlc -vvv stream:///dev/stdin --sout '#rtp{access=udp,sdp=rtsp://:8554/stream}' :demux=h264
你可以视情况更改其中的 -w(视频宽度) -h(视频高度) -fps(每秒帧数) 和 –sout 里面的端口号,修改完后按 CTRL + x
保存退出,设置成上面命令里的值视频会比较流畅
c)赋予脚本可执行权限,在home目录下
sudo chmod +x stream-rtsp.sh
下来你就可以运行这个脚本进行测试了:
sudo ./stream-rtsp.sh
d)设置开机自启动,借助于 Screen 这款软件
1)安装 screen
sudo apt-get install screen
2)使用 nano 编辑 /etc/rc.local 文件,
# start streaming video su - pi -c "/usr/bin/screen -dmS stream /home/pi/stream-rtsp.sh"
树莓派的配置部分到此结束,下来一步步配置 群晖的 Surveillance Station 并添加设备
群晖NAS 部分
1. Surveillance Station 安装:
a)请确认计算机和 Synology NVR 已连接到相同本地网络。
b)打开浏览器,在地址栏内输入以下内容之一:
- find.synology.com(仅适用于计算机和 Synology NVR 皆连接到 Internet 的情况)
- NAS 服务器名称,接着输入 :5000 或 :5001,例如 http://diskstation:5000 或 https://diskstation:5001(具体名称取决于在初始设置中所作的设置)
- NAS IP 地址,接着输入 :5000 或 :5001,例如 http://192.168.48.14:5000 或 https://192.168.48.14:5001(IP 地址取决于初始 DSM setup 设置)
c)如果启用 Surveillance Station,在主菜单中将显示应用程序图标
d)单击 Surveillance Station 图标可在新窗口中启动它
2.添加 RTSP 设备
a) 打开刚才安装的 Surveillance Station,点击网络摄像机
b) 点击新增 -> 新增摄像机
c) 在品牌处选择 用户自定义,会跳到 rtsp 设备的添加界面
d) 依次填入 名称,类型和地址,注意地址应该按照提示的格式:
rtsp://[pi username]:[pi password]@[pi ip]:[pi port]/[resource url]
例如:
rtsp://pi:raspberry@192.168.1.100:8554/stream
可以点击测试连接按钮,测试一下是否配置正确,如果正确应该会显示图像,这样树莓派就和群晖 NAS 连接起来啦。
手机部分
这次我们不直接打开网页了,而是用到群晖开发的一款叫做 DS Cam的软件,可以方便的查看实时画面,和历史保存视频,支持多机位同时监控。
iOS版(请自行在 App Store 中搜索 DS Cam 下载),
安装完成后填入 群晖NAS 的 QuickAccessID,用户名和密码即可查看监控画面,也可以查看之前录制的视频,最后上一张它们的合影吧(纸盒子里是树莓派 1 代,树莓派的下面是充电宝)
参考链接
ACHIEVING HIGH FRAME RATE WITH A RASPBERRY PI CAMERA SYSTEM博主开通了微信公众号,欢迎关注啦
以上所述就是小编给大家介绍的《树莓派 + PiCamera 打造局域网实时监控 – Version 2》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 树莓派 + PiCamera + motion 打造局域网实时监控
- 树莓派 + PiCamera 打造局域网实时监控 – Version 1
- 个人的局域网网络设置整理
- 局域网搭建 Docker Registry
- 创建局域网Git服务器
- golang实现局域网内简单文件服务
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
C++ API设计
[美] Martin Reddy / 刘晓娜、臧秀涛、林健 / 人民邮电出版社 / 2013-8 / 89.00
现代软件开发中的一大难题就是如何编写优质的API。API负责为某个组件提供逻辑接口并隐藏该模块的内部细节。多数程序员依靠的是经验和冒险,从而很难达到健壮、高效、稳定、可扩展性强的要求。Martin Reddy博士在自己多年经验基础之上,对于不同API风格与模式,总结出了API设计的种种最佳策略,着重针对大规模长期开发项目,辅以翔实的代码范例,从而有助于设计决策的成功实施,以及软件项目的健壮性及稳定......一起来看看 《C++ API设计》 这本书的介绍吧!