wr703n+HD5000 做视频监控 心得
本帖最后由 scolars 于 2012-4-15 16:34 编辑wr703n+HD5000 做视频监控 心得
春暖花开,万物发情的季节到了,家里的老鼠也开始活蹦乱跳了。老鼠笼子在阳台,每次有动静就跑去看,次数多了,就想做个摄像头在电脑上看(主要是游戏不能离开啊)。
最开始的想法是,用UѕB摄像头,好处是清晰、软件也方便,结果发现线不够长。再去淘宝搜UѕB2.0延长线,发现很贵,不划算。UѕB2.0延长线是有个放大芯片的。
后来逛恩山论坛,开始关注起openwrt的摄像头监控方式,这个方式有2个最大的优点,第一是不用线,直接无线网络过去;第二是不用客户端,直接网页,手机看也超方便。
然后就是买东西。首先是无线路由器,要求是性能高、UѕB、无线、价格便宜。因为要做视频估计会很吃CPU所以那些200Mhz的博通CPU直接不予考虑,Atheros的CPU普遍主频高就优先考虑了(其他的比如IXP之类的体积太大也不考虑了)。最后选了FWR171-3G(比TP的wr703n便宜)京东85元,一个网口、wifi最大150M、uѕb、4M、32M。
然后是摄像头,我原来有个创新的摄像头,告诉大家不要买创新的摄像头,原因是创新有个非常不好的习惯就是不喜欢开发驱动程序,这个摄像头就没有win7的驱动,最高只有vista的beta驱动,和XP驱动比选项都不能调节。所以这次买摄像头驱动支持也被优先考虑了,最后看了linux-UVC支持列表http://www.ideasonboard.org/uvc/选了微软的HD5000。这个摄像头优点很多,支持自动对焦(这个最重要比像素还重要,只有自动对焦才会有清晰的画面,尤其是近景,只有对焦才能看清文字),支持720高清(具体像素是多少没有确切的资料但是想来不会低于130W),微软驱动支持(这个是微软正在销售的产品,估计可以用到win9吧),linux-UVC完全支持
045e:076d Microsoft LifeCam HD-5000 Microsoft 最后是价格合适160元包邮。
然后就是开始做系统。首先是FWR171-3G变身WR703n,https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=74371这个帖子的4楼有固件(http://115.com/file/c2bѕbeqd#),刷这个自动重启之后就会变成WR703n。
制作系统,由于4m空间较小我准备把所有软件都集成到固件里然后打包成squashfs以节省空间,我装了ubuntu,然后开个终端
sudo apt-get update
sudo apt-get install gccg++ binutils patchbzip2 flex bison makeautoconfgettexttexinfo unzip sharutils subversion libncurses5-devncurses-term zlib1g-dev gawk libz-dev gitmake
mkdir openwrt
cd openwrt
svn co svn://svn.openwrt.org/openwrt/trunk
cd trunk
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
Target System 选(Atheros AR7xxx/AR9xxx)
Target Profile 选(TP-LINK TL-WR703N)
Package features选umontu
Base system去掉dnsmasq和firewall,选上librt、libpthread
luci里面第一项选luci,Translate里选上luci-i18n-chinese
Kernel modules是大头
I2C support里选上kmod-i2c-core
other里选kmod-input-core
uѕb里选kmod-uѕb-core、kmod-uѕb-ohci、kmod-uѕb-storage、kmod-uѕb-storage-extras、kmod-uѕb-uhci、
kmod-uѕb-video、kmod-uѕb2
video里选kmod-video-core、kmod-video-uvc
然后在确认一下一下都选上了
kmod-uѕb2
kmod-video-uvc
kmod-nlѕ-base
kmod-usb-core
kmod-i2c-core
kmod-video-core
kmod-input-core
kmod-usb-ohci
kmod-usb-video
libjpeg (忘记在哪了,不是Libraries里就是Multimedia里 )
librt
libpthread
然后按ESC选择保存
make V=99 (开始编译)
第一次会下好多东西,最好选个网速好的时候下,失败不要紧直接make V=99继续
直到编译完成,如果多次下载失败的话可以make clean 再make V=99
然后去trunk的bin文件夹里的ar71xx里,那个openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-sysupgrade.bin就是我们要的固件,这次有3.137Mb,再网页里面上传这个,自动重启,就安好openwrt了。
192.168.1.1进入openwrt,无线设成客户端模式,连接到我的家庭网络。然后在系统-软件包-可用软件包里安装mjpg_streamer。
连上微软的HD5000
用putty连到wr703n上运行dmesg | grep usb
[ 34.050000] input: Microsoft® LifeCam HD-5000 as /devices/platform/ar933x-ehci/usb1/1-1/1-1:1.0/input/input0
[ 34.060000] usbcore: registered new interface driver uvcvideo
就说明摄像头已经驱动好了
然后去mjpg-streamer官网下载mjpg-streamer-r63.tar.gz解压里面的www文件夹改名camwww,用winscp软件传到wr703n根目录下www文件夹里成为/www/camwww
然后运行mjpg_streamer -i "input_uvc.so -r 640x480 -f 25"-o "output_http.so -p 8080 -w /www/camwww"这个命令如果没有出错,服务器端就好了,然后进到浏览器打开192.168.1:8080,就能看到画面了。用VLC的话是打开网络地址http://192.168.1.11:8080/?action=stream
mjpg_streamer -i "input_uvc.so -r 320x240 -f 15"-o "output_http.so -p 8080 -w /www/camwww"这个命令里面320x240是画面尺寸HD5000推荐640x480,-f 25是帧率 -p是端口 -w是网页模板。
mjpg_streamer装完就能自动运行,但是由于参数错误,所以没运行起来,编辑/etc/init.d/mjpg-streamer文件
删除原start_instance() {}节改成
start_instance() {
service_start /usr/bin/mjpg_streamer -i "input_uvc.so -r 640x480 -f 24" -o "output_http.so -p 8080 -w /www/camwww"
}
reboot,(插着摄像头重启)就能自动运行了
这个不错。可以做个简便监控。 学习了,谢谢 支持原创 lz是自己做的固件啊,好厉害,我也图便宜买的171,请问刷了115网盘里的固件就可以直接刷703n的别人弄好的固件了吗?我是想拿来做samba给ps2用:lol 再进一步, 如何定时保存图像? 这个不错。可以做个简便监控。 不错呀,看来也要入手个703玩玩了 qiushui_007 发表于 2012-4-16 08:58 static/image/common/back.gif
再进一步, 如何定时保存图像?
貌似要用motion软件,但是我的4M太小了,已经装不下motion了:L scolars 发表于 2012-4-16 10:26 static/image/common/back.gif
貌似要用motion软件,但是我的4M太小了,已经装不下motion了
可以的,output_file.so插件就可以实现在这功能.比如1分钟保存一次图片,即output_file -f directory -d 60000 freefall12 发表于 2012-4-16 11:41 static/image/common/back.gif
可以的,output_file.so插件就可以实现在这功能.比如1分钟保存一次图片,即output_file -f directory -d 60 ...
关键是wr703n只有一个USB口,这样就要加个USB Hub,结果变成3个东西挂在一起了,;P 如果你用的是 mjpg-streamer 直接使用此软件 附带的 output_file.so插件!
"output_http.so --port $port -w /www/camwww" --output "output_file.so --d 1000 --f /mnt/udisk"
可以 同时 网页输出和保存到U盘!!!
--d 参数 是 时间 单位MS
--f文件夹
只能保存图片。。。
要录像 用 ffmpeg! 如果你用的是 mjpg-streamer 直接使用此软件 附带的 output_file.so插件!
"output_http.so --port $port -w /www/camwww" --output "output_file.so --d 1000 --f /mnt/udisk"
可以 同时 网页输出和保存到U盘!!!
--d 参数 是 时间 单位MS
--f文件夹
只能保存图片。。。
要录像 用 ffmpeg! qiushui_007 发表于 2012-4-16 21:01 static/image/common/back.gif
如果你用的是 mjpg-streamer 直接使用此软件 附带的 output_file.so插件!
"output_http.so --port $port ...
ffmpeg一直没有找到教程,担心400Mhz的CPU能不能长期负担。
如果能直接录像到U盘,那么真的就和几千元的网络摄像机一样了!
您有没有ffmpeg的相关教程吗? 搞成高清的720p,还有我觉得帧数15就差不多了,这样带宽就差不多了吧 学习了,谢谢