使用网络摄像头/摄像头 (USB) 录制单个图像后,您可能还想查看实时图像。这可以在智能手机或来自家庭网络外部的 PC 上进行。本文将向您展示如何配置直播 Raspberry Pi 安全摄像头。
最棒的是几乎可以使用任何 USB 摄像头(以及网络摄像头)。例如,根据位置的不同,不带红外滤光片的相机可能更适合夜间拍摄。
所需设备
如果要连接USB摄像头,树莓派显然有一个空白的USB端口。但是,您也可以使用官方相机,有两个版本:
- 绿色标准版有8MP:可以录制1080p的视频。由于配备了红外滤光片,因此特别适合记录日光或光线充足的地方。
- Black NoIR 版本:规格(分辨率等)相同,但未安装红外滤光片,可以更好地记录恶劣的照明条件。特别推荐在黑暗场景中使用此选项。
两个摄像头都可以通过CSI接口直接连接,不使用USB端口。较新的零模型(第 2 代)现在也有一个 CSI 端口。
此外,只要有适用于 Linux 的相应驱动程序,任何 USB 网络摄像头都可以使用。如果树莓派没有内置 WiFi 适配器,则需要改造为网络连接,否则无法避免上网。
准备直播
在激活 Raspberry Pi 摄像头流或 USB 网络摄像头之前,您需要更新软件包:
sudo apt-get update sudo apt-get upgrade
然后您可以安装 Motion 工具,这使得直播成为可能。
sudo apt-get install motion-y
安装需要一段时间。
如果到目前为止一切正常,则可以连接相机。如果您使用的是 USB 网络摄像头,您可以检查它是否已被检测到:
lsusb
如果不需要特殊驱动,所有连接的摄像头/视频设备都会显示出来,命令如下:
ls/dev/video*
如果您使用的是官方相机模块之一,请务必执行以下操作以使相机立即显示。
sudo modprobe bcm2835-v4l2
如果只连接了一个树莓派/网络摄像头,使用/dev/video0,设备将被分配。如果连接了多个设备,您必须选择要流式传输的设备。
配置直播树莓派
设置一些后续设置的步骤,我们需要查看相机细节:
v4l2-ctl-V
以 USB 网络摄像头为例,文章作者收到以下输出。我们会立即在配置文件中指定解析等信息。
pi@raspberrypi:~ $ v4l2-ctl-V 格式视频捕获:宽度/高度:640/480 像素格式:'YUYV' 字段:无每行字节数:1280 大小图像:614400 色彩空间:SRGB 标志:
随意编辑Motion的配置文件:
sudo nano/etc/motion/motion.conf
必须调整以下几行(变量可以通过CTRL
+ W
搜索):
# 以守护进程(后台)模式启动并释放终端(默认:关闭)守护进程开启。 # 限制流连接到本地主机(默认:开启) stream_localhost off 。 # 图片和电影的目标基目录 # 建议使用绝对路径。 (默认:当前工作目录) target_dir/home/pi/Monitor
以下几行也应该修改:
v4l2_palette 15 # Nummer aus der Tabelle davor entnehmen, 15 enstpricht YUYV 。 # 图像宽度(像素)。有效范围:取决于相机,默认值:352 宽度 640 # 图像高度(像素)。有效范围:取决于相机,默认值:288 高度 480 # 每秒要捕获的最大帧数。 # 有效范围:2-100。默认值:100(几乎没有限制)。帧率 10
使用快捷键 CTRL
+ O
保存更改并使用 CTRL
+ 关闭X
。其他选项(端口等)也可以稍后调整(需要重启)。
现在,您必须启用守护进程以稍后运行服务:
sudo nano/etc/default/motion
在以下命令中将No替换为Yes:
start_motion_daemon=yes
您现在必须创建之前指定为捕获帧的存储位置的目录,并为其授予必要的录制权限:
mkdir/home/pi/Monitor sudo chgrp motion/home/pi/Monitor chmod g+rwx/home/pi/Monitor
然后就可以启动服务了:
sudo 服务动作启动
测试 Raspberry Pi 直播监控摄像头
检查相机是否真的直接发送图像,基本上有两种选择:一个简单的方法是使用浏览器(Mozilla Firefox、Chrome等)和树莓派紧随其后。是端口(默认值:8081)。如果你没有更改主机名和端口,你将可以看到流:http:///raspberrypi: 8081/(或者,可以使用本地IP地址,例如 192.168.1.51:8081).
一些较旧的浏览器(如 Internet Explorer)不支持此流。例如,这些用户可以选择在 VLC Player 上进行直播。为此,只需打开 VLC 播放器并在 媒体 菜单 > 中指定;打开网络流(CTRL
+N
)上面的地址。这也可以在适用于智能手机和平板电脑(Android、Apple)的 VLC Player 中完成:在菜单中选择打开媒体地址,IP 地址包括端口。
根据指定的帧率(在配置文件中),图像可能更好也可能不好。当然,相机也必须支持那个帧率。
在家庭网络之外提供直播
因为在专用网络中查看摄像头没有多大意义,人们通常希望从外部访问它。为此,您需要一个固定的 IP 或 DNS 服务。
注意: 理论上可以不使用静态IP地址,但缺点是每次重新连接后都会得到一个新的IP地址。由于提供商(大约每天一次,通常在晚上)被迫重新连接路由器,因此强烈建议使用 DNS 服务,因为 DNS 地址不会改变。
另外,您必须在路由器中打开选定的端口(例如8081)才能进行端口转发。这意味着您可以从网络外部分配此端口并连接到它。
在Port forwarding 标头或类似标头中,您可以指定为特定的本地 IP 地址打开端口。示例路由器如下所示:
指定为特定的本地 IP 地址打开端口大多数路由器的菜单都可以通过浏览器通过192.168.1.1或192.168.0.1访问。
如果你使用VLC Player,当然,现在你必须用DNS或静态IP地址替换你之前指定的本地IP地址(端口还是一样的)。某些路由器在家庭网络中可能无法做到这一点。
对于家庭测试,例如,您可以使用手机上的移动数据。关掉WiFi,看看能不能看树莓派监控摄像头的直播。根据您的互联网连接(上传速度),图片可能会有点慢。
0 评论