转 自:http://bbs.hdchina.org/viewthread.php?tid=94749

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系统,可以从下面的网址下载安装包。

http://sourceforge.net/projects/mjpg-streamer/files/mjpg-streamer_r94-1_i386.deb/download 



安装完了之后,运行

/etc/init.d/mjpg-streamer start

就可以启动了。



2. 使用



在firefox浏览器里面输入 http://192.168.1.1:8080/?action=stream ,应该能看到摄像头抓取的视频。



这个视频的帧数很低,显得摄像头反应很慢。可以修改/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,就可以了。



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

http://192.168.1.1:8080/?action=snapshot

需要将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

远程摄像头软件mjpg-streamer使用指南的更多相关文章

  1. 多服务器 vps 管理方法,十款远程桌面软件测评分析

    作为运维工作者,从几年前巨大的工作量到如今有了极大的改善,这些年试用的远程桌面管理软件不在少数. 远程桌面是微软公司为了方便网络管理员管理维护服务器而推出的一项服务.从windows 2000 ser ...

  2. 基本介绍LINUX远程PC软件:PUTTY、SecureCRT、X-Manager

    ***********************************************声明************************************************ 原创 ...

  3. 很好用的取代 PuTTY 的SSH远程登陆软件 Termius

    一直以来, 我都是用 PuTTY 一个窗口一个窗口来监视我所有的远程服务器. putty-connections-on-a-screen 总感觉非常的不方便, 特别是当远程链接断开需要再重新打开PUT ...

  4. TTradmin v2.1 【2019年12月12日更新】简单好用的临时远程协助软件

        TTradmin 是一款免端口映射可直接穿透任何内网,基于VNC核心的即时远程协助软件.在使用的时候只需要保证“协助端”和“被协助端”使用同一个验证码即可实现安全便捷的远程控制,不需要进入路由 ...

  5. Linux web工程部署远程必备软件安装

    一.序 最近在将程序往linux上面部署,特此记录下部署步骤,待以后参考. web工程部署必备软件为:JDK.tomcat.数据库软件(oracle或mysql),远程监控.上传下载必备软件:VNC. ...

  6. 使用pymysql和paramiko实现远程安装软件

    通过pymysql模块调用数据库获取安装信息,通过paramiko模块远程传输脚本并执行来安装软件,本文以安装apache为例. 创建apache安装信息数据表install_apache,设定三个字 ...

  7. 远程桌面软件RDCMan汉化版

    自己汉化的远程桌面控制软件RDCMan--Remote Desktop Connection Manager(RDCMan) v2.7 简体中文汉化版. 介绍 Remote Desktop Conne ...

  8. 第十八篇 Linux环境下常用软件安装和使用指南

          提醒:如果之后要安装virtualenvwrapper的话,可以直接跳到安装virtualenvwrapper的方法,而不需要先安装好virtualenv   安装virtualenv和生 ...

  9. 远程连接软件TeamViewer

    (1)先在windows下安装Teamviewer软件,地址:https://pan.baidu.com/s/1rWxRBtNbn3OMmg-8YaYWRQ (2)再在linux下安装Teamview ...

随机推荐

  1. 普通神经网络和RNN简单demo (一)

    2017-08-04 花了两天时间看了下神经网络的一点基础知识,包括单层的感知机模型,普通的没有记忆功能的多层神经网咯,还有递归神经网络RNN.这里主要是参考了一个博客,实现了几个简单的代码,这里把源 ...

  2. netty上手

    关于netty的基础NIO,请参见:NIO原理及实例 下面介绍Netty的上手使用: 首先为项目添加jar依赖: <dependency> <groupId>io.netty& ...

  3. C# 关于 上传文件 大小限制问题

    <system.web> <compilation debug="true" targetFramework="4.5" /> < ...

  4. PAT1058. A+B in Hogwarts (20)

    #include <iostream> using namespace std; int ag,as,ak; int bg,bs,bk; int cg,cs,ck; int main(){ ...

  5. WINSOCK 传送文件

    SERVER: // send_server.cpp : Defines the entry point for the console application. // #include " ...

  6. BZOJ3669 [Noi2014]魔法森林(SPFA+动态加边)

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...

  7. ie 元素兼容性总结

    css 属性元素 2.z-index 正常按自身层级决定显示顺序,在ie6 7 还需要依赖于父级的层级决定,排布在后边的元素排在前面.后来者居上覆盖前者. IE6,7支持inline元素转换成inli ...

  8. 2016ACM/ICPC亚洲区沈阳站

    emm,a出3题,补了两题 A,B水题 #include<bits/stdc++.h> #define fi first #define se second #define mp make ...

  9. Get UTI (uniform type identifier) and ContentType

    #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { ...

  10. 51nod 1428 贪心

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1428 1428 活动安排问题 基准时间限制:1 秒 空间限制:13107 ...