实现摄像头采集到的图片,在网页上展示。使用 mjpeg-streamer 来实现该功能,本质上是图片连续播放,已达到动画的效果。
MJPEG 全名为 “Motion Joint Photographic Experts Group”,是一种视频编码格式。缩写 MJPG。
1. 通过 mjpg-stream 获取视频流以及抓拍图片
2. 将获取到的图片通过 opencv 进行处理
1. 使用远程桌面登录树莓派 [LINK],测试摄像头是否可以正常使用
2. 编译 mjpg-stream
运行 ./run.sh 时,遇到如下问题:
MJPG Streamer Version: svn rev:
ERROR: could not find input plugin
Perhaps you want to adjust the search path with:
# export LD_LIBRARY_PATH=/path/to/plugin/folder
dlopen: libjpeg.so.8: cannot open shared object file: No such file or directory
解决方案:将缺少的库,拷贝到当前目录下,问题解决。
程序运行后,又出现如下问题:
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Focus (absolute)
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for LED1 Mode
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for LED1 Frequency
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Disable video processing
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Raw bits per pixel
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
o: www-folder-path...: ./www/
o: HTTP TCP port.....: 8080
o: username:password.: disabled
o: commands..........: enabled
现象:可以正常访问服务提供的网页,但是没有视频流输出。
原因:市面上大部分摄像头都是支持YUV的,而不是JPEG的。
解决方法:由于mjpg-stream支持JPEG和YUV两种格式,所以只需修改start.sh,在输入中加入 " - y "