采用Android手機(jī)實(shí)現(xiàn)遠(yuǎn)程視頻監(jiān)視與云臺(tái)控制方法
【專利摘要】本發(fā)明屬于網(wǎng)絡(luò)遠(yuǎn)程視頻監(jiān)控【技術(shù)領(lǐng)域】,涉及一種采用Android手機(jī)實(shí)現(xiàn)遠(yuǎn)程視頻監(jiān)視與云臺(tái)控制方法,克服了現(xiàn)有技術(shù)存在便攜性差、監(jiān)視畫面不流暢,不利于遠(yuǎn)程視頻監(jiān)控廣泛應(yīng)用的問(wèn)題;包括以下步驟:(1)設(shè)備初始化,在客戶端Android手機(jī)上安裝嵌入式軟件A,在嵌入式軟件A的歡迎頁(yè)面輸入對(duì)應(yīng)的監(jiān)控端網(wǎng)絡(luò)攝像機(jī)訪問(wèn)賬號(hào)與密碼;(2)嵌入式軟件A對(duì)監(jiān)控端網(wǎng)絡(luò)攝像機(jī)拍攝的視頻數(shù)據(jù)進(jìn)行接收、解析并播放;(3)通過(guò)觸摸位于嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕對(duì)網(wǎng)絡(luò)攝像機(jī)云臺(tái)進(jìn)行遠(yuǎn)程控制使網(wǎng)絡(luò)攝像機(jī)云臺(tái)移動(dòng);(4)通過(guò)嵌入式軟件A對(duì)監(jiān)控端網(wǎng)絡(luò)攝像機(jī)的報(bào)警功能進(jìn)行設(shè)置與開啟,并監(jiān)聽警報(bào)信息;接收到警報(bào)信息后自動(dòng)登錄郵箱顯示警報(bào)信息。
【專利說(shuō)明】采用Android手機(jī)實(shí)現(xiàn)遠(yuǎn)程視頻監(jiān)視與云臺(tái)控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于網(wǎng)絡(luò)遠(yuǎn)程視頻監(jiān)控【技術(shù)領(lǐng)域】,涉及一處遠(yuǎn)程視頻監(jiān)視與云臺(tái)控制方法,更具體的說(shuō),本發(fā)明涉及一種采用Android手機(jī)實(shí)現(xiàn)遠(yuǎn)程視頻監(jiān)視與云臺(tái)控制方法。
【背景技術(shù)】
[0002]遠(yuǎn)程視頻監(jiān)控系統(tǒng),是通過(guò)標(biāo)準(zhǔn)電話線、網(wǎng)線、移動(dòng)寬帶及ISDN (綜合業(yè)務(wù)數(shù)字網(wǎng))數(shù)據(jù)線連接,可達(dá)到世界任何角落,并能夠控制云臺(tái)/鏡頭、存儲(chǔ)視頻監(jiān)控圖像。遠(yuǎn)程傳輸監(jiān)控系統(tǒng)通過(guò)普通電話線路將遠(yuǎn)方活動(dòng)場(chǎng)景傳送到觀看者的電腦屏幕上,并且具備當(dāng)報(bào)警觸發(fā)時(shí)向接收端反向撥號(hào)報(bào)警功能。
[0003]目前要實(shí)現(xiàn)廣域網(wǎng)遠(yuǎn)程視頻監(jiān)視,監(jiān)控端主要通過(guò)三種方式實(shí)現(xiàn):1.硬盤錄像機(jī);2.網(wǎng)絡(luò)視頻服務(wù)器;3.網(wǎng)絡(luò)攝像機(jī)。硬盤錄像機(jī)是一個(gè)以錄像為主的設(shè)備,有的可以支持IEdnternetExplorer,美國(guó)微軟公司推出的一款網(wǎng)頁(yè)瀏覽器)瀏覽。網(wǎng)絡(luò)視頻服務(wù)器一般前端不錄像,直接將影像傳輸?shù)胶笈_(tái),可由后臺(tái)服務(wù)器錄像。網(wǎng)絡(luò)攝像機(jī),直接連接到網(wǎng)絡(luò)查看,有的也可錄像。上述三種監(jiān)控端監(jiān)視設(shè)備通過(guò)網(wǎng)絡(luò)與作為遠(yuǎn)程控制端的計(jì)算機(jī)或者手機(jī)進(jìn)行連接并傳輸視頻數(shù)據(jù),達(dá)到實(shí)時(shí)監(jiān)視的目的。然而通過(guò)計(jì)算機(jī)進(jìn)行遠(yuǎn)程監(jiān)視因設(shè)備體積過(guò)大,不利于移動(dòng)監(jiān)視,便攜性差。手機(jī)的網(wǎng)絡(luò)帶寬是一定的,優(yōu)先保證語(yǔ)音通話的同時(shí)分給上網(wǎng)的資源較少,因此用手機(jī)作為遠(yuǎn)程監(jiān)視設(shè)備會(huì)造成實(shí)時(shí)監(jiān)視視頻畫面不流暢,出現(xiàn)視頻圖像卡頓的現(xiàn)象,不利于遠(yuǎn)程視頻監(jiān)控的廣泛應(yīng)用。
【發(fā)明內(nèi)容】
[0004]本發(fā)明所要解決的技術(shù)問(wèn)題是克服了現(xiàn)有技術(shù)存在便攜性差、監(jiān)視畫面不流暢,不利于遠(yuǎn)程視頻監(jiān)控廣泛應(yīng)用的問(wèn)題,提供了一種采用Android手機(jī)平臺(tái)實(shí)現(xiàn)遠(yuǎn)程視頻監(jiān)視及云臺(tái)控制的方法。
[0005]為解決上述技術(shù)問(wèn)題,本發(fā)明是采用如下技術(shù)方案實(shí)現(xiàn)的:
[0006]一種采用Android手機(jī)實(shí)現(xiàn)遠(yuǎn)程視頻監(jiān)視與云臺(tái)控制方法,包括以下步驟:
[0007](I)設(shè)備初始化,在客戶端Android手機(jī)上安裝嵌入式軟件A,在嵌入式軟件A的歡迎頁(yè)面輸入對(duì)應(yīng)的監(jiān)控端網(wǎng)絡(luò)攝像機(jī)訪問(wèn)賬號(hào)與密碼;
[0008](2)嵌入式軟件A對(duì)監(jiān)控端網(wǎng)絡(luò)攝像機(jī)拍攝的視頻數(shù)據(jù)進(jìn)行接收、解析并播放;
[0009](3)通過(guò)觸摸位于嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕對(duì)網(wǎng)絡(luò)攝像機(jī)云臺(tái)進(jìn)行遠(yuǎn)程控制使網(wǎng)絡(luò)攝像機(jī)云臺(tái)移動(dòng);
[0010](4)通過(guò)嵌入式軟件A對(duì)監(jiān)控端網(wǎng)絡(luò)攝像機(jī)的報(bào)警功能進(jìn)行設(shè)置與開啟,并監(jiān)聽警報(bào)信息;接收到警報(bào)信息后自動(dòng)登錄郵箱顯示警報(bào)信息。
[0011]嵌入式軟件A對(duì)監(jiān)控端各個(gè)網(wǎng)絡(luò)攝像機(jī)拍攝的視頻數(shù)據(jù)進(jìn)行接收、解析與播放過(guò)程,具體工作流程如下:
[0012]I)在嵌入式軟件A的設(shè)置頁(yè)面有輸入網(wǎng)絡(luò)攝像機(jī)IP地址的IP地址框,在初始化階段,用戶第一次使用Android手機(jī)UAndroid手機(jī)2、......、Android手機(jī)m上安裝的嵌入式軟件A時(shí),需要觸摸設(shè)置按鈕進(jìn)入設(shè)置頁(yè)面,分別在IP地址框中輸入各個(gè)網(wǎng)絡(luò)攝像機(jī)
的IP地址與端口號(hào);首次輸入完成后Android手機(jī)l、Android手機(jī)2、......、Android手機(jī)
m會(huì)自動(dòng)保存該IP地址與端口號(hào),如果各個(gè)網(wǎng)絡(luò)攝像機(jī)的IP地址與端口號(hào)沒(méi)有發(fā)生改變,
則下次啟動(dòng)Android手機(jī)1、2、......、m上安裝的嵌入式軟件A時(shí)無(wú)需重新輸入;如果某個(gè)
網(wǎng)絡(luò)攝像機(jī)的IP地址或端口號(hào)發(fā)生了改變需要修改,則下次啟動(dòng)Android手機(jī)1、2、……、m上安裝的嵌入式軟件A時(shí)需重新進(jìn)入設(shè)置頁(yè)面輸入該網(wǎng)絡(luò)攝像機(jī)的IP地址與端口號(hào);
[0013]2)觸摸嵌入式軟件A主頁(yè)面上對(duì)應(yīng)的網(wǎng)絡(luò)攝像機(jī)IP地址獲取按鈕,嵌入式軟件A獲取初始化中用戶輸入的網(wǎng)絡(luò)攝像機(jī)IP地址與端口號(hào),在Android手機(jī)內(nèi)存中生成一個(gè)文本文件,存放獲取到的網(wǎng)絡(luò)攝像機(jī)IP地址與端口號(hào);嵌入式軟件A會(huì)自動(dòng)保存獲取到的網(wǎng)絡(luò)攝像機(jī)IP地址與端口號(hào),再次使用時(shí),如果某個(gè)網(wǎng)絡(luò)攝像機(jī)IP地址與端口號(hào)發(fā)生改變,再次觸摸嵌入式軟件A主頁(yè)面上對(duì)應(yīng)的網(wǎng)絡(luò)攝像機(jī)IP地址獲取按鈕;
[0014]3)觸摸嵌入式軟件A主頁(yè)面上對(duì)應(yīng)的開始按鈕,嵌入式軟件A通過(guò)Java語(yǔ)言中文件讀取類中的BufferedReader方法獲取Android手機(jī)內(nèi)存文本文件中存入的對(duì)應(yīng)網(wǎng)絡(luò)攝像機(jī)的IP地址與端口號(hào),建立并開啟一個(gè)線程,命名為線程I。線程,有時(shí)被稱為輕量級(jí)進(jìn)程(Lightweight Process, LWP),是程序執(zhí)行流的最小單元。而進(jìn)程是操作系統(tǒng)結(jié)構(gòu)的基礎(chǔ),是一個(gè)正在執(zhí)行的程序,計(jì)算機(jī)中正在運(yùn)行的程序?qū)嵗梢苑峙浣o處理器并由處理器執(zhí)行的一個(gè)實(shí)體,由單一順序的執(zhí)行顯示,一個(gè)當(dāng)前狀態(tài)和一組相關(guān)的系統(tǒng)資源所描述的活動(dòng)單元。嵌入式軟件A向網(wǎng)頁(yè)地址URL中傳入獲取到的IP地址與端口號(hào),通過(guò)Java語(yǔ)言中URL的開啟網(wǎng)絡(luò)連接方法URL.0penConnection建立對(duì)網(wǎng)絡(luò)攝像機(jī)的連接;
[0015]4)線程I通過(guò)超文本傳輸Http協(xié)議發(fā)送請(qǐng)求嘗試連接此網(wǎng)絡(luò)攝像機(jī)IP地址,這個(gè)連接請(qǐng)求會(huì)返回一個(gè)結(jié)果`值;嵌入式軟件A對(duì)返回的結(jié)果值進(jìn)行判斷,預(yù)設(shè)值是200,如果結(jié)果值等于200,則連接成功,如果結(jié)果值不等于200,則表明連接失敗,嵌入式軟件A繼續(xù)發(fā)送請(qǐng)求重新連接;
[0016]5 )連接成功后,嵌入式軟件A通過(guò)超文本傳輸Http協(xié)議向網(wǎng)絡(luò)攝像機(jī)網(wǎng)絡(luò)服務(wù)器發(fā)送數(shù)據(jù)返回請(qǐng)求,網(wǎng)絡(luò)攝像機(jī)網(wǎng)絡(luò)服務(wù)器收到嵌入式軟件A發(fā)送過(guò)來(lái)的數(shù)據(jù)返回請(qǐng)求后進(jìn)行判斷,如果指令正確則向發(fā)送請(qǐng)求的嵌入式軟件A發(fā)送網(wǎng)絡(luò)攝像機(jī)內(nèi)部經(jīng)過(guò)壓縮編碼成JPEG格式的視頻數(shù)據(jù)流;
[0017]網(wǎng)絡(luò)攝像機(jī)網(wǎng)絡(luò)服務(wù)器是內(nèi)置于網(wǎng)絡(luò)攝像機(jī)的一個(gè)軟件系統(tǒng);網(wǎng)絡(luò)攝像機(jī)云臺(tái)是一個(gè)硬件設(shè)備,相當(dāng)于在網(wǎng)絡(luò)攝像機(jī)下面的會(huì)上下左右轉(zhuǎn)動(dòng)的一個(gè)支架;網(wǎng)絡(luò)攝像機(jī)是主體,網(wǎng)絡(luò)攝像機(jī)內(nèi)含網(wǎng)絡(luò)攝像機(jī)網(wǎng)絡(luò)服務(wù)器,網(wǎng)絡(luò)攝像機(jī)網(wǎng)絡(luò)服務(wù)器屬于軟件系統(tǒng);
[0018]6)嵌入式軟件A通過(guò)使用線程I里面Java提供的網(wǎng)絡(luò)連接獲取輸入數(shù)據(jù)流方法HttpURLConnection.getlnputStream將網(wǎng)絡(luò)攝像機(jī)網(wǎng)絡(luò)服務(wù)器發(fā)送的視頻數(shù)據(jù)流接收過(guò)來(lái),實(shí)時(shí)讀取成字節(jié)流形式,并存儲(chǔ)到Android手機(jī)內(nèi)存中,嵌入式軟件A通過(guò)Java中將指定字節(jié)數(shù)組解碼成不可變位圖方法BitmapFactory.decodeByteArray將讀入Android手機(jī)內(nèi)存中的視頻字節(jié)流轉(zhuǎn)換成可以生成圖片的Bitmap類型,并傳輸?shù)紸ndroid手機(jī)的線程I ;
[0019]位圖(Bitmap),亦稱為點(diǎn)陣圖像或繪制圖像,是由稱作像素(圖片元素)的單個(gè)點(diǎn)組成的,這些點(diǎn)可以進(jìn)行不同的排列和染色以構(gòu)成圖樣;
[0020]7)嵌入式軟件A建立并開啟一個(gè)新的線程,命名為線程2,線程I不斷讀取Bitmap對(duì)象,并將此Bitmap對(duì)象實(shí)時(shí)傳入到嵌入式軟件A中已經(jīng)開啟的線程2,嵌入式軟件A將Bitmap類型視頻字節(jié)流通過(guò)Android的位圖畫圖方法canvas.drawBitmap描繪到SurfaceView類控件上面生成圖像;嵌入式軟件A實(shí)時(shí)接收網(wǎng)絡(luò)攝像機(jī)發(fā)送過(guò)來(lái)的視頻數(shù)據(jù)流,通過(guò)循環(huán)調(diào)用完成圖像像素編輯SurfaceHolder.UnlockCanvasAndPost方法實(shí)時(shí)進(jìn)行屏幕顯示內(nèi)容的更新。
[0021]嵌入式軟件A對(duì)網(wǎng)絡(luò)攝像機(jī)云臺(tái)進(jìn)行遠(yuǎn)程控制使其移動(dòng),具體工作流程如下:
[0022]I)在初始化階段,通過(guò)網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器控制網(wǎng)絡(luò)攝像機(jī)內(nèi)置電機(jī)的方法,嵌入式軟件A將網(wǎng)絡(luò)攝像機(jī)上移、停止上移、下移、停止下移、左移、停止左移、右移、停止右移、上下巡航掃描移動(dòng)以及左右巡航掃描移動(dòng)的動(dòng)作分別設(shè)置綁定到對(duì)應(yīng)名稱的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕上,隨時(shí)監(jiān)聽觸摸網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕動(dòng)作;
[0023]2)通過(guò)客戶端Android手機(jī)上安裝的嵌入式軟件A主頁(yè)面上對(duì)應(yīng)的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕,發(fā)送控制指令,初始化中設(shè)置好的嵌入式軟件A對(duì)發(fā)送的控制指令進(jìn)行監(jiān)聽判斷;
[0024]3)觸摸嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕之后,嵌入式軟件A分別對(duì)收到的按鍵值與嵌入式軟件A中預(yù)置對(duì)應(yīng)的按鍵值進(jìn)行比較,如果二者相等,說(shuō)明控制指令是嵌入式軟件A向網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器發(fā)送的控制指令,則通過(guò)接收視頻數(shù)據(jù)時(shí)建立完成的超文本傳輸Http協(xié)議連接向網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器發(fā)送控制指令;如果二者不等,說(shuō)明該控制指令不是嵌入式軟件A向網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器發(fā)送的控制指令,則繼續(xù)監(jiān)聽;
[0025]4)內(nèi)置于網(wǎng)絡(luò)攝像機(jī)的網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器收到嵌入式軟件A發(fā)送過(guò)來(lái)的控制指令后,通過(guò)API協(xié)議中的網(wǎng)絡(luò)攝像機(jī)云臺(tái)控制方法decoder_control.cgi_command對(duì)相應(yīng)控制指令進(jìn)行解析,方法中的command代表嵌入式軟件A發(fā)送過(guò)來(lái)的按鍵值,網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器對(duì)傳遞過(guò)來(lái)的按鍵值進(jìn)行判斷,網(wǎng)絡(luò)攝像機(jī)云臺(tái)上移、停止上移動(dòng)作對(duì)應(yīng)的按鍵值已經(jīng)在API接口協(xié)議中被定義為0、1,通過(guò)假設(shè)這里傳入的按鍵值是0、1 ;
[0026]5)網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器通過(guò)傳送過(guò)來(lái)的按鍵值所對(duì)應(yīng)的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作操縱網(wǎng)絡(luò)攝像機(jī)內(nèi)置電機(jī),完成對(duì)網(wǎng)絡(luò)攝像機(jī)云臺(tái)的上移、停止上移、下移、停止下移、左移、停止左移、右移、停止右移、上下巡航掃描移動(dòng)以及左右巡航掃描移動(dòng)等幾組動(dòng)作的操作;
[0027]通過(guò)嵌入式軟件A對(duì)監(jiān)控端網(wǎng)絡(luò)攝像機(jī)的報(bào)警功能進(jìn)行設(shè)置與開啟,并監(jiān)聽警報(bào)信息,接收到警報(bào)信息后自動(dòng)登錄郵箱顯示警報(bào)信息,主要工作流程如下:
[0028]I)在初始化階段,用戶通過(guò)觸摸嵌入式軟件A主界面的報(bào)警設(shè)置按鈕,建立SMTP郵件服務(wù)器,設(shè)置警報(bào)信息發(fā)送郵箱地址與接收郵箱地址;
[0029]2)通過(guò)觸摸嵌入式軟件A上面的開啟報(bào)警按鈕,開啟網(wǎng)絡(luò)攝像機(jī)移動(dòng)偵測(cè)報(bào)警功倉(cāng)泛;
[0030]3)網(wǎng)絡(luò)攝像機(jī)進(jìn)行畫面移動(dòng)偵測(cè),對(duì)每一幀圖像拍攝前后畫面像素進(jìn)行對(duì)比,若每一幀畫面前后像素都沒(méi)有發(fā)生明顯變化,則繼續(xù)偵測(cè);若某一幀畫面前后像素發(fā)生了明顯變化則執(zhí)行報(bào)警程序;
[0031]4)在執(zhí)行的網(wǎng)絡(luò)攝像機(jī)報(bào)警程序中,網(wǎng)絡(luò)攝像機(jī)將前后像素發(fā)生了明顯變化的那一幀畫面截圖保存,通過(guò)超文本傳輸Http協(xié)議發(fā)送至郵件服務(wù)器SMTP,通過(guò)郵件服務(wù)器SMTP轉(zhuǎn)發(fā)至預(yù)設(shè)的警報(bào)信息接收郵箱;
[0032]5) Android智能手機(jī)通過(guò)嵌入式軟件A設(shè)置郵件接收提醒,并綁定網(wǎng)絡(luò)攝像機(jī)預(yù)設(shè)的警報(bào)信息接收郵箱,當(dāng)網(wǎng)絡(luò)攝像機(jī)發(fā)來(lái)報(bào)警郵件時(shí),Android智能手機(jī)接到報(bào)警郵件接收提示,通過(guò)觸摸Android智能手機(jī)上安裝的嵌入式軟件A主界面上的警報(bào)信息查看按鈕,登錄預(yù)設(shè)警報(bào)信息接收郵箱查看網(wǎng)絡(luò)攝像機(jī)發(fā)送過(guò)來(lái)的報(bào)警郵件。
[0033]技術(shù)方案中網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制指令的發(fā)送過(guò)程:嵌入式軟件A首先定義一個(gè)按鍵值command,若當(dāng)用戶所按按鈕對(duì)應(yīng)的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作為上移時(shí),嵌入式軟件A發(fā)送按鍵值為0、1 ;若當(dāng)用戶所按按鈕對(duì)應(yīng)的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作為下移時(shí),嵌入式軟件A發(fā)送按鍵值為2、3 ;
[0034]代表“上移”這個(gè)網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕上面綁定了兩個(gè)按鍵值O和I ;在嵌入式軟件A內(nèi)的發(fā)送按鍵值O之后加入了 0.5秒的延時(shí)代碼,然后發(fā)送按鍵值I ;觸摸代表“上移”這個(gè)網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕之后網(wǎng)絡(luò)攝像機(jī)云臺(tái)向上移動(dòng)0.5秒之后停下,達(dá)到微調(diào)的目的。
[0035]技術(shù)方案中遵照網(wǎng)絡(luò)攝像機(jī)API接口協(xié)議,按鍵值O、I代表上移、停止上移,2、3代表下移、停止下移,4、5代表左移、停止左移,6、7代表右移、停止右移,26代表上下巡航掃描移動(dòng)、28代表左右巡航掃描移動(dòng)。
[0036]與現(xiàn)有技術(shù)相比本發(fā)明的有益效果是:
[0037]1.本發(fā)明中安裝有嵌入式軟件A的Android手機(jī)負(fù)責(zé)接收、解析并播放遠(yuǎn)程視頻數(shù)據(jù),相較于傳統(tǒng)的遠(yuǎn)程監(jiān)控方法,無(wú)需安裝獨(dú)立的計(jì)算機(jī)或硬件解碼器材,將智能手機(jī)與遠(yuǎn)程視頻監(jiān)控系統(tǒng)合二為一,提高了資源利用率,降低了系統(tǒng)成本。
[0038]2.本發(fā)明主要應(yīng)用了 Java (—種可以撰寫跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言)解析視頻流的方法,這種方法的優(yōu)點(diǎn)是傳輸?shù)恼加脙?nèi)存相對(duì)較小的字節(jié)流能夠很大限度的節(jié)省手機(jī)的網(wǎng)絡(luò)流量,使得視頻傳輸在網(wǎng)絡(luò)狀況相對(duì)較差的手機(jī)上面得到很好的應(yīng)用,在窄帶上實(shí)現(xiàn)高清圖像傳輸,達(dá)到流暢播放視頻的目的,相比于現(xiàn)有技術(shù)中手機(jī)作為遠(yuǎn)程視頻監(jiān)控接收設(shè)備時(shí)視頻播放的不流暢現(xiàn)象有了一定的改善。
[0039]3.本發(fā)明應(yīng)用了調(diào)用網(wǎng)絡(luò)攝像機(jī)API (應(yīng)用程序編程接口)協(xié)議的方法,用戶通過(guò)觸摸智能手機(jī)按鈕向監(jiān)控端網(wǎng)絡(luò)攝像機(jī)云臺(tái)發(fā)送動(dòng)作控制指令,網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器接收控制指令并解析,通過(guò)操控網(wǎng)絡(luò)攝像機(jī)內(nèi)置電機(jī)完成對(duì)網(wǎng)絡(luò)攝像機(jī)云臺(tái)基本動(dòng)作的控制,實(shí)現(xiàn)了調(diào)整網(wǎng)絡(luò)攝像機(jī)拍攝角度的功能,具有視頻信號(hào)采集范圍廣,遠(yuǎn)程操作靈活性好,功能擴(kuò)展性強(qiáng)的特點(diǎn)。
[0040]4.用戶可通過(guò)隨身攜帶的Android手機(jī)控制網(wǎng)絡(luò)攝像機(jī)的移動(dòng)偵測(cè)報(bào)警系統(tǒng),開啟報(bào)警系統(tǒng)后,如果在網(wǎng)絡(luò)攝像機(jī)監(jiān)控畫面范圍內(nèi)發(fā)生物體移動(dòng)造成的畫面像素改變,系統(tǒng)會(huì)通過(guò)實(shí)時(shí)截圖的方式向指定郵箱發(fā)送郵件,用戶可在客戶端Android手機(jī)通過(guò)軟件設(shè)置郵件自動(dòng)接收提醒,并登陸郵箱查看報(bào)警截圖信息,從而達(dá)到報(bào)警實(shí)時(shí)接收的目的,此監(jiān)控報(bào)警系統(tǒng)具有操作簡(jiǎn)單、快捷,控制實(shí)時(shí)可靠的特點(diǎn)。
【專利附圖】
【附圖說(shuō)明】
[0041]下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的說(shuō)明:
[0042]圖1為本發(fā)明所采用的設(shè)備結(jié)構(gòu)組成的示意框圖;[0043]圖2為本發(fā)明所述的采用Android手機(jī)實(shí)現(xiàn)遠(yuǎn)程監(jiān)視與云臺(tái)控制方法的工作流程圖;
[0044]圖3為本發(fā)明所述的采用Android手機(jī)實(shí)現(xiàn)遠(yuǎn)程監(jiān)視與云臺(tái)控制方法接收、解析并播放網(wǎng)絡(luò)攝像機(jī)視頻圖像數(shù)據(jù)的工作流程圖;
[0045]圖4為本發(fā)明所述的采用Android手機(jī)實(shí)現(xiàn)遠(yuǎn)程監(jiān)視與云臺(tái)控制方法控制網(wǎng)絡(luò)攝像機(jī)云臺(tái)移動(dòng)動(dòng)作的工作流程圖;
[0046]圖5為本發(fā)明所述的采用Android手機(jī)實(shí)現(xiàn)遠(yuǎn)程監(jiān)視與云臺(tái)控制方法遠(yuǎn)程設(shè)置接收網(wǎng)絡(luò)攝像機(jī)報(bào)警信息的工作流程圖;【具體實(shí)施方式】
[0047]下面結(jié)合附圖對(duì)本發(fā)明作詳細(xì)的描述:
[0048]參閱圖1,采用Android手機(jī)平臺(tái)實(shí)現(xiàn)遠(yuǎn)程監(jiān)視與云臺(tái)控制方法的控制設(shè)備包括
客戶端Android手機(jī)l、Android手機(jī)2......Android手機(jī)m,監(jiān)控端網(wǎng)絡(luò)攝像機(jī)1、網(wǎng)絡(luò)攝像
機(jī)2、......與網(wǎng)絡(luò)攝像機(jī)n ;其中,客戶端Android手機(jī)l、Android手機(jī)2......Android手機(jī)
m分別安裝有嵌入式軟件A??蛻舳薃ndroid手機(jī)l、Android手機(jī)2......Android手機(jī)m分
別由用戶隨身攜帶,用戶利用其通過(guò)3G(第三代移動(dòng)通信技術(shù))或W1-Fi (無(wú)線保真技術(shù))無(wú)線網(wǎng)絡(luò)向監(jiān)控端網(wǎng)絡(luò)攝像機(jī)1、網(wǎng)絡(luò)攝像機(jī)2、……網(wǎng)絡(luò)攝像機(jī)n發(fā)送連接以及網(wǎng)絡(luò)攝像機(jī)云臺(tái)控制指令,命令以字符串的形式發(fā)送。各個(gè)網(wǎng)絡(luò)攝像機(jī)均通過(guò)5V直流電源供電,通過(guò)外接天線與無(wú)線網(wǎng)絡(luò)相連接。
[0049]嵌入式軟件A首先獲取各個(gè)網(wǎng)絡(luò)攝像機(jī)IP地址,與各個(gè)網(wǎng)絡(luò)攝像機(jī)進(jìn)行連接并獲取各個(gè)網(wǎng)絡(luò)攝像機(jī)傳輸過(guò)來(lái)的視頻數(shù)據(jù)流進(jìn)行解析并播放,達(dá)到遠(yuǎn)程監(jiān)視的目的,同時(shí)通過(guò)發(fā)送控制指令對(duì)各個(gè)網(wǎng)絡(luò)攝像機(jī)云臺(tái)實(shí)現(xiàn)遠(yuǎn)程控制,嵌入式軟件A控制報(bào)警系統(tǒng)的開和關(guān),對(duì)網(wǎng)絡(luò)攝像機(jī)進(jìn)行報(bào)警設(shè)置并加入接收?qǐng)?bào)警信息的指定郵箱地址,Android手機(jī)通過(guò)登錄郵箱的方式獲取各個(gè)網(wǎng)絡(luò)攝像機(jī)發(fā)送過(guò)來(lái)的實(shí)時(shí)報(bào)警截圖信息。
[0050]其中m為大于零不大于9的自然數(shù),即0 < m≤9。在本實(shí)施方式中,m=3,即此系統(tǒng)共包括3個(gè)Android手機(jī),可以實(shí)現(xiàn)3個(gè)用戶同時(shí)對(duì)網(wǎng)絡(luò)攝像機(jī)進(jìn)行遠(yuǎn)程監(jiān)視以及云臺(tái)控制;n為大于零不大于5的自然數(shù),即0 < n < 5。在本實(shí)施方式中,n=2,即此系統(tǒng)共包括2個(gè)網(wǎng)絡(luò)攝像機(jī),用戶可以分別對(duì)2個(gè)網(wǎng)絡(luò)攝像機(jī)進(jìn)行遠(yuǎn)程監(jiān)視以及網(wǎng)絡(luò)攝像機(jī)云臺(tái)控制。
[0051]參閱圖2,嵌入式軟件A主要負(fù)責(zé)對(duì)監(jiān)控端網(wǎng)絡(luò)攝像機(jī)拍攝的視頻數(shù)據(jù)進(jìn)行接收、解析與播放,控制網(wǎng)絡(luò)攝像機(jī)云臺(tái)進(jìn)而完成對(duì)網(wǎng)絡(luò)攝像機(jī)拍攝角度的調(diào)整,設(shè)置與開啟網(wǎng)絡(luò)攝像機(jī)報(bào)警功能并接收警報(bào)信息。采用Android手機(jī)平臺(tái)的遠(yuǎn)程監(jiān)視與網(wǎng)絡(luò)攝像機(jī)云臺(tái)控制方法的步驟如下:
[0052]1.設(shè)備初始化,用戶在嵌入式軟件A的歡迎頁(yè)面輸入對(duì)應(yīng)的網(wǎng)絡(luò)攝像機(jī)訪問(wèn)賬號(hào)與密碼;
[0053]在初始化階段,用戶打開嵌入式軟件A,進(jìn)入歡迎頁(yè)面,首次使用需要在歡迎頁(yè)面對(duì)應(yīng)的網(wǎng)絡(luò)攝像機(jī)賬號(hào)、密碼框中輸入對(duì)應(yīng)網(wǎng)絡(luò)攝像機(jī)訪問(wèn)賬號(hào)、密碼,網(wǎng)絡(luò)攝像機(jī)訪問(wèn)賬號(hào)、密碼會(huì)被嵌入式軟件A自動(dòng)保存,再次使用可以選擇跳過(guò)歡迎頁(yè)面,直接進(jìn)入嵌入式軟件A主頁(yè)面,如需修改或添加新的網(wǎng)絡(luò)攝像機(jī)訪問(wèn)賬號(hào)、密碼,在對(duì)應(yīng)的網(wǎng)絡(luò)攝像機(jī)賬號(hào)、密碼框中重新添加即可。[0054]2.用戶對(duì)監(jiān)控端網(wǎng)絡(luò)攝像機(jī)拍攝的視頻數(shù)據(jù)進(jìn)行接收、解析并播放;
[0055]參閱圖3,用戶觸摸嵌入式軟件A主頁(yè)面上的開始按鈕,嵌入式軟件A通過(guò)Http協(xié)議(超文本傳輸協(xié)議)對(duì)監(jiān)控端網(wǎng)絡(luò)攝像機(jī)發(fā)起連接請(qǐng)求。連接成功后,嵌入式軟件A向網(wǎng)絡(luò)攝像機(jī)網(wǎng)絡(luò)服務(wù)器發(fā)送數(shù)據(jù)返回請(qǐng)求。網(wǎng)絡(luò)攝像機(jī)網(wǎng)絡(luò)服務(wù)器確認(rèn)數(shù)據(jù)返回請(qǐng)求后,向發(fā)送請(qǐng)求的客戶端Android手機(jī)發(fā)送網(wǎng)絡(luò)攝像機(jī)實(shí)時(shí)拍攝的視頻數(shù)據(jù)流。嵌入式軟件A將接收到的視頻數(shù)據(jù)流轉(zhuǎn)換成Bitmap類型,并將Bitmap類型的視頻數(shù)據(jù)流實(shí)時(shí)顯示在Android手機(jī)屏幕上面形成視頻圖像,完成對(duì)接收到的視頻數(shù)據(jù)的解析播放。具體工作流程如下:
[0056]I)在嵌入式軟件A的設(shè)置頁(yè)面有輸入各個(gè)網(wǎng)絡(luò)攝像機(jī)IP地址的IP地址框,在初
始化階段,用戶第一次使用Android手機(jī)UAndroid手機(jī)2、......、Android手機(jī)m上安裝
的嵌入式軟件A時(shí),需要觸摸設(shè)置按鈕進(jìn)入設(shè)置頁(yè)面,分別在IP地址框中輸入各個(gè)網(wǎng)絡(luò)攝
像機(jī)的IP地址與端口號(hào)。首次輸入完成后Android手機(jī)l、Android手機(jī)2、......、Android
手機(jī)m會(huì)自動(dòng)保存該IP地址與端口號(hào),如果各個(gè)網(wǎng)絡(luò)攝像機(jī)的地址沒(méi)有發(fā)生改變,則下次
啟動(dòng)Android手機(jī)1、Android手機(jī)2、......、Android手機(jī)m上安裝的嵌入式軟件A時(shí)無(wú)
需重新輸入。如果某個(gè)網(wǎng)絡(luò)攝像機(jī)的IP地址或端口號(hào)發(fā)生了改變需要修改,則下次啟動(dòng)
Android手機(jī)l、Android手機(jī)2、......、Android手機(jī)m上安裝的嵌入式軟件A時(shí)重新進(jìn)入
設(shè)置頁(yè)面輸入該網(wǎng)絡(luò)攝像機(jī)的IP地址與端口號(hào)。
[0057]2)用戶觸摸嵌入式軟件A主頁(yè)面上對(duì)應(yīng)的網(wǎng)絡(luò)攝像機(jī)IP地址獲取按鈕,獲取初始化中用戶輸入的網(wǎng)絡(luò)攝像機(jī)IP地址與端口號(hào),在Android手機(jī)內(nèi)存中生成一個(gè)文本文件,存放獲取到的網(wǎng)絡(luò)攝像機(jī)IP地址與端口號(hào);嵌入式軟件A會(huì)自動(dòng)保存獲取到的網(wǎng)絡(luò)攝像機(jī)IP地址與端口號(hào),再次使用時(shí),如果網(wǎng)絡(luò)攝像機(jī)IP地址與端口號(hào)不發(fā)生改變,再次觸摸嵌入式軟件A主頁(yè)面上對(duì)應(yīng)的網(wǎng)絡(luò)攝像機(jī)IP地址獲取按鈕即可。
[0058]3)用戶觸摸嵌入式軟件A主頁(yè)面上對(duì)應(yīng)的開始按鈕,嵌入式軟件A通過(guò)BufferedReader (Java語(yǔ)言中的文件讀取類,這個(gè)類就是一個(gè)包裝類,它可以包裝字符流,將字符流放入緩存里,先把字符讀到緩存里,到緩存滿了的時(shí)候,再讀入內(nèi)存,就是為了提高讀取效率而設(shè)計(jì)的)獲取Android手機(jī)內(nèi)存中的文本文件中存入的對(duì)應(yīng)網(wǎng)絡(luò)攝像機(jī)的IP地址與端口號(hào),建立并開啟一個(gè)線程1,向URL(統(tǒng)一資源定位符,也被稱為網(wǎng)頁(yè)地址)中傳入獲取到的IP地址與端口號(hào),通過(guò)URL.0penConnection (Java語(yǔ)言中URL的開啟網(wǎng)絡(luò)連接方法)方法建立對(duì)網(wǎng)絡(luò)攝像機(jī)的連接。
[0059]4)線程I通過(guò)超文本傳輸Http協(xié)議發(fā)送請(qǐng)求嘗試連接此網(wǎng)絡(luò)攝像機(jī)IP地址,這個(gè)連接請(qǐng)求會(huì)返回一個(gè)結(jié)果值;嵌入式軟件A對(duì)返回的結(jié)果值進(jìn)行判斷,預(yù)設(shè)值是200,如果結(jié)果值等于200,則連接成功,如果結(jié)果值不等于200,則表明連接失敗,嵌入式軟件A繼續(xù)發(fā)送請(qǐng)求重新連接。
[0060]5 )連接成功后,嵌入式軟件A通過(guò)超文本傳輸Http協(xié)議向網(wǎng)絡(luò)攝像機(jī)網(wǎng)絡(luò)服務(wù)器發(fā)送數(shù)據(jù)返回請(qǐng)求,網(wǎng)絡(luò)攝像機(jī)網(wǎng)絡(luò)服務(wù)器收到嵌入式軟件A發(fā)送過(guò)來(lái)的數(shù)據(jù)返回請(qǐng)求后進(jìn)行判斷,如果指令正確則向嵌入式軟件A發(fā)送網(wǎng)絡(luò)攝像機(jī)內(nèi)部經(jīng)過(guò)壓縮編碼成JPEG (逐幀壓縮技術(shù))格式的視頻數(shù)據(jù)流。
[0061]網(wǎng)絡(luò)攝像機(jī)網(wǎng)絡(luò)服務(wù)器是內(nèi)置于網(wǎng)絡(luò)攝像機(jī)的一個(gè)軟件系統(tǒng);網(wǎng)絡(luò)攝像機(jī)云臺(tái)是一個(gè)硬件設(shè)備,相當(dāng)于在網(wǎng)絡(luò)攝像機(jī)下面的會(huì)上下左右轉(zhuǎn)動(dòng)的一個(gè)支架;網(wǎng)絡(luò)攝像機(jī)是主體,網(wǎng)絡(luò)攝像機(jī)內(nèi)含網(wǎng)絡(luò)攝像機(jī)網(wǎng)絡(luò)服務(wù)器,網(wǎng)絡(luò)攝像機(jī)網(wǎng)絡(luò)服務(wù)器屬于軟件系統(tǒng),網(wǎng)絡(luò)攝像機(jī)內(nèi)含網(wǎng)絡(luò)攝像機(jī)云臺(tái),網(wǎng)絡(luò)攝像機(jī)云臺(tái)屬于硬件設(shè)備。
[0062]6)嵌入式軟件 A 使用線程 I 里 Java 提供的 HttpURLConnection.getlnputStream(網(wǎng)絡(luò)連接獲取輸入數(shù)據(jù)流方法)方法將網(wǎng)絡(luò)攝像機(jī)網(wǎng)絡(luò)服務(wù)器發(fā)送的視頻數(shù)據(jù)流接收過(guò)來(lái),實(shí)時(shí)讀取成字節(jié)流形式,并存儲(chǔ)到Android手機(jī)內(nèi)存中,嵌入式軟件A通過(guò)Java的BitmapFactory.decodeByteArray (將指定字節(jié)數(shù)組解碼成不可變位圖方法)方法將讀入Android手機(jī)內(nèi)存中的視頻字節(jié)流轉(zhuǎn)換成可以生成圖片的Bitmap類型,并傳輸?shù)紸ndroid手機(jī)線程I。
[0063]具體是Bitmap對(duì)象,Bitmap是SurfaceView (Android的圖像顯不類)顯不的對(duì)象,每次讀數(shù)據(jù)出來(lái)后會(huì)重置Bitmap。
[0064]7)此時(shí)嵌入式軟件A開啟線程2,線程I不斷讀取Bitmap對(duì)象,并將此Bitmap對(duì)象實(shí)時(shí)傳入到嵌入式軟件A中已經(jīng)開啟的線程2,嵌入式軟件A將Bitmap類型視頻字節(jié)流通過(guò)canvas.drawBitmap (Android的位圖畫圖方法)方法描繪到SurfaceView類控件上面生成圖像。
[0065]SurfaceView是視圖View的繼承類,這個(gè)視圖類里內(nèi)嵌了一個(gè)專門用于繪圖的Surface類(繪圖類)。這里用到了 一個(gè)SurfaceHolder類(繪圖控制類),可以把它當(dāng)成Surface類的控制器,用來(lái)控制這個(gè)Surface類的格式、尺寸以及繪制部位。嵌入式軟件A實(shí)時(shí)接收網(wǎng)絡(luò)攝像機(jī)發(fā)送過(guò)來(lái)的視頻數(shù)據(jù)流,通過(guò)循環(huán)調(diào)用SurfaceHolder.UnlockCanvasAndPost (完成圖像像素編輯)方法實(shí)時(shí)進(jìn)行屏幕顯示內(nèi)容的更新,達(dá)到連續(xù)生成圖像的效果,完成視頻的解析播放。
[0066]3.用戶對(duì)監(jiān)控端網(wǎng)絡(luò)攝像機(jī)云臺(tái)進(jìn)行遠(yuǎn)程控制;
[0067]參閱圖4,在嵌入式軟件A主頁(yè)面上有監(jiān)控端各個(gè)網(wǎng)絡(luò)攝像機(jī)對(duì)應(yīng)的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕,用戶通過(guò)觸摸嵌入式軟件A主界面上對(duì)應(yīng)網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕,發(fā)送對(duì)應(yīng)的控制指令,嵌入式軟件A進(jìn)入線程I中對(duì)用戶發(fā)送來(lái)的控制指令進(jìn)行監(jiān)聽。嵌入式軟件A將用戶發(fā)送過(guò)來(lái)的按鍵值(co_and)寫入到網(wǎng)絡(luò)攝像機(jī)API (應(yīng)用程序編程接口)接口協(xié)議的操作代碼中。嵌入式軟件A通過(guò)超文本傳輸Http協(xié)議將攜帶按鍵值的代碼語(yǔ)句發(fā)送到對(duì)應(yīng)網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器。網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器識(shí)別具體傳送過(guò)來(lái)的按鍵值并解碼,將解碼得到的控制指令發(fā)送給網(wǎng)絡(luò)攝像機(jī)內(nèi)置電機(jī),驅(qū)動(dòng)網(wǎng)絡(luò)攝像機(jī)內(nèi)置電機(jī)完成網(wǎng)絡(luò)攝像機(jī)云臺(tái)的相應(yīng)動(dòng)作。具體工作流程如下:
[0068]I)在初始化階段,通過(guò)網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器控制網(wǎng)絡(luò)攝像機(jī)內(nèi)置電機(jī)的方法,嵌入式軟件A將網(wǎng)絡(luò)攝像機(jī)上移、停止上移、下移、停止下移、左移、停止左移、右移、停止右移、上下巡航掃描移動(dòng)以及左右巡航掃描移動(dòng)的動(dòng)作分別設(shè)置綁定到對(duì)應(yīng)名稱的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕上,隨時(shí)監(jiān)聽用戶觸摸網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕的動(dòng)作。
[0069]2)用戶通過(guò)觸摸客戶端Android手機(jī)上安裝的嵌入式軟件A主頁(yè)面上對(duì)應(yīng)的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕,發(fā)送控制指令,初始化中設(shè)置好的嵌入式軟件A對(duì)發(fā)送的控制指令進(jìn)行監(jiān)聽判斷。
[0070]網(wǎng)絡(luò)攝像機(jī)云臺(tái)控制指令的發(fā)送過(guò)程如下:嵌入式軟件A首先定義一個(gè)按鍵值(command),若當(dāng)用戶所按鈕所對(duì)應(yīng)的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作為上時(shí),嵌入式軟件A發(fā)送按鍵值為0、1 ;同理,若當(dāng)用戶所按按鈕對(duì)應(yīng)的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作為下時(shí),嵌入式軟件A發(fā)送按鍵值為2、3,以此類推,客戶端Android手機(jī)可完成對(duì)網(wǎng)絡(luò)攝像機(jī)云臺(tái)上移、停止上移、下移、停止下移、左移、停止左移、右移、停止右移、上下巡航掃描移動(dòng)以及左右巡航掃描移動(dòng)這幾組控制指令的發(fā)送。這里假設(shè)用戶觸摸了代表網(wǎng)絡(luò)攝像機(jī)云臺(tái)上移、停止上移的這個(gè)網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕。
[0071]3)用戶觸摸嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕之后,嵌入式軟件A分別對(duì)收到的按鍵值與嵌入式軟件A中預(yù)置對(duì)應(yīng)的按鍵值進(jìn)行比較,如果二者相等,說(shuō)明控制指令是嵌入式軟件A向網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器發(fā)送的控制指令,則通過(guò)接收視頻數(shù)據(jù)時(shí)建立完成的超文本傳輸Http協(xié)議連接向網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器發(fā)送控制指令;如果二者不等,說(shuō)明該控制指令不是嵌入式軟件A向網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器發(fā)送的控制指令,則繼續(xù)監(jiān)聽。
[0072]網(wǎng)絡(luò)攝像機(jī)提供了基于Http協(xié)議的API接口,可以通過(guò)Java語(yǔ)言寫入接口程序?qū)W(wǎng)絡(luò)攝像機(jī)進(jìn)行多種控制應(yīng)用,本發(fā)明向網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器發(fā)送控制指令只是其眾多接口應(yīng)用中的一種。
[0073]4)置于網(wǎng)絡(luò)攝像機(jī)內(nèi)的網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器收到嵌入式軟件A發(fā)送過(guò)來(lái)的控制指令后,通過(guò)decoder_control.cgi_command方法(API協(xié)議中的網(wǎng)絡(luò)攝像機(jī)云臺(tái)控制方法)對(duì)相應(yīng)控制指令進(jìn)行解析,方法中的command即代表嵌入式軟件A發(fā)送過(guò)來(lái)的按鍵值,網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器對(duì)傳遞過(guò)來(lái)的按鍵值進(jìn)行判斷,網(wǎng)絡(luò)攝像機(jī)云臺(tái)上移、停止上移動(dòng)作對(duì)應(yīng)的按鍵值已經(jīng)在API接口協(xié)議中被定義為O、1,通過(guò)假設(shè)這里傳入的按鍵值是O、I。為了避免用戶觸摸“上移”這個(gè)按鈕松手之后網(wǎng)絡(luò)攝像機(jī)云臺(tái)持續(xù)向上移動(dòng),在代表“上移”這個(gè)按鈕上面綁定了兩個(gè)按鍵值O和I。并在嵌入式軟件A內(nèi)的發(fā)送按鍵值O之后加入了0.5秒的延時(shí)代碼,然后發(fā)送按鍵值I。這樣可以使用戶觸摸代表“上移”這個(gè)按鈕之后網(wǎng)絡(luò)攝像機(jī)云臺(tái)向上移動(dòng)0.5秒之后停下,從而達(dá)到微調(diào)的目的,以此類推,其他幾個(gè)單向網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕均如此綁定了兩個(gè)按鍵值實(shí)現(xiàn)了微調(diào)的功能。
[0074]5)網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器通過(guò)嵌入式軟件A編寫好的按鍵值所對(duì)應(yīng)的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作操縱網(wǎng)絡(luò)攝像機(jī)內(nèi)置電機(jī),從而完成對(duì)網(wǎng)絡(luò)攝像機(jī)云臺(tái)的上移、下移、左移、右移、上下巡航掃描移動(dòng)、左右巡航掃描移動(dòng)幾組動(dòng)作的操作。因?yàn)榧僭O(shè)中按鍵值等于0、1已經(jīng)在API接口協(xié)議中被定義為網(wǎng)絡(luò)攝像機(jī)云臺(tái)上移、停止上移的意思,所以網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器將解碼得到的對(duì)應(yīng)控制指令發(fā)送給網(wǎng)絡(luò)攝像機(jī)內(nèi)置電機(jī),網(wǎng)絡(luò)攝像機(jī)云臺(tái)最終完成了上移、停止上移的動(dòng)作。
[0075]遵照網(wǎng)絡(luò)攝像機(jī)API接口協(xié)議,按鍵值O、I代表上移、停止上移,2、3代表下移、停止下移,4、5代表左移、停止左移,6、7代表右移、停止右移,26代表上下巡航掃描移動(dòng)、28代表左右巡航掃描移動(dòng)。
[0076]4.用戶對(duì)監(jiān)控端網(wǎng)絡(luò)攝像機(jī)的報(bào)警功能進(jìn)行設(shè)置、監(jiān)聽接收警報(bào)信息并顯示;
[0077]參閱圖5,用戶通過(guò)觸摸位于嵌入式軟件A主界面的報(bào)警設(shè)置按鈕來(lái)設(shè)置監(jiān)控端網(wǎng)絡(luò)攝像機(jī)報(bào)警功能的報(bào)警信息接收郵箱地址,并通過(guò)觸摸位于嵌入式軟件A主界面的開啟報(bào)警按鈕開啟網(wǎng)絡(luò)攝像機(jī)的報(bào)警功能,同時(shí)嵌入式軟件A會(huì)自動(dòng)開啟郵箱接收郵件自動(dòng)提醒功能,監(jiān)聽警報(bào)信息,若接收到報(bào)警信息,系統(tǒng)自動(dòng)提醒用戶登錄指定郵箱查看警報(bào)截圖信息。主要工作流程如下:
[0078]I)在初始化階段,用戶通過(guò)觸摸嵌入式軟件A主界面的報(bào)警設(shè)置按鈕,建立SMTP郵件服務(wù)器,設(shè)置警報(bào)信息發(fā)送郵箱地址與接收郵箱地址。[0079]SMTP (Simple Mail Transfer Protocol)即簡(jiǎn)單郵件傳輸協(xié)議,它是一組用于由源地址到目的地址傳送郵件的規(guī)則,由它來(lái)控制郵件的中轉(zhuǎn)方式。
[0080]2)用戶通過(guò)觸摸嵌入式軟件A上面的開啟報(bào)警按鈕,開啟網(wǎng)絡(luò)攝像機(jī)移動(dòng)偵測(cè)報(bào)警功能。移動(dòng)偵測(cè)報(bào)警功能主要利用軟件檢測(cè)拍攝畫面前后像素對(duì)比原理,網(wǎng)絡(luò)攝像機(jī)對(duì)拍攝畫面每一幀前后畫面像素進(jìn)行對(duì)比,如果網(wǎng)絡(luò)攝像機(jī)的拍攝畫面發(fā)生變化,則發(fā)生變化時(shí)刻那一幀畫面前后像素會(huì)發(fā)生改變,通過(guò)這種改變進(jìn)行是否屬于移動(dòng)偵測(cè)報(bào)警范圍的判斷,也即是否有畫面移動(dòng)的判斷。
[0081]3)網(wǎng)絡(luò)攝像機(jī)進(jìn)行畫面移動(dòng)偵測(cè),對(duì)每一幀圖像拍攝前后畫面像素進(jìn)行對(duì)比,若每一幀畫面前后像素都沒(méi)有發(fā)生明顯變化,則繼續(xù)偵測(cè);若某一幀畫面前后像素發(fā)生了明顯變化則執(zhí)行報(bào)警程序。
[0082]4)在執(zhí)行的網(wǎng)絡(luò)攝像機(jī)報(bào)警程序中,網(wǎng)絡(luò)攝像機(jī)將那一幀前后像素發(fā)生了明顯變化的畫面截圖保存,通過(guò)超文本傳輸Http協(xié)議發(fā)送至郵件服務(wù)器SMTP,通過(guò)郵件服務(wù)器SMTP轉(zhuǎn)發(fā)至預(yù)設(shè)的警報(bào)信息接收郵箱。
[0083]5) Android手機(jī)通過(guò)嵌入式軟件A設(shè)置郵件接收提醒,并綁定網(wǎng)絡(luò)攝像機(jī)預(yù)設(shè)的警報(bào)信息接收郵箱,當(dāng)網(wǎng)絡(luò)攝像機(jī)發(fā)來(lái)報(bào)警郵件時(shí),Android手機(jī)可以接到報(bào)警郵件接收提示,用戶可以通過(guò)觸摸Android手機(jī)上安裝的嵌入式軟件A主界面上的警報(bào)信息查看按鈕,登錄預(yù)設(shè)警報(bào)信息接收郵箱查看網(wǎng)絡(luò)攝像機(jī)發(fā)送過(guò)來(lái)的報(bào)警郵件,內(nèi)含網(wǎng)絡(luò)攝像機(jī)拍攝畫面發(fā)生變化時(shí)的截圖警報(bào)信息,從而實(shí)現(xiàn)網(wǎng)絡(luò)攝像機(jī)警報(bào)信息Android手機(jī)實(shí)時(shí)接收的功倉(cāng)泛。
[0084]實(shí)施例1:
[0085]在本實(shí)施案例中m=3、n=l,即實(shí)現(xiàn)三部Android手機(jī)同時(shí)對(duì)一臺(tái)網(wǎng)絡(luò)攝像機(jī)的遠(yuǎn)程監(jiān)視與網(wǎng)絡(luò)攝像機(jī)云臺(tái)控制,客戶端Android手機(jī)I的型號(hào)為HTC G17(EV03D),其Android手機(jī)操作系統(tǒng)的版本是2.3.4,版本號(hào)是1.22.708.4,客戶端Android手機(jī)2的型號(hào)為摩托羅拉XT681,其Android手機(jī)操作系統(tǒng)的版本是2.3.6,版本號(hào)是IRMXCT_9_02.19.05RPS,客戶端Android手機(jī)3的型號(hào)為三星GT-19308,其Android手機(jī)操作系統(tǒng)的版本是4.0.4,版本號(hào)是IMM76D.19308ZMBMB1,監(jiān)控端一臺(tái)網(wǎng)絡(luò)攝像機(jī)I具體型號(hào)為EasyN FS-613A-M136,外接5V直流電源。案例實(shí)施時(shí),監(jiān)控端網(wǎng)絡(luò)攝像機(jī)I位于吉林大學(xué)南嶺校區(qū)基礎(chǔ)樓512室內(nèi),用戶攜帶客戶端Android手機(jī)I位于吉林大學(xué)南嶺校區(qū)6公寓307室內(nèi),二者直線距離約為600m,用戶攜帶客戶端Android手機(jī)2位于吉林大學(xué)南嶺校區(qū)逸夫教學(xué)樓2樓大廳,二者直線距離約為200m,用戶攜帶客戶端Android手機(jī)3位于吉林大學(xué)南湖校區(qū)第一教學(xué)樓219室內(nèi),二者直線距離約為4km。
[0086]采用Android手機(jī)實(shí)現(xiàn)監(jiān)控端網(wǎng)絡(luò)攝像機(jī)I遠(yuǎn)程視頻監(jiān)視的方法的步驟如下:
[0087]1.設(shè)備初始化
[0088]用戶首次使用Android手機(jī)l、Android手機(jī)2、Android手機(jī)3上安裝的嵌入式軟件A時(shí),觸摸設(shè)置按鈕進(jìn)入設(shè)置界面,分別在網(wǎng)絡(luò)攝像機(jī)I的IP地址框中輸入監(jiān)控端網(wǎng)絡(luò)攝像機(jī)I的IP地址與端口號(hào)。輸入完成后Android手機(jī)1、Android手機(jī)2、Android手機(jī)3會(huì)自動(dòng)保存該IP地址與端口號(hào),下次運(yùn)行嵌入式軟件A時(shí)不需要重新輸入;
[0089]2.獲取網(wǎng)絡(luò)攝像機(jī)I的IP地址
[0090]用戶觸摸嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)I的IP地址獲取按鈕后,在Android手機(jī)內(nèi)存中生成一個(gè)文本文件,存放用戶輸入的網(wǎng)絡(luò)攝像機(jī)I的IP地址與端口號(hào),嵌入式軟件A通過(guò)Java提供的BufferedWriter獲取存放于Android手機(jī)內(nèi)存文本文件中的網(wǎng)絡(luò)攝像機(jī)I的IP地址與端口號(hào)。
[0091]3.請(qǐng)求連接網(wǎng)絡(luò)攝像機(jī)I的IP地址
[0092]獲取到網(wǎng)絡(luò)攝像機(jī)I的IP地址后,用戶觸摸嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)I的開始按鈕,嵌入式軟件A建立并開啟一個(gè)線程1,向鏈接URL中傳入獲取到的IP地址與端口號(hào),通過(guò)Java提供的URL.0penConnection方法建立對(duì)網(wǎng)絡(luò)攝像機(jī)I的IP地址的網(wǎng)絡(luò)連接,這個(gè)線程通過(guò)超文本傳輸Http協(xié)議發(fā)送請(qǐng)求嘗試連接此IP地址,這個(gè)連接請(qǐng)求返回
一個(gè)結(jié)果值。
[0093]4.連接成功后請(qǐng)求視頻數(shù)據(jù)返回
[0094]嵌入式軟件A對(duì)返回的結(jié)果值進(jìn)行判斷,返回結(jié)果值與預(yù)設(shè)值相等,連接成功,嵌入式軟件A通過(guò)Http協(xié)議向網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)網(wǎng)絡(luò)服務(wù)器發(fā)送數(shù)據(jù)返回請(qǐng)求,網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)網(wǎng)絡(luò)服務(wù)器收到嵌入式軟件A發(fā)送過(guò)來(lái)的數(shù)據(jù)返回請(qǐng)求后進(jìn)行判斷,指令正確,向發(fā)送請(qǐng)求的嵌入式軟件A發(fā)送網(wǎng)絡(luò)攝像機(jī)I內(nèi)部經(jīng)過(guò)壓縮編碼成JPEG格式視頻數(shù)據(jù)流。
[0095]5.將視頻數(shù)據(jù)轉(zhuǎn)化為Bitmap類型
[0096]嵌入式軟件A 通過(guò)線程 I 里面 Java 提供的 HttpURLConnection.getlnputStream方法將網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)網(wǎng)絡(luò)服務(wù)器發(fā)送的視頻數(shù)據(jù)流接收過(guò)來(lái),實(shí)時(shí)讀取成字節(jié)流形式,并存儲(chǔ)到Android手機(jī)內(nèi)存中,嵌入式軟件A通過(guò)Java提供的BitmapFactory.decodeByteArray方法將讀入Android手機(jī)內(nèi)存中的視頻字節(jié)流轉(zhuǎn)換成可以生成圖片的Bitmap類型。并傳輸?shù)绞謾C(jī)線程1,具體是Bitmap對(duì)象,是SurfaceView顯示的對(duì)象,每次讀數(shù)據(jù)出來(lái)后會(huì)重置Bitmap。
[0097]6.將Bitmap類型視頻數(shù)據(jù)轉(zhuǎn)化成視頻播放
[0098]此時(shí)嵌入式軟件A開啟線程2,線程I不斷讀取這個(gè)Bitmap對(duì)象,并將此Bitmap對(duì)象傳入到嵌入式軟件A中已經(jīng)開啟的線程2,將Bitmap類型的視頻字節(jié)流通過(guò)canvas.drawBitmap方法描繪到SurfaceView控件上面生成圖片。嵌入式軟件A實(shí)時(shí)接收網(wǎng)絡(luò)攝像機(jī)I發(fā)送過(guò)來(lái)的字節(jié)流,通過(guò)SurfaceHolder.UnlockCanvasAndPost方法實(shí)時(shí)進(jìn)行屏幕顯示內(nèi)容的更新,達(dá)到連續(xù)生成圖片的效果,完成視頻的解析播放。
[0099]視頻解析播放結(jié)果:通過(guò)觸摸客戶端Android手機(jī)I上安裝的嵌入式軟件A主頁(yè)面上網(wǎng)絡(luò)攝像機(jī)I的開始按鈕,位于Android手機(jī)I屏幕上嵌入式軟件A的網(wǎng)絡(luò)攝像機(jī)I的圖形界面出現(xiàn)連續(xù)播放的視頻圖像。通過(guò)觸摸客戶端Android手機(jī)2上安裝的嵌入式軟件A主頁(yè)面上網(wǎng)絡(luò)攝像機(jī)I的開始按鈕,位于Android手機(jī)2屏幕上嵌入式軟件A的網(wǎng)絡(luò)攝像機(jī)I的圖形界面出現(xiàn)連續(xù)播放的視頻圖像。通過(guò)觸摸客戶端Android手機(jī)3上安裝的嵌入式軟件A主頁(yè)面上網(wǎng)絡(luò)攝像機(jī)I的開始按鈕,位于Android手機(jī)3屏幕上嵌入式軟件A的網(wǎng)絡(luò)攝像機(jī)I的圖形界面出現(xiàn)連續(xù)播放的視頻圖像。
[0100]采用Android手機(jī)控制監(jiān)控端網(wǎng)絡(luò)攝像機(jī)I網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作的步驟如下:
[0101]1.設(shè)備初始化;
[0102]在初始化階段,通過(guò)網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器控制網(wǎng)絡(luò)攝像機(jī)內(nèi)置電機(jī)的方法,嵌入式軟件A將網(wǎng)絡(luò)攝像機(jī)I上移、停止上移、下移、停止下移、左移、停止左移、右移、停止右移、上下巡航掃描移動(dòng)以及左右巡航掃描移動(dòng)的動(dòng)作設(shè)置綁定到對(duì)應(yīng)名稱的按鍵上,通過(guò)嵌入式軟件A隨時(shí)監(jiān)聽用戶的按下動(dòng)作。
[0103]2.手機(jī)發(fā)送控制指令;
[0104]打開客戶端Android手機(jī)I上安裝的嵌入式軟件A,觸摸嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕中的上移按鈕,內(nèi)容為“0、1”的按鍵值被嵌入式軟件A監(jiān)聽并比較。打開客戶端Android手機(jī)2上安裝的嵌入式軟件A,觸摸嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕中的上下巡航按鈕,內(nèi)容為“26”的按鍵值被嵌入式軟件A監(jiān)聽并比較。打開客戶端Android手機(jī)3上安裝的嵌入式軟件A,觸摸嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕中的左移按鈕,內(nèi)容為“4、5”的按鍵值被嵌入式軟件A監(jiān)聽并比較。
[0105]3.監(jiān)聽并判斷控制指令是否正確;
[0106]用戶觸摸網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕中的上移按鈕之后,嵌入式軟件A分別對(duì)收到的按鍵值與嵌入式軟件A中預(yù)置按鍵值進(jìn)行比較,因?yàn)槎呦嗟龋f(shuō)明按鍵值是嵌入式軟件A向網(wǎng)絡(luò)攝像機(jī)I云臺(tái)解碼器發(fā)送的控制指令。
[0107]4.向網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器發(fā)送控制指令;
[0108]嵌入式軟件A通過(guò)接收網(wǎng)絡(luò)攝像機(jī)I拍攝視頻時(shí)連接完成的Http網(wǎng)絡(luò)連接,將對(duì)應(yīng)正確控制指令的按鍵值“0、1”、“26”、“4、5”發(fā)送到監(jiān)控端網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器。
[0109]5.網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器解析控制指令并操縱網(wǎng)絡(luò)攝像機(jī)內(nèi)置電機(jī)
[0110]網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器接收到控制指令后,對(duì)照網(wǎng)絡(luò)攝像機(jī)API接口協(xié)議中的按鍵值對(duì)應(yīng)具體動(dòng)作方法對(duì)接收到的按鍵值進(jìn)行解析識(shí)別,因?yàn)榘存I值“O、I”在API接口協(xié)議中被定義為“上移、停止上移”,按鍵值“26”在API接口協(xié)議中被定義為“上下巡航掃描移動(dòng)”,按鍵值“4、5”在API接口協(xié)議中被定義為“左移、停止左移”,所以網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器分別向網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)內(nèi)置電機(jī)發(fā)送“上移、停止上移”、“上下巡航掃描移動(dòng)”、“左移、停止左移”控制指令,由于嵌入式軟件A中加入
0.5秒的延時(shí)程序,從而網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)內(nèi)置電機(jī)分別完成對(duì)網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)上移、間隔0.5秒停止上移,上下巡航掃描移動(dòng),左移、間隔0.5秒停止左移這三組動(dòng)作。
[0111]控制結(jié)果:通過(guò)觸摸客戶端Android手機(jī)I上安裝的嵌入式軟件A主頁(yè)面上網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕中的上移按鈕,監(jiān)控端網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)完成上移、間隔0.5秒停止上移動(dòng)作。通過(guò)觸摸客戶端Android手機(jī)2上安裝的嵌入式軟件A主頁(yè)面上網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕中的上下巡航按鈕,監(jiān)控端網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)完成向上移動(dòng)至水平向上90度后向下移動(dòng)至水平向下30度并循環(huán)移動(dòng)。通過(guò)觸摸客戶端Android手機(jī)3上安裝的嵌入式軟件A主頁(yè)面上網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕中的左移按鈕,監(jiān)控端網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)完成左移、間隔0.5秒停止左移動(dòng)作。
[0112]采用Android手機(jī)設(shè)置、開啟監(jiān)控端網(wǎng)絡(luò)攝像機(jī)I報(bào)警功能并接收警報(bào)信息的步驟如下:[0113]1.設(shè)備初始化
[0114]在初始化階段,用戶分別觸摸Android手機(jī)1、Android手機(jī)2、Android手機(jī)3上安裝的嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)I的報(bào)警設(shè)置按鈕,設(shè)置網(wǎng)絡(luò)攝像機(jī)I的警報(bào)信息發(fā)送郵箱地址與接收郵箱地址。警報(bào)信息發(fā)送郵箱地址設(shè)置為4987*****@qq.com,警報(bào)信息接收郵箱地址設(shè)置為1660****@qq.com。
[0115]2.手機(jī)開啟網(wǎng)絡(luò)攝像機(jī)I的報(bào)警功能
[0116]用戶分別觸摸Android手機(jī)l、Android手機(jī)2、Android手機(jī)3上安裝的嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)I的開啟報(bào)警按鈕,通過(guò)與網(wǎng)絡(luò)攝像機(jī)I拍攝視頻時(shí)連接完成的Http網(wǎng)絡(luò)連接,開啟網(wǎng)絡(luò)攝像機(jī)I畫面移動(dòng)偵測(cè)報(bào)警功能。
[0117]3.偵測(cè)畫面移動(dòng)
[0118]網(wǎng)絡(luò)攝像機(jī)I進(jìn)行畫面移動(dòng)偵測(cè),對(duì)每一幀拍攝前后畫面像素進(jìn)行對(duì)比,若每一幀畫面前后像素都沒(méi)有發(fā)生明顯變化,則繼續(xù)偵測(cè);若某一幀畫面前后像素發(fā)生了明顯變化則執(zhí)行報(bào)警程序。
[0119]4.發(fā)送警報(bào)信息
[0120]網(wǎng)絡(luò)攝像機(jī)I監(jiān)控范圍內(nèi)出現(xiàn)物體移動(dòng)造成幀前后像素變化,網(wǎng)絡(luò)攝像機(jī)I將那一幀前后像素發(fā)生明顯變化的畫面截圖保存,通過(guò)Http協(xié)議與郵件轉(zhuǎn)發(fā)協(xié)議將警報(bào)截圖信息實(shí)時(shí)發(fā)送至網(wǎng)絡(luò)攝像機(jī)I的警報(bào)信息接收郵箱。
[0121]5.Android手機(jī)查看警報(bào)信息
[0122]Android手機(jī)上安裝的嵌入式軟件A實(shí)時(shí)顯示網(wǎng)絡(luò)攝像機(jī)I的報(bào)警郵件接收提醒,用戶觸摸Android手機(jī)上安裝的嵌入式軟件A主界面上的網(wǎng)絡(luò)攝像機(jī)I的警報(bào)信息查看按鈕,登錄網(wǎng)絡(luò)攝像機(jī)I的警報(bào)信息接收郵箱查看網(wǎng)絡(luò)攝像機(jī)I發(fā)送過(guò)來(lái)的報(bào)警郵件,內(nèi)含畫面移動(dòng)發(fā)生時(shí)的截圖信息,實(shí)現(xiàn)系統(tǒng)報(bào)警手機(jī)實(shí)時(shí)接收的功能。
[0123]控制結(jié)果:通過(guò)分別觸摸客戶端Android手機(jī)1、Android手機(jī)2、Android手機(jī)3上安裝的嵌入式軟件A主頁(yè)面上網(wǎng)絡(luò)攝像機(jī)I的開啟報(bào)警按鈕,開啟了網(wǎng)絡(luò)攝像機(jī)I的報(bào)警功能,監(jiān)控端網(wǎng)絡(luò)攝像機(jī)I監(jiān)視范圍內(nèi)出現(xiàn)物體移動(dòng)后,控制端Android手機(jī)UAndroid手機(jī)2、Android手機(jī)3實(shí)時(shí)接收到報(bào)警郵件提醒,用戶觸摸Android手機(jī)上安裝的嵌入式軟件A主界面上的網(wǎng)絡(luò)攝像機(jī)I的警報(bào)信息查看按鈕,自動(dòng)登錄網(wǎng)絡(luò)攝像機(jī)I的警報(bào)信息接收郵箱完成了警報(bào)截圖信息的查看。
[0124]實(shí)施例2:
[0125]在本實(shí)施案例中m=3、n=2,即實(shí)現(xiàn)三部Android手機(jī)同時(shí)對(duì)兩臺(tái)網(wǎng)絡(luò)攝像機(jī)的遠(yuǎn)程監(jiān)視與云臺(tái)控制,客戶端Android手機(jī)I的型號(hào)為HTC G17 (EV03D),其Android手機(jī)操作系統(tǒng)的版本是2.3.4,版本號(hào)是1.22.708.4,客戶端Android手機(jī)2的型號(hào)為摩托羅拉XT681,其Android手機(jī)操作系統(tǒng)的版本是2.3.6,版本號(hào)是IRMXCT_9_02.19.05RPS,客戶端Android手機(jī)3的型號(hào)為三星GT-19308,其Android手機(jī)操作系統(tǒng)的版本是4.0.4,版本號(hào)是IMM76D.19308ZMBMB1,監(jiān)控端網(wǎng)絡(luò)攝像機(jī)I具體型號(hào)為EasyN FS-613A-M136,網(wǎng)絡(luò)攝像機(jī)2具體型號(hào)為EasyN F3-FM187,均外接5V直流電源。案例實(shí)施時(shí),監(jiān)控端網(wǎng)絡(luò)攝像機(jī)1、
2均位于吉林大學(xué)南嶺校區(qū)基礎(chǔ)樓512室內(nèi),用戶攜帶客戶端Android手機(jī)I位于吉林大學(xué)南嶺校區(qū)6公寓307室內(nèi),二者直線距離約為600m,用戶攜帶客戶端Android手機(jī)2位于吉林大學(xué)南嶺校區(qū)逸夫教學(xué)樓2樓大廳,二者直線距離約為200m,用戶攜帶客戶端Android手機(jī)3位于吉林大學(xué)南湖校區(qū)第一教學(xué)樓219室內(nèi),二者直線距離約為4km。
[0126]采用Android手機(jī)實(shí)現(xiàn)監(jiān)控端網(wǎng)絡(luò)攝像機(jī)I遠(yuǎn)程視頻監(jiān)視的方法的步驟如下:
[0127]1.設(shè)備初始化
[0128]用戶首次使用Android手機(jī)l、Android手機(jī)2、Android手機(jī)3上安裝的嵌入式軟件A時(shí),觸摸設(shè)置按鈕進(jìn)入設(shè)置界面,分別在網(wǎng)絡(luò)攝像機(jī)I的IP地址框中輸入監(jiān)控端網(wǎng)絡(luò)攝像機(jī)I的IP地址與端口號(hào)。輸入的網(wǎng)絡(luò)攝像機(jī)I的IP地址與端口號(hào)為59.72.78.192與80。輸入完成后Android手機(jī)l、Android手機(jī)2、Android手機(jī)3會(huì)自動(dòng)保存該IP地址與端口號(hào),下次運(yùn)行嵌入式軟件A時(shí)不需要重新輸入;
[0129]2.獲取網(wǎng)絡(luò)攝像機(jī)I的IP地址
[0130]用戶觸摸嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)I的IP地址獲取按鈕后,在Android手機(jī)內(nèi)存中生成一個(gè)文本文件,存放用戶輸入的網(wǎng)絡(luò)攝像機(jī)I的IP地址與端口號(hào),嵌入式軟件A通過(guò)Java提供的BufferedWriter類獲取存放于Android手機(jī)內(nèi)存文本文件中的網(wǎng)絡(luò)攝像機(jī)I的IP地址與端口號(hào)。
[0131]3.請(qǐng)求連接網(wǎng)絡(luò)攝像機(jī)I的IP地址
[0132]獲取到網(wǎng)絡(luò)攝像機(jī)I的IP地址后,用戶分別觸摸Android手機(jī)1、Android手機(jī)
2、Android手機(jī)3上安裝的嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)I的開始按鈕,嵌入式軟件A建立并開啟一個(gè)線程1,向鏈接URL中傳入獲取到的IP地址與端口號(hào),通過(guò)Java提供的URL.0penConnection方法建立對(duì)網(wǎng)絡(luò)攝像機(jī)I的IP地址的網(wǎng)絡(luò)連接,線程I通過(guò)Http協(xié)議發(fā)送請(qǐng)求嘗試連接此IP地址,這個(gè)連接請(qǐng)求返回一個(gè)結(jié)果值。
[0133]4.連接成功后請(qǐng)求視頻數(shù)據(jù)返回
[0134]嵌入式軟件A對(duì)返回的結(jié)果值進(jìn)行判斷,返回結(jié)果值與預(yù)設(shè)值相等,連接成功,嵌入式軟件A通過(guò)Http協(xié)議向網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)網(wǎng)絡(luò)服務(wù)器發(fā)送數(shù)據(jù)返回請(qǐng)求,網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)網(wǎng)絡(luò)服務(wù)器收到嵌入式軟件A發(fā)送過(guò)來(lái)的數(shù)據(jù)返回請(qǐng)求后進(jìn)行判斷,指令正確,向發(fā)送請(qǐng)求的嵌入式軟件A發(fā)送網(wǎng)絡(luò)攝像機(jī)I內(nèi)部經(jīng)過(guò)壓縮編碼成JPEG格式視頻數(shù)據(jù)流。
[0135]5.將視頻數(shù)據(jù)轉(zhuǎn)化為Bitmap類型
[0136]嵌入式軟件A 通過(guò)線程 I 里面 Java 提供的 HttpURLConnection.getlnputStream方法將網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)網(wǎng)絡(luò)服務(wù)器發(fā)送的視頻數(shù)據(jù)流接收過(guò)來(lái),實(shí)時(shí)讀取成字節(jié)流形式,并存儲(chǔ)到Android手機(jī)內(nèi)存中,嵌入式軟件A通過(guò)Java提供的BitmapFactory.decodeByteArray方法將讀入Android手機(jī)內(nèi)存中的視頻字節(jié)流轉(zhuǎn)換成可以生成圖片的Bitmap類型。并傳輸?shù)骄€程1,具體是Bitmap對(duì)象,Bitmap是SurfaceView顯示的對(duì)象,每次讀數(shù)據(jù)出來(lái)后會(huì)重置Bitmap。
[0137]6.將Bitmap類型視頻數(shù)據(jù)轉(zhuǎn)化成視頻播放
[0138]此時(shí)嵌入式軟件A開啟線程2,線程I不斷讀取這個(gè)Bitmap對(duì)象,并將此Bitmap對(duì)象傳入到嵌入式軟件A中已經(jīng)開啟的線程2,將Bitmap類型的視頻字節(jié)流通過(guò)Java提供的canvas.drawBitmap方法描繪到嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)I對(duì)應(yīng)的SurfaceView控件上面形成圖片。嵌入式軟件A通過(guò)Android提供的SurfaceHolder.UnlockCanvasAndPost方法實(shí)時(shí)進(jìn)行屏幕顯示內(nèi)容的更新,達(dá)到連續(xù)生成圖片的效果,完成視頻在Android手機(jī)1、Android手機(jī)2、Android手機(jī)3上的解析播放。[0139]采用Android手機(jī)實(shí)現(xiàn)監(jiān)控端網(wǎng)絡(luò)攝像機(jī)2遠(yuǎn)程視頻監(jiān)視的方法的步驟如下:
[0140]1.設(shè)備初始化
[0141]用戶首次使用Android手機(jī)l、Android手機(jī)2、Android手機(jī)3上安裝的嵌入式軟件A時(shí),觸摸設(shè)置按鈕進(jìn)入設(shè)置界面,分別在網(wǎng)絡(luò)攝像機(jī)2的IP地址框中輸入監(jiān)控端網(wǎng)絡(luò)攝像機(jī)2的IP地址與端口號(hào)。輸入的網(wǎng)絡(luò)攝像機(jī)2的IP地址與端口號(hào)為59.72.78.192與1888。輸入完成后Android手機(jī)l、Android手機(jī)2、Android手機(jī)3會(huì)自動(dòng)保存該IP地址與端口號(hào),下次運(yùn)行嵌入式軟件A時(shí)不需要重新輸入;
[0142]2.獲取網(wǎng)絡(luò)攝像機(jī)2的IP地址
[0143]用戶觸摸嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)2的IP地址獲取按鈕后,在Android手機(jī)內(nèi)存中生成一個(gè)文本文件,存放用戶輸入的網(wǎng)絡(luò)攝像機(jī)2的IP地址與端口號(hào),嵌入式軟件A通過(guò)Java提供的BufferedWriter類獲取存放于Android手機(jī)內(nèi)存文本文件中的網(wǎng)絡(luò)攝像機(jī)2的IP地址與端口號(hào)。
[0144]3.請(qǐng)求連接網(wǎng)絡(luò)攝像機(jī)2的IP地址
[0145]獲取到網(wǎng)絡(luò)攝像機(jī)2的IP地址后,用戶分別觸摸Android手機(jī)1、Android手機(jī)
2、Android手機(jī)3上安裝的嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)2的開始按鈕,嵌入式軟件A建立并開啟一個(gè)線程1,向鏈接URL中傳入獲取到的IP地址與端口號(hào),通過(guò)Java提供的URL.0penConnection方法建立對(duì)網(wǎng)絡(luò)攝像機(jī)2的IP地址的網(wǎng)絡(luò)連接,線程I通過(guò)Http協(xié)議發(fā)送請(qǐng)求嘗試連接此IP地址,這個(gè)連接請(qǐng)求返回一個(gè)結(jié)果值。
[0146]4.連接成功后請(qǐng)求視頻數(shù)據(jù)返回
[0147]嵌入式軟件A對(duì)返回的結(jié)果值進(jìn)行判斷,返回結(jié)果值與預(yù)設(shè)值相等,連接成功,嵌入式軟件A通過(guò)Http協(xié)議向網(wǎng)絡(luò)攝像機(jī)2的網(wǎng)絡(luò)攝像機(jī)網(wǎng)絡(luò)服務(wù)器發(fā)送數(shù)據(jù)返回請(qǐng)求,網(wǎng)絡(luò)攝像機(jī)2的網(wǎng)絡(luò)攝像機(jī)網(wǎng)絡(luò)服務(wù)器收到嵌入式軟件A發(fā)送過(guò)來(lái)的數(shù)據(jù)返回請(qǐng)求后進(jìn)行判斷,指令正確,向發(fā)送請(qǐng)求的嵌入式軟件A發(fā)送網(wǎng)絡(luò)攝像機(jī)2內(nèi)部經(jīng)過(guò)壓縮編碼成JPEG格式視頻數(shù)據(jù)流。
[0148]5.將視頻數(shù)據(jù)轉(zhuǎn)化為Bitmap類型
[0149]嵌入式軟件A 通過(guò)線程 I 里面 Java 提供的 HttpURLConnection.getlnputStream方法將網(wǎng)絡(luò)攝像機(jī)2的網(wǎng)絡(luò)攝像機(jī)網(wǎng)絡(luò)服務(wù)器發(fā)送的視頻數(shù)據(jù)流接收過(guò)來(lái),實(shí)時(shí)讀取成字節(jié)流形式,并存儲(chǔ)到Android手機(jī)內(nèi)存中,嵌入式軟件A通過(guò)Java提供的BitmapFactory.decodeByteArray方法將讀入Android手機(jī)內(nèi)存中的視頻字節(jié)流轉(zhuǎn)換成可以生成圖片的Bitmap類型。并傳輸?shù)骄€程1,具體是Bitmap對(duì)象,Bitmap是SurfaceView顯示的對(duì)象,每次讀數(shù)據(jù)出來(lái)后會(huì)重置Bitmap。
[0150]6.將Bitmap類型視頻數(shù)據(jù)轉(zhuǎn)化成視頻播放
[0151]此時(shí)嵌入式軟件A開啟線程2,線程I不斷讀取這個(gè)Bitmap對(duì)象,并將此Bitmap對(duì)象傳入到嵌入式軟件A中已經(jīng)開啟的線程2,將Bitmap類型的視頻字節(jié)流通過(guò)Java提供的canvas.drawBitmap方法描繪到嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)2對(duì)應(yīng)的SurfaceView控件上面形成圖片。嵌入式軟件A通過(guò)Android提供的SurfaceHolder.UnlockCanvasAndPost方法實(shí)時(shí)進(jìn)行屏幕顯示內(nèi)容的更新,達(dá)到連續(xù)生成圖片的效果,完成視頻在Android手機(jī)1、Android手機(jī)2、Android手機(jī)3上的解析播放。
[0152]視頻解析播放結(jié)果:通過(guò)觸摸客戶端Android手機(jī)I上安裝的嵌入式軟件A主頁(yè)面上網(wǎng)絡(luò)攝像機(jī)I的開始按鈕,位于Android手機(jī)I屏幕上嵌入式軟件A的網(wǎng)絡(luò)攝像機(jī)I的圖形界面出現(xiàn)連續(xù)播放的視頻圖像。通過(guò)觸摸客戶端Android手機(jī)I上安裝的嵌入式軟件A主頁(yè)面上網(wǎng)絡(luò)攝像機(jī)2的開始按鈕,位于Android手機(jī)I屏幕上嵌入式軟件A的網(wǎng)絡(luò)攝像機(jī)2的圖形界面出現(xiàn)連續(xù)播放的視頻圖像。通過(guò)觸摸客戶端Android手機(jī)2上安裝的嵌入式軟件A主頁(yè)面上網(wǎng)絡(luò)攝像機(jī)I的開始按鈕,位于Android手機(jī)2屏幕上嵌入式軟件A的網(wǎng)絡(luò)攝像機(jī)I的圖形界面出現(xiàn)連續(xù)播放的視頻圖像。通過(guò)觸摸客戶端Android手機(jī)2上安裝的嵌入式軟件A主頁(yè)面上網(wǎng)絡(luò)攝像機(jī)2的開始按鈕,位于Android手機(jī)2屏幕上嵌入式軟件A的網(wǎng)絡(luò)攝像機(jī)2的圖形界面出現(xiàn)連續(xù)播放的視頻圖像。通過(guò)觸摸客戶端Android手機(jī)3上安裝的嵌入式軟件A主頁(yè)面上網(wǎng)絡(luò)攝像機(jī)I的開始按鈕,位于Android手機(jī)3屏幕上嵌入式軟件A的網(wǎng)絡(luò)攝像機(jī)I的圖形界面出現(xiàn)連續(xù)播放的視頻圖像。通過(guò)觸摸客戶端Android手機(jī)3上安裝的嵌入式軟件A主頁(yè)面上網(wǎng)絡(luò)攝像機(jī)2的開始按鈕,位于Android手機(jī)3屏幕上嵌入式軟件A的網(wǎng)絡(luò)攝像機(jī)2的圖形界面出現(xiàn)連續(xù)播放的視頻圖像。
[0153]采用Android手機(jī)控制監(jiān)控端網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作的步驟如下:
[0154]L設(shè)備初始化;
[0155]在初始化階段,通過(guò)網(wǎng)絡(luò)攝像機(jī)I內(nèi)部網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器控制網(wǎng)絡(luò)攝像機(jī)內(nèi)置電機(jī)的方法,嵌入式軟件A將網(wǎng)絡(luò)攝像機(jī)I上移、停止上移、下移、停止下移、左移、停止左移、右移、停止右移、上下巡航掃描移動(dòng)以及左右巡航掃描移動(dòng)的動(dòng)作設(shè)置綁定到對(duì)應(yīng)名稱的按鍵上,隨時(shí)監(jiān)聽用戶的按下動(dòng)作。
[0156]2.Android手機(jī)發(fā)送按鍵命令;
[0157]打開客戶端Android手機(jī)I上安裝的嵌入式軟件A,觸摸嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕中的下移按鈕,內(nèi)容為“2、3”的按鍵值被嵌入式軟件A監(jiān)聽并比較。打開客戶端Android手機(jī)2上安裝的嵌入式軟件A,觸摸嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕中的右移按鈕,內(nèi)容為“6、7”的按鍵值被嵌入式軟件A監(jiān)聽并比較。打開客戶端Android手機(jī)3上安裝的嵌入式軟件A,觸摸嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕中的左右巡航按鈕,內(nèi)容為“28”的按鍵值被嵌入式軟件A監(jiān)聽并比較。
[0158]3.監(jiān)聽并判斷控制指令是否正確;
[0159]用戶觸摸下移、右移、左右巡航按鈕之后,嵌入式軟件A分別對(duì)收到的按鍵值與嵌入式軟件A中預(yù)置對(duì)應(yīng)的按鍵值進(jìn)行比較,因?yàn)槎呦嗟?,說(shuō)明按鍵值是嵌入式軟件A向網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器發(fā)送的控制指令。
[0160]4.向網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器發(fā)送控制指令;
[0161]嵌入式軟件A通過(guò)與網(wǎng)絡(luò)攝像機(jī)I拍攝視頻時(shí)連接完成的Http網(wǎng)絡(luò)連接,將對(duì)應(yīng)正確控制指令的按鍵值“2、3”、“6、7”、“28”發(fā)送到監(jiān)控端網(wǎng)絡(luò)攝像機(jī)I的內(nèi)部網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器。
[0162]5.網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器解析控制指令并操縱網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)內(nèi)置電機(jī);
[0163]網(wǎng)絡(luò)攝像機(jī)I的內(nèi)部網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器接收到控制指令后,對(duì)照網(wǎng)絡(luò)攝像機(jī)I的API接口協(xié)議中按鍵值對(duì)應(yīng)具體動(dòng)作方法對(duì)接收到的按鍵值進(jìn)行解析識(shí)別,因?yàn)榘存I值“ 2、3 ”在API接口協(xié)議中被定義為“下移、停止下移”,按鍵值“ 6、7 ”在API接口協(xié)議中被定義為“右移、停止右移”,按鍵值“28”在API接口協(xié)議中被定義為“左右巡航掃描移動(dòng)”,所以網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器分別向網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)內(nèi)置電機(jī)發(fā)送“下移、停止下移”、“右移、停止右移”、“左右巡航掃描移動(dòng)”控制指令,由于嵌入式軟件A中加入0.5秒的延時(shí)程序,從而網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)內(nèi)置電機(jī)分別完成對(duì)網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)下移、間隔0.5秒停止下移,右移、間隔0.5秒停止右移,左右巡航掃描移動(dòng)這三組動(dòng)作。
[0164]采用Android手機(jī)控制監(jiān)控端網(wǎng)絡(luò)攝像機(jī)2的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作的步驟如下:
[0165]1.設(shè)備初始化;
[0166]在初始化階段,通過(guò)網(wǎng)絡(luò)攝像機(jī)2內(nèi)部網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器控制網(wǎng)絡(luò)攝像機(jī)2的網(wǎng)絡(luò)攝像機(jī)內(nèi)置電機(jī)的方法,嵌入式軟件A將網(wǎng)絡(luò)攝像機(jī)2上移、停止上移、下移、停止下移、左移、停止左移、右移、停止右移、上下巡航掃描移動(dòng)以及左右巡航掃描移動(dòng)的動(dòng)作設(shè)置綁定到對(duì)應(yīng)名稱的按鍵上,隨時(shí)監(jiān)聽用戶的按下動(dòng)作。
[0167]2.Android手機(jī)發(fā)送控制指令;
[0168]打開客戶端Android手機(jī)I上安裝的嵌入式軟件A,觸摸嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)2的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕中的左移按鈕,內(nèi)容為“4、5”的按鍵值被嵌入式軟件A監(jiān)聽并比較。打開客戶端Android手機(jī)2上安裝的嵌入式軟件A,觸摸嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)2的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕中的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕中的右移按鈕,內(nèi)容為“6、7”的按鍵值被嵌入式軟件A監(jiān)聽并比較。打開客戶端Android手機(jī)3上安裝的嵌入式軟件A,觸摸嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)2的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕中的上下巡航按鈕,內(nèi)容為“26”的按鍵值被嵌入式軟件A監(jiān)聽并比較。
[0169]3.監(jiān)聽并判斷控制指令是否正確;
[0170]用戶觸摸左移、右移、上下巡航按鈕之后,嵌入式軟件A分別對(duì)收到的按鍵值與嵌入式軟件A中預(yù)置對(duì)應(yīng)的按鍵值進(jìn)行比較,因?yàn)槎呦嗟?,說(shuō)明按鍵值是嵌入式軟件A向網(wǎng)絡(luò)攝像機(jī)2的網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器發(fā)送的控制指令。
[0171]4.向網(wǎng)絡(luò)攝像機(jī)2的網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器發(fā)送控制指令;
[0172]嵌入式軟件A通過(guò)與網(wǎng)絡(luò)攝像機(jī)2拍攝視頻時(shí)連接完成的Http網(wǎng)絡(luò)連接,將對(duì)應(yīng)正確控制指令的按鍵值“4、5”、“6、7”、“26”發(fā)送到監(jiān)控端網(wǎng)絡(luò)攝像機(jī)2的內(nèi)部網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器。
[0173]5.網(wǎng)絡(luò)攝像機(jī)2的網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器解析控制指令并操縱網(wǎng)絡(luò)攝像機(jī)2的網(wǎng)絡(luò)攝像機(jī)內(nèi)置電機(jī);
[0174]網(wǎng)絡(luò)攝像機(jī)2的網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器接收到控制指令后,對(duì)照網(wǎng)絡(luò)攝像機(jī)2的API接口協(xié)議中按鍵值對(duì)應(yīng)具體動(dòng)作方法對(duì)接收到的按鍵值進(jìn)行解析識(shí)別,因?yàn)榘存I值“4、5 ”在API接口協(xié)議中被定義為“左移、停止左移”,按鍵值“6、7 ”在API接口協(xié)議中被定義為“右移、停止右移”,按鍵值“26”在API接口協(xié)議中被定義為“上下巡航掃描移動(dòng)”,所以網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器分別向網(wǎng)絡(luò)攝像機(jī)2的網(wǎng)絡(luò)攝像機(jī)內(nèi)置電機(jī)發(fā)送“左移、停止左移”、“右移、停止右移”、“上下巡航掃描移動(dòng)”控制指令,由于嵌入式軟件A中加入0.5秒的延時(shí)程序,從而網(wǎng)絡(luò)攝像機(jī)2的網(wǎng)絡(luò)攝像機(jī)內(nèi)置電機(jī)分別完成對(duì)網(wǎng)絡(luò)攝像機(jī)2的網(wǎng)絡(luò)攝像機(jī)云臺(tái)左移、間隔0.5秒停止左移,右移、間隔0.5秒停止右移,上下巡航掃描移動(dòng)這三組動(dòng)作。
[0175]控制結(jié)果:通過(guò)觸摸客戶端Android手機(jī)I上安裝的嵌入式軟件A主頁(yè)面上網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕中的下移按鈕,監(jiān)控端網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)完成下移、間隔0.5秒停止下移動(dòng)作。通過(guò)觸摸客戶端Android手機(jī)I上安裝的嵌入式軟件A主頁(yè)面上網(wǎng)絡(luò)攝像機(jī)2的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕中的左移按鈕,監(jiān)控端網(wǎng)絡(luò)攝像機(jī)2的網(wǎng)絡(luò)攝像機(jī)云臺(tái)完成左移、間隔0.5秒停止左移動(dòng)作。
[0176]通過(guò)觸摸客戶端Android手機(jī)2上安裝的嵌入式軟件A主頁(yè)面上網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕中的右移按鈕,監(jiān)控端網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)完成右移、間隔0.5秒停止右移動(dòng)作。通過(guò)觸摸客戶端Android手機(jī)2上安裝的嵌入式軟件A主頁(yè)面上網(wǎng)絡(luò)攝像機(jī)2的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕中的右移按鈕,監(jiān)控端網(wǎng)絡(luò)攝像機(jī)2的網(wǎng)絡(luò)攝像機(jī)云臺(tái)完成右移、間隔0.5秒停止右移動(dòng)作。
[0177]通過(guò)觸摸客戶端Android手機(jī)3上安裝的嵌入式軟件A主頁(yè)面上網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕中的左右巡航按鈕,監(jiān)控端網(wǎng)絡(luò)攝像機(jī)I的網(wǎng)絡(luò)攝像機(jī)云臺(tái)完成向左移動(dòng)至水平向左90度后向右移動(dòng)至水平向右90度并循環(huán)移動(dòng)。通過(guò)觸摸客戶端Android手機(jī)3上安裝的嵌入式軟件A主頁(yè)面上網(wǎng)絡(luò)攝像機(jī)2的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕中的上下巡航按鈕,監(jiān)控端網(wǎng)絡(luò)攝像機(jī)2的網(wǎng)絡(luò)攝像機(jī)云臺(tái)完成向上移動(dòng)至水平向上90度后向下移動(dòng)至水平向下30度并循環(huán)移動(dòng)。
[0178]采用Android手機(jī)設(shè)置、開啟網(wǎng)絡(luò)攝像機(jī)I報(bào)警功能并接收警報(bào)信息的步驟如下:
[0179]1.設(shè)備初始化;
[0180]在初始化階段,用戶分別觸摸Android手機(jī)1、Android手機(jī)2、Android手機(jī)3上安裝的嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)I的報(bào)警設(shè)置按鈕,設(shè)置網(wǎng)絡(luò)攝像機(jī)I的警報(bào)信息發(fā)送郵箱地址與接收郵箱地址。警報(bào)信息發(fā)送郵箱地址設(shè)置為yell0##@126.com,警報(bào)信息接收郵箱地址設(shè)置為vole****@163.com。
[0181]2.Android手機(jī)開啟網(wǎng)絡(luò)攝像機(jī)I的報(bào)警功能;
[0182]用戶分別觸摸Android手機(jī)l、Android手機(jī)2、Android手機(jī)3上安裝的嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)I的開啟報(bào)警按鈕,通過(guò)接收網(wǎng)絡(luò)攝像機(jī)I拍攝視頻時(shí)連接完成的Http網(wǎng)絡(luò)連接,開啟網(wǎng)絡(luò)攝像機(jī)I移動(dòng)偵測(cè)報(bào)警功能。
[0183]3.偵測(cè)畫面移動(dòng);
[0184]網(wǎng)絡(luò)攝像機(jī)I進(jìn)行畫面移動(dòng)偵測(cè),對(duì)每一幀拍攝前后畫面像素進(jìn)行對(duì)比,若每一幀畫面前后像素都沒(méi)有發(fā)生明顯變化,則繼續(xù)偵測(cè);若某一幀畫面前后像素發(fā)生了明顯變化則執(zhí)行報(bào)警程序。
[0185]4.發(fā)送警報(bào)信息;
[0186]網(wǎng)絡(luò)攝像機(jī)I監(jiān)控范圍內(nèi)出現(xiàn)物體移動(dòng)造成幀前后像素變化,網(wǎng)絡(luò)攝像機(jī)I將那一幀前后像素發(fā)生明顯變化的畫面截圖保存,通過(guò)Http協(xié)議與郵件轉(zhuǎn)發(fā)協(xié)議將警報(bào)截圖信息實(shí)時(shí)發(fā)送至網(wǎng)絡(luò)攝像機(jī)I的警報(bào)信息接收郵箱中。
[0187]5.手機(jī)查看警報(bào)信息;
[0188]Android手機(jī)上安裝的嵌入式軟件A實(shí)時(shí)顯示網(wǎng)絡(luò)攝像機(jī)I的報(bào)警郵件接收提醒,用戶觸摸Android手機(jī)上安裝的嵌入式軟件A主界面上的網(wǎng)絡(luò)攝像機(jī)I的警報(bào)信息查看按鈕,登錄網(wǎng)絡(luò)攝像機(jī)I的警報(bào)信息接收郵箱查看網(wǎng)絡(luò)攝像機(jī)I發(fā)送過(guò)來(lái)的報(bào)警郵件,內(nèi)含畫面移動(dòng)發(fā)生時(shí)的截圖信息,實(shí)現(xiàn)網(wǎng)絡(luò)攝像機(jī)I報(bào)警手機(jī)實(shí)時(shí)接收的功能。
[0189]采用Android手機(jī)設(shè)置、開啟網(wǎng)絡(luò)攝像機(jī)2報(bào)警功能并接收警報(bào)信息的步驟如下:
[0190]1.設(shè)備初始化
[0191]在初始化階段,用戶分別觸摸Android手機(jī)1、Android手機(jī)2、Android手機(jī)3上安裝的嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)2的報(bào)警設(shè)置按鈕,設(shè)置網(wǎng)絡(luò)攝像機(jī)2的警報(bào)信息發(fā)送郵箱地址與接收郵箱地址。警報(bào)信息發(fā)送郵箱地址設(shè)置為1660****@qq.com,警報(bào)信息接收郵箱地址設(shè)置為83962****@qq.com。
[0192]2.Android手機(jī)開啟網(wǎng)絡(luò)攝像機(jī)2的報(bào)警功能
[0193]用戶分別觸摸Android手機(jī)l、Android手機(jī)2、Android手機(jī)3上安裝的嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)2的開啟報(bào)警按鈕,通過(guò)接收網(wǎng)絡(luò)攝像機(jī)2拍攝視頻時(shí)連接完成的Http網(wǎng)絡(luò)連接,開啟網(wǎng)絡(luò)攝像機(jī)2移動(dòng)偵測(cè)報(bào)警功能。
[0194]3.偵測(cè)畫面移動(dòng)
[0195]網(wǎng)絡(luò)攝像機(jī)2進(jìn)行畫面移動(dòng)偵測(cè),對(duì)每一幀拍攝前后畫面像素進(jìn)行對(duì)比,若每一幀畫面前后像素都沒(méi)有發(fā)生明顯變化,則繼續(xù)偵測(cè);若某一幀畫面前后像素發(fā)生了明顯變化則執(zhí)行報(bào)警程序。
[0196]4.發(fā)送警報(bào)信息
[0197]網(wǎng)絡(luò)攝像機(jī)2監(jiān)控范圍內(nèi)出現(xiàn)物體移動(dòng)造成幀前后像素變化,網(wǎng)絡(luò)攝像機(jī)2將那一幀前后像素發(fā)生明顯變化的畫面截圖保存,通過(guò)Http協(xié)議與郵件轉(zhuǎn)發(fā)協(xié)議將警報(bào)截圖信息實(shí)時(shí)發(fā)送至網(wǎng)絡(luò)攝像機(jī)2的警報(bào)信息接收郵箱中。
[0198]5.手機(jī)查看警報(bào)信息
[0199]Android手機(jī)上安裝的嵌入式軟件A實(shí)時(shí)顯示網(wǎng)絡(luò)攝像機(jī)2的報(bào)警郵件接收提醒,用戶觸摸Android手機(jī)上安裝的嵌入式軟件A主界面上的網(wǎng)絡(luò)攝像機(jī)2的警報(bào)信息查看按鈕,登錄網(wǎng)絡(luò)攝像機(jī)2的警報(bào)信息接收郵箱查看網(wǎng)絡(luò)攝像機(jī)2發(fā)送過(guò)來(lái)的報(bào)警郵件,內(nèi)含畫面移動(dòng)發(fā)生時(shí)的截圖信息,實(shí)現(xiàn)網(wǎng)絡(luò)攝像機(jī)2報(bào)警手機(jī)實(shí)時(shí)接收的功能。
[0200]控制結(jié)果:通過(guò)分別觸摸客戶端Android手機(jī)l、Android手機(jī)2、Android手機(jī)3上安裝的嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)I的開啟報(bào)警按鈕,開啟了網(wǎng)絡(luò)攝像機(jī)I的報(bào)警功能,監(jiān)控端網(wǎng)絡(luò)攝像機(jī)I監(jiān)視范圍內(nèi)出現(xiàn)物體移動(dòng)后,客戶端Android手機(jī)UAndroid手機(jī)2、Android手機(jī)3實(shí)時(shí)接收到報(bào)警郵件提醒,用戶觸摸Android手機(jī)上安裝的嵌入式軟件A主界面上的網(wǎng)絡(luò)攝像機(jī)I的警報(bào)信息查看按鈕,自動(dòng)登錄網(wǎng)絡(luò)攝像機(jī)I的警報(bào)信息接收郵箱完成了對(duì)網(wǎng)絡(luò)攝像機(jī)I警報(bào)截圖信息的查看。
[0201]通過(guò)分別觸摸客戶端Android手機(jī)1、Android手機(jī)2、Android手機(jī)3上安裝的嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)2的開啟報(bào)警按鈕,開啟了網(wǎng)絡(luò)攝像機(jī)2的報(bào)警功能,監(jiān)控端網(wǎng)絡(luò)攝像機(jī)2監(jiān)視范圍內(nèi)出現(xiàn)物體移動(dòng)后,客戶端Android手機(jī)UAndroid手機(jī)2、Android手機(jī)3實(shí)時(shí)接收到報(bào)警郵件提醒,用戶觸摸Android手機(jī)上安裝的嵌入式軟件A主界面上的網(wǎng)絡(luò)攝像機(jī)2的警報(bào)信息查看按鈕,自動(dòng)登錄網(wǎng)絡(luò)攝像機(jī)2的警報(bào)信息接收郵箱完成了對(duì)網(wǎng)絡(luò)攝像機(jī)2警報(bào)截圖信息的查看。
【權(quán)利要求】
1.一種采用Android手機(jī)實(shí)現(xiàn)遠(yuǎn)程視頻監(jiān)視與云臺(tái)控制方法,其特征在于,包括以下步驟: (1)設(shè)備初始化,在客戶端Android手機(jī)上安裝嵌入式軟件A,在嵌入式軟件A的歡迎頁(yè)面輸入對(duì)應(yīng)的監(jiān)控端網(wǎng)絡(luò)攝像機(jī)訪問(wèn)賬號(hào)與密碼; (2)嵌入式軟件A對(duì)監(jiān)控端網(wǎng)絡(luò)攝像機(jī)拍攝的視頻數(shù)據(jù)進(jìn)行接收、解析并播放; (3)通過(guò)觸摸位于嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕對(duì)網(wǎng)絡(luò)攝像機(jī)云臺(tái)進(jìn)行遠(yuǎn)程控制,使網(wǎng)絡(luò)攝像機(jī)云臺(tái)移動(dòng); (4)通過(guò)嵌入式軟件A對(duì)監(jiān)控端網(wǎng)絡(luò)攝像機(jī)的報(bào)警功能進(jìn)行設(shè)置與開啟,并監(jiān)聽警報(bào)信息,接收到警報(bào)信息后自動(dòng)登錄郵箱顯示警報(bào)信息。
2.根據(jù)權(quán)利要求1所述的一種采用Android手機(jī)實(shí)現(xiàn)遠(yuǎn)程視頻監(jiān)視與云臺(tái)控制方法,其特征在于: 嵌入式軟件A對(duì)監(jiān)控端網(wǎng)絡(luò)攝像機(jī)拍攝的視頻數(shù)據(jù)進(jìn)行接收、解析與播放過(guò)程,具體工作流程如下: 1)在嵌入式軟件A的設(shè)置頁(yè)面有輸入網(wǎng)絡(luò)攝像機(jī)IP地址的IP地址框,在初始化階段,用戶第一次使用Android手機(jī)l、Android手機(jī)2、......、Android手機(jī)m上安裝的嵌入式軟 件A時(shí),需要觸摸設(shè)置按鈕進(jìn)入設(shè)置頁(yè)面,分別在IP地址框中輸入各個(gè)網(wǎng)絡(luò)攝像機(jī)的IP地址與端口號(hào);首次輸入完成后Android手機(jī)l、Android手機(jī)2、......、Android手機(jī)m會(huì)自動(dòng)保存該IP地址與端口號(hào),如果各個(gè)網(wǎng)絡(luò)攝像機(jī)的IP地址與端口號(hào)沒(méi)有發(fā)生改變,則下次啟動(dòng)Android手機(jī)1、2、......、m上安裝的嵌入式軟件A時(shí)無(wú)需重新輸入;如果某個(gè)網(wǎng)絡(luò)攝像機(jī)的IP地址或端口號(hào)發(fā)生了改變需要修改,則下次啟動(dòng)Android手機(jī)1、2、……、m上安裝的嵌入式軟件A時(shí)需重新進(jìn)入設(shè)置頁(yè)面輸入該網(wǎng)絡(luò)攝像機(jī)的IP地址與端口號(hào); 2)觸摸嵌入式軟件A主頁(yè)面上對(duì)應(yīng)的網(wǎng)絡(luò)攝像機(jī)IP地址獲取按鈕,嵌入式軟件A獲取初始化中用戶輸入的網(wǎng)絡(luò)攝像機(jī)IP地址與端口號(hào),在Android手機(jī)內(nèi)存中生成一個(gè)文本文件,存放獲取到的網(wǎng)絡(luò)攝像機(jī)IP地址與端口號(hào);嵌入式軟件A會(huì)自動(dòng)保存獲取到的網(wǎng)絡(luò)攝像機(jī)IP地址與端口號(hào),再次使用時(shí),如果某個(gè)網(wǎng)絡(luò)攝像機(jī)IP地址與端口號(hào)發(fā)生改變,再次觸摸嵌入式軟件A主頁(yè)面上對(duì)應(yīng)的網(wǎng)絡(luò)攝像機(jī)IP地址獲取按鈕; 3)觸摸嵌入式軟件A主頁(yè)面上對(duì)應(yīng)的開始按鈕,嵌入式軟件A通過(guò)Java語(yǔ)言中文件讀取類中的BufferedReader方法獲取Andrο i d手機(jī)內(nèi)存文本文件中存入的對(duì)應(yīng)網(wǎng)絡(luò)攝像機(jī)的IP地址與端口號(hào),建立并開啟一個(gè)線程,命名為線程I ;嵌入式軟件A向網(wǎng)頁(yè)地址URL中傳入獲取到的IP地址與端口號(hào),通過(guò)Java語(yǔ)言中URL的開啟網(wǎng)絡(luò)連接方法URL.0penConnection建立對(duì)網(wǎng)絡(luò)攝像機(jī)的連接; 4)線程I通過(guò)超文本傳輸Http協(xié)議發(fā)送請(qǐng)求嘗試連接此網(wǎng)絡(luò)攝像機(jī)IP地址,這個(gè)連接請(qǐng)求會(huì)返回一個(gè)結(jié)果值;嵌入式軟件A對(duì)返回的結(jié)果值進(jìn)行判斷,預(yù)設(shè)值是200,如果結(jié)果值等于200,則連接成功,如果結(jié)果值不等于200,則表明連接失敗,嵌入式軟件A繼續(xù)發(fā)送請(qǐng)求重新連接; 5)連接成功后,嵌入式軟件A通過(guò)超文本傳輸Http協(xié)議向網(wǎng)絡(luò)攝像機(jī)網(wǎng)絡(luò)服務(wù)器發(fā)送數(shù)據(jù)返回請(qǐng)求,網(wǎng)絡(luò)攝像機(jī)網(wǎng)絡(luò)服務(wù)器收到嵌入式軟件A發(fā)送過(guò)來(lái)的數(shù)據(jù)返回請(qǐng)求后進(jìn)行判斷,如果指令正確則向發(fā)送請(qǐng)求的嵌入式軟件A發(fā)送網(wǎng)絡(luò)攝像機(jī)內(nèi)部經(jīng)過(guò)壓縮編碼成JPEG格式的視頻數(shù)據(jù)流;6)嵌入式軟件A通過(guò)使用線程I里面Java提供的網(wǎng)絡(luò)連接獲取輸入數(shù)據(jù)流方法HttpURLConnection.getlnputStream將網(wǎng)絡(luò)攝像機(jī)網(wǎng)絡(luò)服務(wù)器發(fā)送的視頻數(shù)據(jù)流接收過(guò)來(lái),實(shí)時(shí)讀取成字節(jié)流形式,并存儲(chǔ)到Android手機(jī)內(nèi)存中,嵌入式軟件A通過(guò)Java中將指定字節(jié)數(shù)組解碼成不可變位圖方法BitmapFactory.decodeByteArray將讀入Android手機(jī)內(nèi)存中的視頻字節(jié)流轉(zhuǎn)換成可以生成圖片的Bitmap類型,并傳輸?shù)紸ndroid手機(jī)的線程I ; 7)嵌入式軟件A建立并開啟一個(gè)新的線程,命名為線程2,線程I不斷讀取Bitmap對(duì)象,并將此Bitmap對(duì)象實(shí)時(shí)傳入到嵌入式軟件A中已經(jīng)開啟的線程2,嵌入式軟件A將Bitmap類型視頻字節(jié)流通過(guò)Android的位圖畫圖方法canvas.drawBitmap描繪到SurfaceView類控件上面生成圖像;嵌入式軟件A實(shí)時(shí)接收網(wǎng)絡(luò)攝像機(jī)發(fā)送過(guò)來(lái)的視頻數(shù)據(jù)流,通過(guò)循環(huán)調(diào)用完成圖像像素編輯SurfaceHolder.UnlockCanvasAndPost方法實(shí)時(shí)進(jìn)行屏幕顯示內(nèi)容的更新。
3.根據(jù)權(quán)利要求1所述的一種采用Android手機(jī)實(shí)現(xiàn)遠(yuǎn)程視頻監(jiān)視與云臺(tái)控制方法,其特征在于: 嵌入式軟件A對(duì)網(wǎng)絡(luò)攝像機(jī)云臺(tái)進(jìn)行遠(yuǎn)程控制使其移動(dòng),具體工作流程如下: I)在初始化階段,通過(guò)網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器控制網(wǎng)絡(luò)攝像機(jī)內(nèi)置電機(jī)的方法,嵌入式軟件A將網(wǎng)絡(luò)攝像機(jī)上移、停止上移、下移、停止下移、左移、停止左移、右移、停止右移、上下巡航掃描移動(dòng)以及左右巡航掃描移動(dòng)的動(dòng)作分別設(shè)置綁定到對(duì)應(yīng)名稱的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕上,隨時(shí)監(jiān)聽觸摸網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕動(dòng)作; 2)通過(guò)客戶端Android手機(jī)上安裝的嵌入式軟件A主頁(yè)面上對(duì)應(yīng)的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕,發(fā)送控制指令,初始化中設(shè)置好的嵌入式軟件A對(duì)發(fā)送的控制指令進(jìn)行監(jiān)聽判斷; 3)觸摸嵌入式軟件A主頁(yè)面上的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕之后,嵌入式軟件A分別對(duì)收到的按鍵值與嵌入式軟件A中預(yù)置對(duì)應(yīng)的按鍵值進(jìn)行比較,如果二者相等,說(shuō)明控制指令是嵌入式軟件A向網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器發(fā)送的控制指令,則通過(guò)接收視頻數(shù)據(jù)時(shí)建立完成的超文本傳輸Http協(xié)議連接向網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器發(fā)送控制指令;如果二者不等,說(shuō)明該控制指令不是嵌入式軟件A向網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器發(fā)送的控制指令,則繼續(xù)監(jiān)聽; 4)內(nèi)置于網(wǎng)絡(luò)攝像機(jī)的網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器收到嵌入式軟件A發(fā)送過(guò)來(lái)的控制指令后,通過(guò)API協(xié)議中的網(wǎng)絡(luò)攝像機(jī)云臺(tái)控制方法decoder_control.cgi_command對(duì)相應(yīng)控制指令進(jìn)行解析,方法中的co_and代表嵌入式軟件A發(fā)送過(guò)來(lái)的按鍵值,網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器對(duì)傳遞過(guò)來(lái)的按鍵值進(jìn)行判斷,網(wǎng)絡(luò)攝像機(jī)云臺(tái)上移、停止上移動(dòng)作對(duì)應(yīng)的按鍵值已經(jīng)在API接口協(xié)議中被定義為0、1,通過(guò)假設(shè)這里傳入的按鍵值是0、1 ; 5)網(wǎng)絡(luò)攝像機(jī)云臺(tái)解碼器通過(guò)傳送過(guò)來(lái)的按鍵值所對(duì)應(yīng)的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作操縱網(wǎng)絡(luò)攝像機(jī)內(nèi)置電機(jī),完成對(duì)網(wǎng)絡(luò)攝像機(jī)云臺(tái)的上移、停止上移、下移、停止下移、左移、停止左移、右移、停止右移、上下巡航掃描移動(dòng)以及左右巡航掃描移動(dòng)等幾組動(dòng)作的操作。
4.根據(jù)權(quán)利要求1所 述的一種采用Android手機(jī)實(shí)現(xiàn)遠(yuǎn)程視頻監(jiān)視與云臺(tái)控制方法,其特征在于: 通過(guò)嵌入式軟件A對(duì)監(jiān)控端網(wǎng)絡(luò)攝像機(jī)的報(bào)警功能進(jìn)行設(shè)置與開啟,并監(jiān)聽警報(bào)信息,接收到警報(bào)信息后自動(dòng)登錄郵箱顯示警報(bào)信息,主要工作流程如下: 1)在初始化階段,用戶通過(guò)觸摸嵌入式軟件A主界面的報(bào)警設(shè)置按鈕,建立SMTP郵件服務(wù)器,設(shè)置警報(bào)信息發(fā)送郵箱地址與接收郵箱地址; 2)通過(guò)觸摸嵌入式軟件A上面的開啟報(bào)警按鈕,開啟網(wǎng)絡(luò)攝像機(jī)移動(dòng)偵測(cè)報(bào)警功能; 3)網(wǎng)絡(luò)攝像機(jī)進(jìn)行畫面移動(dòng)偵測(cè),對(duì)每一幀圖像拍攝前后畫面像素進(jìn)行對(duì)比,若每一幀畫面前后像素都沒(méi)有發(fā)生明顯變化,則繼續(xù)偵測(cè);若某一幀畫面前后像素發(fā)生了明顯變化則執(zhí)行報(bào)警程序; 4)在執(zhí)行的網(wǎng)絡(luò)攝像機(jī)報(bào)警程序中,網(wǎng)絡(luò)攝像機(jī)將前后像素發(fā)生了明顯變化的那一幀畫面截圖保存,通過(guò)超文本傳輸Http協(xié)議發(fā)送至郵件服務(wù)器SMTP,通過(guò)郵件服務(wù)器SMTP轉(zhuǎn)發(fā)至預(yù)設(shè)的警報(bào)信息接收郵箱; 5)Android智能手機(jī)通過(guò)嵌入式軟件A設(shè)置郵件接收提醒,并綁定網(wǎng)絡(luò)攝像機(jī)預(yù)設(shè)的警報(bào)信息接收郵箱,當(dāng)網(wǎng)絡(luò)攝像機(jī)發(fā)來(lái)報(bào)警郵件時(shí),Android智能手機(jī)接到報(bào)警郵件接收提示,通過(guò)觸摸Android智能手機(jī)上安裝的嵌入式軟件A主界面上的警報(bào)信息查看按鈕,登錄預(yù)設(shè)警報(bào)信息接收郵箱查看網(wǎng)絡(luò)攝像機(jī)發(fā)送過(guò)來(lái)的報(bào)警郵件。
5.根據(jù)權(quán)利要求3所述的一種采用Android手機(jī)實(shí)現(xiàn)遠(yuǎn)程視頻監(jiān)視與云臺(tái)控制方法,其特征在于: 網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制指令的發(fā)送過(guò)程:嵌入式軟件A首先定義一個(gè)按鍵值command,若當(dāng)用戶所按網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕對(duì)應(yīng)的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作為上移時(shí),嵌入式軟件A發(fā)送按鍵值為O、I ;若當(dāng)用戶所按網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕對(duì)應(yīng)的網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作為下移時(shí),嵌入式軟件A發(fā)送按鍵值為2、3 ;` 代表“上移”這個(gè)網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕上面綁定了兩個(gè)按鍵值O和I ;在嵌入式軟件A內(nèi)的發(fā)送按鍵值O之后加入了 0.5秒的延時(shí)代碼,然后發(fā)送按鍵值I ;觸摸代表“上移”這個(gè)網(wǎng)絡(luò)攝像機(jī)云臺(tái)動(dòng)作控制按鈕之后,網(wǎng)絡(luò)攝像機(jī)云臺(tái)向上移動(dòng)0.5秒之后停下,達(dá)到微調(diào)的目的。
6.根據(jù)權(quán)利要求5所述的一種采用Android手機(jī)實(shí)現(xiàn)遠(yuǎn)程視頻監(jiān)視與云臺(tái)控制方法,其特征在于: 按鍵值O、I代表上移、停止上移,2、3代表下移、停止下移,4、5代表左移、停止左移,6、7代表右移、停止右移,26代表上下巡航掃描移動(dòng)、28代表左右巡航掃描移動(dòng)。
【文檔編號(hào)】H04L29/08GK103607571SQ201310600590
【公開日】2014年2月26日 申請(qǐng)日期:2013年11月22日 優(yōu)先權(quán)日:2013年11月22日
【發(fā)明者】陳萬(wàn)忠, 張勇, 崔冰一, 孫保峰 申請(qǐng)人:吉林大學(xué)