请选择 进入手机版 | 继续访问电脑版

『瀚思彼岸』» 智能家居第一站

 找回密码
 立即注册
查看: 3005|回复: 112

[基础教程] 小白第一帖~USB摄像头通过MJPEG_streamer接入hass,图像识别

  [复制链接]

1

主题

101

帖子

378

积分

论坛分享达人

积分
378
金钱
277
HASS币
0
发表于 2018-1-24 13:26:08 | 显示全部楼层 |阅读模式
本帖最后由 ivemcel 于 2018-1-24 20:35 编辑

"MJPG-streamer",是用于从webcam摄像头采集图像,把它们以流的形式通过基于ip的网络传输到浏览器如Firehox,chrome,VLC播放器,Windows的移动设备或者其他拥有浏览器的移动设备。它可以利用某些webcams的硬件压缩功能来降低服务器CPU的开销。
它为嵌入式设备和一些常规服务器提供了一个轻量且更少CPU消耗的方案,因为它无需为视频帧压缩浪费大量的计算效率(这件事交给硬件了)。

我是在树莓派接入了Logitech罗技摄像头(免驱动),我也用Raspberry Pi Camera模块测试了下也可以实现网络视频监控,下面介绍下安装过程

                               
登录/注册后可看大图

                               
登录/注册后可看大图

建议用官方源地址,避免入坑
源就是来源。就是你安装软件时,程序从哪里获取软件包,安装程序在你的机器上,但需要安装的东西却在软件源服务器上。
其实你可以把他称为软件仓库。安装软件时,就是从仓库里面调取数据放在你的机器上。

把摄像头接入树莓派后,运行命令lsusb查看摄像头是否被识别,也可通过命令 ls /dev/vid*查看是否存在video0设备(经测试罗技C270摄像头可以用)
1.先更新软件源服务器地址
sudo apt-get update  
sudo apt-get upgrade
APT:Advanced Package Tool
apt-get是某些linux发行版使用的一个"包管理器".包管理器的作用是从源(Source)服务器那里下载最新的软件包列表,
apt-get upgrade,则是对已经安装的软件包本身进行更新的过程。由于确定要更新的软件包需要对本地安装的版本和列表的版本进行比较,所以要在update以后运行这一条。
(deb是Debian软件包格式的文件扩展名,类似于windows中的软件包exe)
主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。
UPDATE: update is used to download package information from all configured sources.UPGRADE:  
upgrade is used to install available upgrades of all packages currently installed on the system from the sources configured via sources.list

2.安装依赖库libjpeg

sudo apt-get install libjpeg8-dev
sudo apt-get install imagemagick
sudo apt-get install libv4l-dev


3.下载并解压mjpg-streamer

wget https://github.com/jacksonliam/mjpg-streamer
unzip mjpg-streamer-master.zip


4.安装cmake并编译

sudo apt-get install cmake
然后切换到mjpg-streamer的路径下分别输入
cd ~/mjpg-streamer-master/mjpg-streamer-experimental
sudo make clean all


5.安装mjpg-streamer
sudo cp  mjpg_streamer  /usr/local/bin    /*将文件mjpg_streamer复制到/usr/local/bin文件夹中*/
sudo cp  output_http.so  input_uvc.so  /usr/local/lib/
sudo cp  -R  www  /usr/local/www


6. 开启mjpg-streamer

LD_LIBRARY_PATH=/usr/local/lib  mjpg_streamer -i "input_uvc.so" -o "output_http.so -w /usr/local/www"
(打不开多试几次)

参数解释
-i: 输入(待完善)
-o: 输出(待完善)
-d: 获取图像的设备
-r: 分辨率(具体列表可参见八)
-f: 帧率
-y: 如果你的摄像头不支持MJPEG格式, 我们用 ‘-y’ 指定使用YUYV 格式,而不是MJPEG格式。
-p: 视频服务器发布的端口号
-w: web服务目录
-c: 设置查看所需的用户名和密码
安装完成后在cofiguration.yaml配置下程序
游客,如果您要查看本帖隐藏内容请回复

QQ截图20180124135808.jpg
接入摄像头后参考L大 的人脸识别帖子,成功实现人脸识别自动化语音播报,现在在弄图像识别比如识别到继电器后打开继电器等等有兴趣的搞起来啊,还是利用百度的平台。

参考文档:mjpg-streamer:http://blog.csdn.net/czy_1125/article/details/52636699
L大人脸识别:https://bbs.hassbian.com/forum.p ... 8%E8%AF%86%E5%88%AB








接入hass显示页面

接入hass显示页面

mjpg页面

mjpg页面
camera.jpg

评分

参与人数 3金钱 +31 收起 理由
lidicn + 12 我来瀚思就为看你!
咸味土豆 + 7 厉害,同样的摄像头,终于有教程了,谢谢。.
Jones + 12 牛了牛了!

查看全部评分

回复

使用道具 举报

76

主题

2239

帖子

7173

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
7173
金钱
4904
HASS币
34
发表于 2018-1-24 13:27:36 | 显示全部楼层
很好,建议再排排版,加些图片:)

权限先加上!
回复

使用道具 举报

1

主题

101

帖子

378

积分

论坛分享达人

积分
378
金钱
277
HASS币
0
 楼主| 发表于 2018-1-24 13:45:20 | 显示全部楼层
enen 多谢哈哈
回复

使用道具 举报

76

主题

2239

帖子

7173

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
7173
金钱
4904
HASS币
34
发表于 2018-1-24 13:49:52 | 显示全部楼层
接入hass的配置呢,这些代码最好以代码的形式插入进去。找一找编辑界面,有个插入代码的<>标志。
回复

使用道具 举报

84

主题

1000

帖子

1910

积分

论坛分享达人

砖家

积分
1910
金钱
910
HASS币
0

活跃会员

发表于 2018-1-24 17:13:49 | 显示全部楼层
你这摄像头咋看着像电视上的~~
回复

使用道具 举报

1

主题

101

帖子

378

积分

论坛分享达人

积分
378
金钱
277
HASS币
0
 楼主| 发表于 2018-1-24 17:30:51 | 显示全部楼层
本帖最后由 ivemcel 于 2018-1-24 20:30 编辑

那个是从网上截图的,换了个自己拍的图片。
回复

使用道具 举报

13

主题

635

帖子

1733

积分

金牌会员

Rank: 6Rank: 6

积分
1733
金钱
1088
HASS币
0

活跃会员

发表于 2018-1-24 20:44:03 | 显示全部楼层
自己试了好几个网上搜的教程都不行,多谢分享。
回复

使用道具 举报

13

主题

635

帖子

1733

积分

金牌会员

Rank: 6Rank: 6

积分
1733
金钱
1088
HASS币
0

活跃会员

发表于 2018-1-24 21:03:19 | 显示全部楼层
本帖最后由 咸味土豆 于 2018-1-26 13:09 编辑

更新,今天又尝试了一下,居然可以了,非常感谢。应该得加一些参数,看输出信息不太对劲。
[AppleScript] 纯文本查看 复制代码
i: Using V4L2 device.: /dev/video0
 i: Desired Resolution: 640 x 480
 i: Frames Per Second.: -1
 i: Format............: JPEG
 i: TV-Norm...........: DEFAULT
UVCIOC_CTRL_ADD - Error at Pan (relative): Inappropriate ioctl for device (25)
UVCIOC_CTRL_ADD - Error at Tilt (relative): Inappropriate ioctl for device (25)
UVCIOC_CTRL_ADD - Error at Pan Reset: Inappropriate ioctl for device (25)
UVCIOC_CTRL_ADD - Error at Tilt Reset: Inappropriate ioctl for device (25)
UVCIOC_CTRL_ADD - Error at Pan/tilt Reset: Inappropriate ioctl for device (25)
UVCIOC_CTRL_ADD - Error at Focus (absolute): Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at Pan (relative): Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at Tilt (relative): Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at Pan Reset: Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at Tilt Reset: Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at Pan/tilt Reset: Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at Focus (absolute): Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at LED1 Mode: Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at LED1 Frequency: Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at Disable video processing: Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at Raw bits per pixel: Inappropriate ioctl for device (25)
 o: www-folder-path......: /usr/local/www/
 o: HTTP TCP port........: 8080
 o: HTTP Listen Address..: (null)
 o: username:password....: disabled
 o: commands.............: enabled

---------------------------------------------
报错信息:

[AppleScript] 纯文本查看 复制代码
MJPG Streamer Version.: 2.0
i: Using V4L2 device.: /dev/video0
i: Desired Resolution: 640 x 480
i: Frames Per Second.: -1
i: Format............: YUYV
i: JPEG Quality......: 80
i: TV-Norm...........: DEFAULT
Unable to set format: 1448695129 res: 640x480
Init v4L2 failed !! exit fatal 
i: init_VideoIn failed


默认帧率 80? 尝试加参数又提示我找不到输入插件行,这种需要自己编译的东西折腾起来真要命。

回复

使用道具 举报

1

主题

101

帖子

378

积分

论坛分享达人

积分
378
金钱
277
HASS币
0
 楼主| 发表于 2018-1-24 22:22:56 | 显示全部楼层
设置默认的帧率,分辨率试试
回复

使用道具 举报

3

主题

106

帖子

604

积分

高级会员

Rank: 4

积分
604
金钱
498
HASS币
0
发表于 2018-1-25 12:19:07 | 显示全部楼层
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2018-8-19 21:54 , Processed in 0.289500 second(s), 43 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表