5步DIY网络摄像机

IP 摄像机不必花费太多。例如,使用 Raspberry Pi Zero W 和相机模块,您可以相对轻松地制作出一款出色且特别紧凑的相机,并使用它来设置 rtsp 流媒体服务器。在本文中,您将学习如何做到这一点,然后在 Synology 或 QNAP NAS 上的 Surveillance Station 中使用摄像头。

您当然可以在中国购买配备所有配件的廉价 IP 摄像机,但它们通常安全性差且难以设置。如果您自己构建它并不会立即便宜,但您会更灵活,最重要的是它既有趣又具有教育意义。我们使用 Raspberry Pi Zero W(约 11 欧元)和官方 8 兆像素相机模块 v2(29.95 欧元)。它具有出色的 Sony IMX219 传感器。还提供 NoIR 变体,可在黄昏时提供更好的图像。如果将它们与红外 LED 结合使用,您还可以获得良好的夜间图像(灰度)。如果您想省点钱,您可以在中国找到价格实惠的替代品,价格在 8 欧元左右。您还需要一个用于软件的微型 SD 卡和一个带有微型 USB 的电源适配器,最好能提供至少 1.2 安培的电流。

01 什么软件?

有许多方法可以从 Raspberry Pi Zero W 进行流式传输。 除了相机模块之外,大多数方法还支持 USB 相机或网络摄像头,您可以通过 USB-on-the-go 电缆连接到 Pi Zero W。无论您选择哪种方法:鉴于处理能力相当有限,最好将运动检测留给 Surveillance Station 等视频监控软件。一个众所周知的选项是motionEyeOS,它有一个很好的网络界面来配置相机。缺点是延迟相对较大,即使有选项 快速网络摄像机 你也失去了许多其他选择。因此,我们选择设置手动流。

02 树莓派安装

我们从安装 Raspbian Buster Lite 开始。获取最新版本。下载后解压压缩包,使用balenaEtcher将img文件放到micro-sd卡上。在使用 micro-sd 卡启动 Pi 之前,添加根目录(其中还包含文件 内核文件 state) 一个名为的文本文件 wpa_supplicant.conf 与下面的规则。把它放在后面 ssid 您的 WiFi 网络名称并填写 psk 密码。在同一个文件夹中,创建一个名为的空文件 ssh 这样你就可以在启动后通过shell登录。

国家=荷兰

更新配置=1

ctrl_interface=/var/run/wpa_supplicant

网络={

scan_ssid=1

ssid =“你的”

psk=“你的密码”

}

Pi Zero W 启动后,您可以从路由器的配置页面(如果一切顺利)找到路由器的 DHCP 服务器分配的 IP 地址。使用 PuTTY 等程序通过 ssh 登录该 IP 地址,并使用默认用户名 pi 和相应的密码 覆盆子.然后最好更改这些登录详细信息。

03 安装rtsp服务器

使用以下命令确保 Pi 是最新的:

sudo apt-get 更新

sudo apt-get dist-upgrade

使用 sudo raspi-config 打开 Pi 的配置页面。激活方式 接口选项 相机模块。您可以使用以下命令激活 video-for-linux 内核驱动程序:

须藤 modprobe bcm2835-v4l2

检查您是否有 /开发/视频0 有:

须藤 ls -la /dev/vid*

使用以下命令安装工具 git 和 cmake:

sudo apt 安装 git cmake

之后,您可以使用以下命令编译并提供支持 h.264 等的 rtsp 服务器:

git clone //github.com/mpromonet/v4l2rtspserver.git

cd v4l2rtspserver

制作。

制作

须藤制作安装

04 启动rtsp流

例如,您从文件夹启动流 v4l2rtspserver 的:

./v4l2rtspserver -F 10 -W 1920 -H 1080

启动 rtsp 服务器后,您可以阅读任何错误消息和表单中的流链接 rtsp://ipaddress:8554/unicast.例如,您可以在 VLC 播放器中使用它连接到摄像机,也可以在 Surveillance Station 中使用它,如下所示。随着选项 -你的用户:密码 输入用户和密码以保护流。在这种情况下,指向 rtsp 流的链接采用以下形式 rtsp://user:password@ipaddress:8554/unicast.处理器负载仍然非常有限,gpu 完成了大部分工作,这一点很不错。

05 服务器自动启动

我们希望 rtsp 服务器在打开 Pi 后自动启动。为此,请创建一个简单的脚本:

须藤纳米 /etc/systemd/system/v4l2rtspserver.service

这包括以下规则:

[单元]

说明=v4l2rtspserver rtsp-server

之后=网络.目标

[服务]

ExecStartPre=/usr/bin/v4l2-ctl --set-ctrl vertical_flip=1

ExecStartPre=/usr/bin/v4l2-ctl --set-ctrl h264_i_frame_period=5

ExecStart=/home/pi/v4l2rtspserver/v4l2rtspserver -F 10 -W 1280 -H 720

ExecReload=/bin/kill -HUP $MAINPID

类型=简单

用户=pi

组=视频

重启=总是

[安装]

WantedBy=multi-user.target

回来看看 执行开始 v4l2rtspserver 的位置。您可以尝试一些选项(例如 垂直翻转 用于图像旋转)。使用以下命令激活脚本:

须藤 systemctl 启用 v4l2rtspserver

并使用以下命令启动脚本:

须藤 systemctl 启动 v4l2rtspserver

将摄像机图像添加到 Surveillance Station

您可以通过手动指定摄像机轻松使用 Surveillance Station 中的摄像机图像。使用此软件,图像的延迟似乎非常有限。而在 VLC 播放器中大约是两秒钟,而在 Surveillance Station 中的延迟只有大约一秒钟。这看起来很多,但从 Raspberry Pi 进行流式传输的许多其他方法通常会有 4 秒或更长时间的更大延迟。

最近的帖子

$config[zx-auto] not found$config[zx-overlay] not found