ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

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

2021-04-29 10:04:26  阅读:290  来源: 互联网

标签:视频 树莓 Linux11 Motion 流媒体 玩转 motion 摄像头


树莓派开始,玩转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/motion/motion.conf,更改下面几个值为:
在这里插入图片描述
让Motion作为背景的守护进程运行。

在这里插入图片描述
如果是on,那么只有树莓派自己可以看到流媒体。如果是off,那么网络上的其他主机也可以看到。

在这里插入图片描述
表示流媒体的帧速率最大为每秒30帧。

在这里插入图片描述
表示摄像头捕捉视频的帧速率为每秒30帧。
选项修改好之后,就可以启动Motion了:
在这里插入图片描述
现在摄像头已经在录制流媒体了。在同一局域网下,用浏览器打开192.168.8.113:8081这一网址,可以直接看到即时拍摄的流媒体。
此外,Motion还可以进行动作捕捉。如果你在摄像头前挥手,那么Motion会捕捉这一动作,并把相关的图片和视频存储在目录/var/lib/motion之下。

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

(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驱动来解决问题:

在这里插入图片描述

标签:视频,树莓,Linux11,Motion,流媒体,玩转,motion,摄像头
来源: https://blog.csdn.net/weixin_40734514/article/details/116258985

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有