homeassistant中usb摄像头的使用(usb转web摄像头)
Posted _WILLPOWER_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了homeassistant中usb摄像头的使用(usb转web摄像头)相关的知识,希望对你有一定的参考价值。
文章目录
前言
在homeassistant中使用ffmpeg集成来使用usb摄像头一直是有问题的,只要你开启了stream基本上视频就出不来(默认配置default_config默认就开启了stream,如果非要用ffmpeg,就不用stream流,但是出来的效果也很差)在社区中采用的方法也是将usb转为web摄像头来使用;还有一种插件就是motioneye,这个插件可以解决usb摄像头的问题,但是这个插件的效果非常差,而且占用系统资源很大。因此这里采用的方法是使用MJPG-streamer来将usb摄像头数据转为web摄像头从而和homeassistant来完成联动,并且还可以设置验证身份访问,还是很安全的。
MJPG-streamer的安装
#/bin/bash
path=/home/pi/stream
stream_package=(subversion libjpeg8-dev imagemagick libv4l-dev cmake git)
apt install ${stream_package[@]} -y
git clone https://github.com/jacksonliam/mjpg-streamer.git
cd mjpg-streamer/mjpg-streamer-experimental
make all
make DESTDIR=${path} install
将此脚本以sudo运行,即可安装MJPG-streamer
usb摄像头
v4l2-ctl --list-devices
查看usb摄像头信息
web摄像头图像查看
然后·运行命令
./mjpg_streamer -i "../lib/mjpg-streamer/input_uvc.so -d /dev/video1 -n -y -f 25 -r 640x480" -o "../lib/mjpg-streamer/output_http.so -n -w /home/wp/www"
请注意库的位置根据你安装的位置改变
然后在局域网下打开浏览器输入
http://raspberry-ip-address:8080/?action=stream
即可查看到图像
mjpg_stream help
参数解释
输入
-n
表示不初始化Linux-uvc驱动程序的dynctrl
-y
表示使用YUV格式,默认:MJPEG(使用更多的cpu功率)
-f
表示帧率
-r
表示分辨率(可以为QQVGA QCIF CGA QVGA CIF PAL VGA SVGA XGA HD SXGA UXGA FHD 或者 如这种形式: 640x480)
-timestamp
用系统时间填充帧时间戳
-rot
设置图像旋转(0-359)
-hf
设置水平翻转(ture/false)
-vf
设置垂直翻转(ture/false)
输出
-n
禁止执行命令
-w
包含网页的文件夹平面层次结构(没有子文件夹)
-c
要求输入用户名和密码,调用方式如下
./mjpg_streamer -i "../lib/mjpg-streamer/input_uvc.so -d /dev/video1 -n -y -f 25 -r 640x480" -o "../lib/mjpg-streamer/output_http.so -n -c "wp:1152679377" -w /home/wp/www"
注意相应的在homeassistant配置文件中加上
-p
端口设置
-l
设置监听的ip
homeassistant使用
MJPEG IP Camera集成
根据此集成,只需要在configuration.yaml中添加即可
# Example configuration.yaml entry
camera:
- platform: mjpeg
mjpeg_url: http://192.168.1.92/mjpeg
其他
ffmpeg使用usb摄像头
注意不要用默认配置
homeassistant学习链接
链接
目前写的还很乱,后面会整理
以上是关于homeassistant中usb摄像头的使用(usb转web摄像头)的主要内容,如果未能解决你的问题,请参考以下文章