mjpeg stream 和FFmpeg视频图像读取分析

1.

 远程摄像头软件mjpg-streamer使用指南

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
2.

http://sourceforge.net/apps/mediawiki/mjpg-streamer/index.php?title=Main_Page

你可能感兴趣的:(Stream,防火墙,input,firefox,路由器,output)