高效率图传mjpeg-streamer
项目地址:https://github.com/jacksonliam/mjpg-streamer
mjpg-streamer是一款免费的视频流服务器,你可以用linux操作系统电脑或者树莓派+摄像头搭建家庭视频监控.下面简单介绍一下基于Debian X64的用法,其它大同小异:
1.拉代码
git clone https://github.com/codewithpassion/mjpg-streamer.git
2.进入项目目录
cd mjpg-streamer/mjpg-streamer/
3.执行脚本编译
./start.sh
如果提示不能运行,先执行chmod +x start.sh
4.查看USB设备,看下摄像头有木有驱动(普通PC机的USB摄像头基本上都能直接驱动,树莓派或者mini2440之类的arm开发板,可能需要自己搞驱动)
ls /dev/video*
,执行完命令会有一个列表输出,如果提示 无法访问'/dev/video*': 没有那个文件或目录,那就说明摄像头没有去动起来(也有可能没插好,我开始就是)
5.确保设备正常,启动开始输出
mjpg_streamer -i "/usr/local/lib/mjpg-streamer/input_uvc.so -n -f 30 -r 640x480" -o "/usr/local/lib/mjpg-streamer/output_http.so -p 19999 -w /usr/local/share/mjpg-streamer/www"
这里的-p后面为端口号;-f帧;-r分辨率;-w为默认的网页目录,也就是你打开浏览器看视频图像的页面存放路径,这个圈起来,后面要用到
6.扩展
使用后台命令,把这一段保存成一个sh脚本nohup mjpg_streamer -i "/usr/local/lib/mjpg-streamer/input_uvc.so -n -f 30 -r 640x480" -o "/usr/local/lib/mjpg-streamer/output_http.so -p 19999 -w /usr/local/share/mjpg-streamer/www" &
如果觉得它默认的页面不好看,自己做一个自适应页面,加上一个头部viewport,,再写一个安卓客户端配合webview,就能在手机上看监控了,核心也就一句<img style="width:100%;height:auto; id="streamimage" src="./?action=stream" />
,这些就不多说,百度一大把,把写好的网页放入上文所说的路径下面,http://ip:port/your-page-name.html
外网访问的话,搞个zerotier就行了,在你的电脑,手机上分别安装,加入同一网络
完事.有不懂的自己百度,那些什么驱动啊,lib啊,我因为都是现成的,所以直接跑就OK,或者你也可能如此顺利~