树莓派 + PiCamera 打造局域网实时监控 – Version 2

最近因为娃白天睡觉不太踏实,打算搞一个局域网实时监控,在娃睡觉时打开监控,如果这样就不用时不时的进去看看娃的状态了,本篇是在 树莓派 + 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

博主开通了微信公众号,欢迎关注啦

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.