|
寶寶長(zhǎng)大了,喜歡動(dòng)來(lái)動(dòng)去,為了更好的看護(hù)寶寶,想用PC攝像頭弄一個(gè)Web監(jiān)控,手機(jī)上也能顯示,這樣在廚房做飯帶著手機(jī)也能看著她。為了解決這個(gè)需求,先上網(wǎng)google了半天,沒(méi)找到免費(fèi)又穩(wěn)定的軟件。想想自已寫一個(gè)算了,遂上sourceforge、codeproject、google'code 狂搜一通源代碼,找到幾個(gè)試了,各有利弊。經(jīng)過(guò)幾個(gè)晚上的研究,目前發(fā)現(xiàn)的最好的解決方案是這樣的:
網(wǎng)絡(luò):wifi
Web服務(wù)器: nginx 1.0.11
攝像頭抓圖: python2.7 + PIL 1.1.7 + VideoCapture 0.9-4
經(jīng)測(cè)試,本方案在S60手機(jī)瀏覽器、Android手機(jī)瀏覽器、PC上的 Chrome\IE 均可正常監(jiān)視。把路由器nat 機(jī)器的80端口到互聯(lián)網(wǎng),也能正常訪問(wèn)。
監(jiān)控html代碼:
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Web監(jiān)視</title>
<META http-equiv="refresh" content="3">
<META http-equiv="Expires" content="0">
<META http-equiv="Pragma" content="no-cache">
</HEAD>
<body >
<img src='image.jpg?mail=szluosj@21cn.com' width="100%"/>
</body>
</HTML>
截圖python代碼:
from VideoCapture import Device
import time, string
interval = 2
cam = Device(devnum=0, showVideoWindow=0)
cam.setResolution(320, 240)
cam.saveSnapshot('image.jpg', timestamp=3, boldfont=1, quality=75)
i = 0
quant = interval * .1
starttime = time.time()
while 1:
lasttime = now = int((time.time() - starttime) / interval)
print i
cam.saveSnapshot('image.jpg', timestamp=3, boldfont=1)
i += 1
while now == lasttime:
now = int((time.time() - starttime) / interval)
time.sleep(quant)
show一下運(yùn)行截圖:

|
評(píng)分
-
查看全部評(píng)分
|