Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3167439
  • 博文数量: 685
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 5303
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-19 14:17
个人简介

文章分类

全部博文(685)

文章存档

2015年(116)

2014年(569)

分类: LINUX

2014-09-15 12:08:20

原文地址:http://www.cnblogs.com/hnrainll/archive/2011/06/08/2074909.html
mjpg-streamer即是使用video4linux驱动接口开发的应用程序,可以从/dev/video读取视频数据并提交给远程浏览器的访问请求。

mjpg-streamer 可以通过文件或者是HTTP方式访问linux UVC兼容摄像头。可以在公司,通过访问家里安
装的摄像头查看家里的情况,对于有小孩的家长很有帮助。

如果刚好手头上一个能安装openwrt带USB接口的路由器,可以使用本文介绍的方法来配置。
我现在用的罗技的C270,效果不错。

mjpg-streamer 需要很少的CPU和内存资源就可以工作,大部分编码工作都是摄像头完成的,所以对于内
存和性能都有限的路由器十分适用。

1. 安装

在openwrt系统下,需要安装以下摄像头的驱动。
opkg install kmod-video-uvc kmod-usb2 kmod-video-core

如果能找到 /dev/video0 的设备文件,就说明驱动已经安装成功。
如果没有成功,罗技的摄像头还可以尝试一下安装kmod-video-pwc。

在openwrt系统下面,安装mjpg-streamer很简单。
opkg install mjpg-streamer

如果是ubuntu系统,可以从下面的网址下载安装包。


安装完了之后,运行
/etc/init.d/mjpg-streamer start
就可以启动了。

2. 使用

在firefox浏览器里面输入  ,应该能看到摄像头抓取的视频

这个视频的帧数很低,显得摄像头反应很慢。可以修改/etc/config/mjpg-streamer里面的fps参数。

如果想在公司访问家里的摄像头,还应该修改防火墙,接受8080端口的外网请求。
添加下面配置到 /etc/config/firewall
config rule
        option src              wan
        option proto            tcp
        option dest_port        8080
        option target           ACCEPT

然后重启防火墙 /etc/init.d/firewall restart,就可以了。

外网访问摄像头的时候,如果看视频可能速度会跟不上,可以只看截屏。

需要将192.168.1.1替换成路由器说使用的公网IP地址

3. 配置用户名和密码

mjpg-streamer 还可以使用用户名和密码来**访问。
修改 /etc/init.d/mjpg-streamer 中的
         [ $enabled -gt 0 -a -c $device ] && sleep 3 && $SSD -S -m -p $PIDF -q -x $PROG -- --input "input_uvc.so --device $device --fps $fps --resolution $resolution" --output "output_http.so --port $port" &

         [ $enabled -gt 0 -a -c $device ] && sleep 3 && $SSD -S -m -p $PIDF -q -x $PROG -- --input "input_uvc.so --device $device --fps $fps --resolution $resolution" --output "output_http.so --port $port -c user:pass" &

最后添加的部分就是用户名和密码,中间用冒号分割。重新启动mjpg-streamer,保证配置生效。
/etc/init.d/mjpg-streamer restart

阅读(1783) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~