摘要:Linode Server:远程监控 iPhone 录像。
一直以来,我们都希望能够远程监控家中的场景。尽管市面上有许多可以购置的监控设备,但它们往往价格昂贵,而且并不支持一键备份。为了解决
Linode Server:远程监控 iPhone 录像。
一直以来,我们都希望能够远程监控家中的场景。尽管市面上有许多可以购置的监控设备,但它们往往价格昂贵,而且并不支持一键备份。为了解决这些问题,我们可以考虑使用 iPhone 来作为监控设备,并通过 Linode Server 云服务器来实现远程监控和录像(当然,本方案同样适用于 iPad 和 iPod touch 等 iOS 设备)。
1. Linode Server 平台的选取
首先,我们需要选择适合自己的 Linode Server 机型和套餐。不同类型的 Linode Server 机型与套餐提供的资源有所区别,每个套餐都包含不同容量的内存、存储空间、带宽,由于远程监控是一个耗费带宽、存储、内存的任务,因此我们需要选择内存最少为2GB、硬盘最少为50GB、带宽最少为100Mbps的套餐进行配置。建议选择日本或其他亚洲地区机房,这样可以降低延迟,更加稳定。
2. 操作系统和软件安装
选定合适的套餐后,我们需要选择合适的操作系统。在这里,我们选择 \\Ubuntu 18.04 LTS 64-bit 进行安装。
接下来,我们需要安装相关的监控软件。在本案例中,我们选择 Python 开源监控软件 Motion,这是一个比较成熟且易于配置使用的监控软件。Motion 支持多摄像头监控,在本案例中我们只使用 iPhone 一个摄像头进行监控,因此只需配置单个监控摄像头即可。
3. 配置 Motion 监控摄像头
要让 Motion 能够正确处理 iPhone 的视频流,我们需要在 Motion 配置文件中进行如下功能性配置:
(1) 配置视频流输入来源:
首先,我们需要将 iPhone 的视频流拉起并重定向到本地服务器。我们可以使用 FFmpeg 或者 YUV4MPEGpipe 等工具来实现这个目标。例如,我们可以使用如下命令来启动视频流捕捉:
ffmpeg -f avfoundation -i \"default\" -r 10 -s 640x480 -f mjpeg -q 5 http://[remote_ip_address]:8082/videostream.cgi?user=[user]&password=[password]
此命令中,-r 代表视频帧率,-s 代表分辨率,-f 代表视频编码格式,-q 代表视频质量(1-31,质量越好,数值越大)。
说明:remote_ip_address 是公网 IP,user 和 password 是登录用户和密码,这些在本地 UVC Camera 支持相应设置。
(2) 配置监控输出:
Motion 可以使用两种方式来实现监控输出:直接录制视频文件和 live streaming。为了方便之后的文件备份,推荐使用第一种方式。这可通过如下配置来实现:
target_dir /mnt/data/motion/
output_pictures off
ffmpeg_output_movies on
output_normal off
movie_filename %Y%m%d-%H%M%S-motion
此配置指定了视频输出目录,并指定了输出文件名格式。
(3) 配置监控摄像头:
Monitor 段中可以设置一个或多个 camera,每个 camera 代表一个监控摄像头。我们可以用如下配置文件来配置监控摄像头:
ffmpeg_cap_new on
netcam_url http://[remote_ip_address]:8082/videostream.cgi?user=[user]&password=[password]
netcam_userpass [user]:[password]
framerate 10
netcam_highres off
width 640
height 480
此配置先预定义了一个 ffmpeg_cap_new option,它是负责捕捉异步视频流并定期发送新镜头数据的设备设置,然后它根据上述的视频输入方式进行定义,其它选项也是常用的一些配置信息,如帧率、分辨率等。
以上配置中 remote_ip_address 和 user 等均为上述 FFmpeg 命令中相同的变量,width 和 height 分别代表视频宽度和高度。如果我们的 iPhone 支持多种分辨率和帧数,我们需要根据自己的网络带宽和摄像头需求进行不同的参数选择。
通过以上三步配置,我们就可以远程管理我们自己的家庭监控了。
在远程访问时,我们可以通过浏览器访问 Linode Server 公网 IP 地址,进行 video stream 预览。这里推荐使用 Chrome 或者 Firefox 等浏览器并下载 webm 安装插件来预览视频。
Luobo.ai 上序言:
本方案需具备一定的计算机操作和 Python 基础,如果您遇到了问题,请到官方论坛寻找帮助。 如想要了解关于 Linode Server 的使用和操作,请到 Luobo.ai 相关教程了解。