树莓派开始,玩转Linux11:你是我的眼

阅读: 评论:0

树莓派开始,玩转Linux11:你是我的眼

树莓派开始,玩转Linux11:你是我的眼

树莓派开始,玩转Linux11:你是我的眼

树莓派官方出品有小型摄像头,用于录制视频或拍摄图片。树莓派加上小型摄像头,就构成了一个好玩的移动摄影装置。
最新的官方摄像头版本是V2,配有8M像素的Sony IMX219感光板,可以满足一般的摄影摄像需求。V2摄像头又可以分为两款。
一款摄像头用于正常的可见光拍摄,名为Pi Camera V2;
另一款摄像头带有红外夜视功能,名为Pi NoIR Camera V2。
本章的内容同时适用于这两种摄像头。

1.摄像头的安装与设置:

树莓派摄像头安装在一个方形的电路板上,从电路板上伸出一根柔软的排线。我们需要把摄像头的排线插入树莓派上的"camera"接口。首先抬起接口的盖子,然后放入排线,最后把盖子重新装回去,如图所示。

安装好摄像头后,打开树莓派。首先更新Raspbian系统的软件源并升级:

其次,我们要在树莓派设置中,启动摄像头模块,用命令进入设置页面:


在设置页面中选择启动摄像头。

2.摄像头的基本使用:

设置完成后,摄像头就可以工作了。
Raspbian提供了raspistill和raspivid两个工具,分别用于获得图片和视频。

1.用摄像头拍照
我们用raspistill拍照:

拍照获得的图片保存为文件image.jpg。你可以用文件管理器找到并查看该照片。

2.用摄像头录视频
我们可以用raspivid录视频:

获得10秒H.264压缩格式的视频,存入文件video.h264。

我们可以把H.264文件转换为更常见的MP4视频文件格式。GPAC是一款多媒体框架,提供了视频格式转换的功能。
安装GPAC:

用GPAC中的MP4Box把文件转换为video.mp4:

大部分视频播放器都可以播放MP4视频。在Raspbian中播放video.mp4:

这里的omxplayer是Raspbian中的视频播放器。

3.用VLC做网络摄像头:

除了直接录制视频文件,树莓派的摄像头还能拍摄流媒体,用于网络播放。
Raspbian下有很多工具可以实现这一功能,这里介绍VLC的用法。

VLC是大名鼎鼎的视频播放软件,支持包括Raspbian在内的多个平台。
在Raspbian下安装VLC,作为流媒体的服务器:

利用Linux下的管道机制,把raspivid拍摄的内容导入VLC:

选项-n说明了不显示预览窗口。随后VLC作为服务器,将流媒体送到树莓派的8160端口。同一网络的任意装有VLC的设备都可以通过访问树莓派的IP地址和8160端口来播放摄像头拍摄的内容。比如树莓派在笔者的局域网中的IP地址是192.168.1.27,那么在手机版VLC的网络媒体源中输入下面网络源:

就可以在同一局域网下查看该网络摄像头的实时视频。

我们用树莓派制作了一个可移动的网络摄像头。更进一步,我们可以通过隧道的方式把视频内容绑定到某个互联网服务器上,从而在互联网范围内发布该网络摄像头。实现隧道的方法已经在第8章中介绍过了。

4.用Motion做动作捕捉:

Motion是Linux下一款轻量级的监控软件。在日常工作模式下,Motion可以提供网络摄像头的功能。在拍摄过程中,当画面发生变动时,Motion可以保存动作发生时的图片和视频。动作捕捉的功能对于安保监控有很大帮助。我们配合Motion来使用树莓派摄像头。

1.使用Motion
首先,下载安装Motion:

修改/etc/default/motion,更改设置,让Motion启动后台的守护进程:

然后,修改Motion的配置文件/etc/f,更改下面几个值为:

让Motion作为背景的守护进程运行。


如果是on,那么只有树莓派自己可以看到流媒体。如果是off,那么网络上的其他主机也可以看到。


表示流媒体的帧速率最大为每秒30帧。


表示摄像头捕捉视频的帧速率为每秒30帧。
选项修改好之后,就可以启动Motion了:

现在摄像头已经在录制流媒体了。在同一局域网下,用浏览器打开192.168.8.113:8081这一网址,可以直接看到即时拍摄的流媒体。
此外,Motion还可以进行动作捕捉。如果你在摄像头前挥手,那么Motion会捕捉这一动作,并把相关的图片和视频存储在目录/var/lib/motion之下。

2.Motion的其他设置
Motion的主要设置都在/etc/f文件中。除上面我们修改的配置外,文件中还有许多其他选项,这里选择一些重要的配置进行介绍。

(1)target_dir:该选项的默认值为/var/lib/motion。这就是Motion存储动作捕捉结果的地方。Motion的进程是以用户motion的身份运行的,所以用户motion必须对该目标文件夹有写入权限。本书的第18章会介绍用户权限的相关内容。
(2)stream_port:流媒体的输出端口,默认值是8081,也就是我们刚才访问流媒体的端口。如果有需要,可以更改输出端口。
(3)threshold:动作捕捉阈值,默认值为1500。如果有超过阈值的像素点发生变化,那么认为有动作发生。
(4)videodevice:该项默认为路径/dev/video0。这个路径对应了默认的视频设备。如果你无法在/dev下找到video0,那么可以尝试加载V4L2驱动来解决问题:

本文发布于:2024-01-29 02:29:56,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170646660112056.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:你是   玩转   树莓派
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23