一,mjpg-streamer
简介:MJPG-streamer是一个优秀的开源project,其基本功能是从一个uvc内核摄像头读取内容,然后将它推送到本地的8080端口上面。就是一个本地的视频服务器。可以通过HTTP的方式访问linux上面的兼容摄像头,从而做到远程视频传输的效果。
1,
利用树莓派的专用摄像头Raspberry Pi Camera来实现视频传输,比一般免驱的摄像头多了几步:
2,先使能摄像头,
执行
sudo raspi-config
找到Interfacting option
选择Camera
使能Camera
会提示重启树莓派,重启即可
3,安装所需要的工具或者库等
sudo apt-get update //更新软件列表
sudo apt-get upgrade //更新软件
sudo apt-get install subversion //Subversion是一个自由开源的版本控制系统
sudo apt-get install libjpeg8-dev//
sudo apt-get install imagemagick
sudo apt-get install libv4l-dev
sudo apt-get install cmake
sudo apt-get install git
sudo git clone https://github.com/jacksonliam/mjpg-streamer.git//直接下载工程
cd mjpg-streamer/mjpg-streamer-experimental//进入相关文件夹
make all //利用已经写好的makefile来编译工程
sudo make install//使用的是相关makefile里面内容
注:如果是普通USB摄像头已经可以用来视频实时传输了
//./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"
4,由于V4L driver 不支持raspberry pi的camera,所以暂时不能使用。
sudo wget http://www.linux-projects.org/listing/uv4l_repo/lrkey.asc &
sudo apt-key add ./lrkey.asc
sudo vi /etc/apt/sources.list//修改源
在最后面加上:
deb http://www.linux-projects.org/listing/uv4l_repo/raspbian/ wheezy main
sudo apt-get update
sudo apt-get install uv4l uv4l-raspicam
sudo reboot
/*重启后*/
sudo pkill uv4l
sudo apt-get update
sudo apt-get install uv4l-uvc
sudo apt-get install uv4l-xscreen
sudo apt-get install uv4l-mjpegstream
sudo reboot
5,启动mjpg
sudo modprobe bcm2835-v4l2
./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -n -y -f 25 -r 640x480" -o "./output_http.so -n -w /usr/local/www"
在相对应文件夹中启动
6,设置sudo modprobe bcm2835-v4l2
开机设置
利用sudo
权限打开文件
sudo vi /etc/rc.local
在最后面添加sudo modprobe bcm2835-v4l2
二,mjpg-streamer运行至参数详解
1,终端输入:
LD_LIBRARY_PATH=/usr/local/lib mjpg_streamer -i "input_uvc.so --help"
2,常用参数
./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -n -y -f 25 -r 640x480" -o "./output_http.so -n -w /usr/local/www"
y是表示YUV格式。如果没有-y,默认启动是mjpeg格式,这个就报错。改成YUV格式
-d指定设备
-f 制订帧数,默认30帧
-r指定视频大小,如320×240
-q指定画质,默认80对于输出参数:
-p 指定端口,这里是8080
-c设置通过密码访问
3,常用功能:
取一张图片:http://192.168.1.1:8080?action=snapshot
在线查看视频:http://192.168.1.1:8080?action=stream
三,其他内容:
【宠物远程监控DIY】openwrt+rt5350+mjpg摄像头
https://blog.csdn.net/kaoyangs06/article/details/51895891
RT5350无线视频监控
https://blog.csdn.net/lqx4_3/article/details/21596463
家庭监控,网络摄像头(OpenWRT平台下Mjpg-Streamer+Ngrok实现方案)
https://blog.csdn.net/u014795817/article/details/75332489
配置OpenWrt支持网络摄像头
https://blog.csdn.net/u013162035/article/details/78823425
源码解析
https://wiki.openwrt.org/doc/howto/webcam
https://blog.csdn.net/zhengqijun_/article/details/72473177
https://www.cnblogs.com/wanghuaijun/p/8098460.html
关于树莓派源更换后出现问题参考:
这里
关于安装jpeg包之后,编译工程报错jconfig文件找不到问题:
在usr/include/ 下面执行命令 find -name jconfig.h 找到之后cp到当前目录即可