树莓派实现远程视频监控
使用树莓派进行远程实时视频流传输
摘要
目标:本文提出了一种可靠的实际时(实时)视频流媒体与监控系统的设计方案,该系统可在局域网/无线局域网(LAN/WLAN)上进行广播,并支持远程访问。方法/统计分析:所提出的系统设计采用树莓派和夜视摄像头,并使用Python编程语言进行编程。获取树莓派的IP地址后,设置VNC服务器以在主机设备上创建虚拟桌面,供远程用户使用。
主机设备是指与树莓派连接在同一局域网/无线局域网(LAN/WLAN)上的个人电脑/智能手机。在运行VNC查看器的主机设备上,VLC媒体播放器作为实时流媒体的源。
研究结果:过去,实时视频监控意味着需要使用庞大的设备,局限于大型场所,通常涉及闭路电视摄像头。而现代技术的进步、设备的易获取性以及可用性,使得各类设备连接更加便捷,弥合了虚拟世界与现实世界之间的差距。这使得安全和监控等不可或缺的概念变得更加便利,即使是远程用户也能轻松实现。基于上述理念,本文提出了一种高效、简洁而强大的实时视频流与监控系统设计方案。为有效实现该设计,采用了树莓派3B型与树莓派NoIR摄像头V2模块,通过Python编写的代码启动实时视频广播,并以VLC媒体播放器作为视频流传输媒介。同时,利用VNC服务器和查看器实现局域网内的远程连接。由于使用了夜视摄像头,用户即使在黑暗和低光环境下也能轻松监控目标区域。
Application/Improvements
所提出的系统由于其多功能性而具有大量应用。通过该设计,即使普通用户也能轻松实现便捷的实时视频流/监控。
关键词 :实时流媒体aming,Python,树莓派,视频监控,虚拟网络计算,VLC媒体播放器 er
1. 引言
拥有一个有效的视频监控系统不仅有益,而且为用户增加了安全感和舒适感。没有什么比拥有视觉证据更让人安心了。随着广泛应用的技术提供了极高的可用性,视频监控对普通用户而言已变得更加负担得起。现代技术提供的设备易于安装且操作方便。因此,可以有效地对家庭、超市、工厂、医院、酒店、银行和学校等场所的行为进行管理和监控,对用户来说变得更加容易,同时也提供了远程访问。以前,视频监控需要笨重的设置,仅限于大型场所,传统设置涉及闭路电视摄像头。高效利用技术和资源可以减少所有这些麻烦。proposed设计的主要目的是通过局域网/无线局域网上的VLC媒体播放器进行实时视频流,为远程用户提供简便监控。在设计实现中使用了树莓派和夜视摄像头模块。用于编程树莓派和启动实时视频,使用Python编程语言编写以广播到VLC媒体播放器。此外,采用虚拟网络计算在树莓派设备与主机设备之间建立远程连接,实现通过局域网的远程访问。
2. 系统设计与架构
所提出系统的框图如图1所示。树莓派与摄像头模块连接,并在其上以及主机上启用VNC服务器。经过身份验证的远程用户现在可以通过运行VNC查看器的主机设备(即个人电脑或智能手机)访问树莓派桌面,该设备通过局域网/无线局域网连接。一旦启动实时视频流的代码(Python脚本),VLC媒体播放器便开始在局域网上传输高清视频。
2.1 树莓派概述
所提出的系统采用图2所示的树莓派3B型实现。树莓派是一种低成本、一种高效、信用卡大小的计算机,可连接到计算机显示器或电视,并使用标准键盘和鼠标。树莓派3是第三代树莓派,于2016年2月取代了树莓派2B型。它是用途最广泛的科技设备之一。其功能包括:
- 博通BCM2837 64位ARMv8四核处理器,
- 1.2GHz 速度,
- BCM43143 Wi‐Fi,支持 IEEE 802.11b/g/n,
- 蓝牙、
- 1GB 内存和
- 40针扩展 GPIO。
树莓派是核心模块;最初连接到显示器,并接入局域网/无线局域网进行首次启动,然后配置其IP地址,之后可通过VNC(即虚拟网络计算)建立远程连接。一旦VNC服务器设置完成,即可通过装有VNC查看器的主机设备访问树莓派及其摄像头模块。树莓派3运行Raspbian操作系统,并使用Python进行编程。
2.2 将摄像头模块与树莓派连接
采用树莓派NoIR摄像头V2模块(图3)进行视频广播。Pi NoIR V2摄像头模块是为树莓派定制设计的附加夜视摄像头模块。它通过CSI总线连接到树莓派的摄像头接口,该总线即摄像头串行接口,专门用于连接摄像头。主要特性包括:
- 夜视功能。(不使用红外滤波器)
- 用于高质量成像的固定焦距镜头,
- 8百万像素原生分辨率传感器,可拍摄3280 x 2464像素的静态图像,以及支持1080p30、720p60和640x480p90视频。
树莓派摄像头连接到树莓派3开发板并通电。然后在树莓派图形用户界面中启用摄像头。完成此操作后,树莓派摄像头在接收到指令时可提供高质量的图像。并且由于它是一款夜视摄像头,也非常适合低光环境下的拍摄。
3. 远程安装
远程安装可使用户通过其他设备间接操作树莓派桌面界面。对于所提出的系统,树莓派与主机之间的远程连接是通过图4所示的RealVNC服务器建立的。VNC即虚拟网络计算,是一种图形桌面共享系统;它使用RFB(即远程帧缓冲)实现远程计算。设置完成后,为了建立远程连接,用户需要通过提供电子邮件地址和密码来注册该服务,以便在主机设备上对树莓派进行身份验证。一旦设置完成,需在主机上下载VNC查看器(图5),并使用先前提供的密码登录该服务。现已可在主机设备的窗口中访问已注册的树莓派桌面;VNC服务器会创建一个仅存在于树莓派内存中的虚拟桌面。
3.1 VLC媒体播放器(用于实时视频广播)
实时视频流是指通过互联网传输或接收事件的实时视频和音频内容。所提出的系统使用VLC媒体播放器,它作为从位于远程位置的树莓派进行实时视频流媒体传输的源或媒介,可通过局域网/无线局域网上的虚拟网络计算从主机设备访问。编写了一段Python代码,用于在主机的VLC媒体播放器上广播实时视频流。为此,VLC媒体播放器需下载到树莓派和主机上。将树莓派的IP地址输入VLC的网络流地址栏以启动流媒体(图6)。
4. Hardware 实现
proposed设计在系统执行中使用树莓派3开发板和树莓派NoIR摄像头V2模块作为主要组件。树莓派采用Raspbian操作系统,并使用Python进行编程,Python是一种功能强大且易于使用的编程语言,可实现系统与现实世界的连接。执行过程从最初启动树莓派开始。使用SD Formatter对16GB微型SD卡进行正确格式化,并安装最新的Raspbian操作系统。为此,从树莓派的官方网站下载ZIP文件格式的Raspbian操作系统。然后将下载的文件解压到微型SD卡中,再将其插入树莓派的SD卡插槽。接着通过HDMI转接电缆将树莓派连接到显示器,并正确连接键盘和鼠标等输入设备,最后使用2.5A微型电源供电启动USB电源或同等的电池组。安装Raspbian操作系统后,初始启动将如图7所示完成。然后,树莓派通过局域网/无线局域网连接到互联网,并获取树莓派的IP地址;同时启用摄像头接口和VNC服务器。为了通过VNC服务器建立远程连接,用户需要注册服务,提供有效的电子邮件地址和安全密码进行身份验证。现在VNC服务器已如图8所示设置完毕。在主机设备上下载VNC查看器,以远程访问树莓派桌面。VNC服务器会在VNC查看器中创建一个虚拟桌面,该桌面仅存在于树莓派的内存中。现在,在树莓派以及主机设备上均下载VLC媒体播放器,用于在局域网上传输实时视频广播。主机设备可以是任何个人电脑或智能手机连接到与树莓派相同的局域网/无线局域网(LAN/WLAN)的主机设备。现在,树莓派无需连接显示器即可实现远程连接。为了在主机设备上访问树莓派桌面,用户需要通过输入先前设置的密码登录VNC查看器。经过认证的设备默认以“Raspberry Pi”名称列出;点击该设备并输入密码即可建立树莓派与主机设备之间的连接。一旦连接成功,树莓派的图形用户界面(GUI)将显示在主机上的一个窗口中,如图9所示。要使摄像头开始实时流媒体并通过局域网在VLC媒体播放器上进行广播,需要在Pi终端运行相应的代码,以命令VLC开始访问摄像头。设计执行的代码使用Python编程语言实现。功能流程图如图10所示。
5. 结果与讨论
树莓派板与摄像头模块连接,通过电池组供电,并放置在无线局域网覆盖的区域用于远程监控。然后通过VNC服务器将其连接到主机,从而在运行VNC服务器的主机上访问树莓派桌面。在树莓派终端中输入启动实时流媒体至VLC媒体播放器的代码。一旦代码运行,便使用树莓派的“vid”命令立即启动摄像头进行视频采集,无延迟,随后将采集的图像垂直翻转,分辨率为800像素宽、400像素高,帧率为20帧每秒,即每秒捕获20张连续图像。之后,其输出被发送至VLC媒体播放器。命令其开始将传入的数据流传输到树莓派IP地址的8160端口;输出被编码为h264格式,该格式常用于高清视频文件。最后,在主机设备上打开VLC媒体播放器,并将树莓派的IP地址与HTTP协议输入网络流地址栏;然后点击“播放”即可开始实时流媒体。所提出的系统已实现并报告了结果。结果已在运行Windows操作系统的个人电脑和安卓智能手机作为主机的情况下进行了验证,如图11所示。当智能手机作为主机时,VNC服务器和VLC媒体播放器从谷歌应用商店下载,如图12所示。
6. 结论
本文阐述了一种简单而功能强大的实时视频监控系统的设计与实现。现代设备的易用性提高了用户对技术的操作熟练度。本设计优先考虑易于编程且性价比高的技术方案,采用树莓派作为核心模块。Python编程语言使得该系统能够有效地与现实世界连接。总体而言,该系统简化了在在线网络上搭建标准实时监控系统的复杂性。
更多推荐
所有评论(0)