基于智能終端和ip攝像頭實(shí)現(xiàn)視頻通話的系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻通話領(lǐng)域,具體是涉及一種基于智能終端和IP攝像頭實(shí)現(xiàn)視頻通話的系統(tǒng)及方法。
【背景技術(shù)】
[0002]隨著寬帶技術(shù)的發(fā)展,基于視頻的業(yè)務(wù)逐步普及,例如,視頻通話、視頻監(jiān)控,將是未來(lái)智慧家庭中的核心業(yè)務(wù)?,F(xiàn)階段,視頻監(jiān)控業(yè)務(wù)一般由IP(Internet Protocol,網(wǎng)絡(luò)之間互連的協(xié)議)攝像頭承載,IP攝像頭負(fù)責(zé)音視頻的編碼、傳輸;遠(yuǎn)端訪問(wèn)獲取監(jiān)控視頻,是被動(dòng)單向的。視頻通話業(yè)務(wù)可在智能終端(例如Android/1S機(jī)頂盒、手機(jī)、平板)上實(shí)現(xiàn),智能終端負(fù)責(zé)音視頻的編碼及解碼,可雙向互通。
[0003]IP攝像頭有專業(yè)的光學(xué)采集器件,優(yōu)于智能終端的內(nèi)置攝像頭或外置的USB攝像頭;IP攝像頭有專業(yè)的編碼芯片負(fù)責(zé)視頻的硬件編碼傳輸,質(zhì)量高,帶寬占用低。但是,IP攝像頭通常缺乏屏幕,交互能力較弱。
[0004]相對(duì)IP攝像頭而言,智能終端的硬件編碼能力較弱,甚至是用軟件去編碼,在視頻通信業(yè)務(wù)中容易消耗太多的CPU資源及帶寬,影響用戶體驗(yàn)。但是,智能終端通過(guò)自身屏幕,或外接屏幕,通過(guò)智能終端上運(yùn)行的APP (Applicat1n,應(yīng)用),實(shí)現(xiàn)便捷的交互。
[0005]鑒于以上情況,用戶迫切需要一種同時(shí)具有IP攝像頭視頻監(jiān)控的畫(huà)面質(zhì)量和智能終端交互優(yōu)點(diǎn)的、經(jīng)濟(jì)可行的視頻通話系統(tǒng)。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的是為了克服上述【背景技術(shù)】的不足,提供一種基于智能終端和IP攝像頭實(shí)現(xiàn)視頻通話的系統(tǒng)及方法,使得用戶能夠經(jīng)濟(jì)地利用IP攝像頭與智能終端實(shí)現(xiàn)視頻通話,充分利用IP攝像頭的光學(xué)采集、編碼優(yōu)勢(shì)及智能終端的交互性優(yōu)勢(shì)。
[0007]本發(fā)明提供一種基于智能終端和IP攝像頭實(shí)現(xiàn)視頻通話的系統(tǒng),包括公網(wǎng)中的平臺(tái)服務(wù)器、同一網(wǎng)絡(luò)地址轉(zhuǎn)換NAT下的多個(gè)IP攝像頭、多個(gè)智能終端、多個(gè)顯示終端,其特征在于:所述平臺(tái)服務(wù)器包括信令單元、用戶管理單元,所述信令單元接收IP攝像頭的注冊(cè),生成IP攝像頭對(duì)應(yīng)的NAT穿越監(jiān)控統(tǒng)一資源定位符URL ;外網(wǎng)設(shè)備通過(guò)NAT穿越監(jiān)控URL找到對(duì)應(yīng)的IP攝像頭;信令單元接收智能終端的注冊(cè),生成對(duì)應(yīng)的NAT訪問(wèn)地址;信令單元將這些地址存放在用戶管理單元中;并負(fù)責(zé)視頻通話過(guò)程中智能終端間的信令轉(zhuǎn)發(fā);用戶管理單元存放IP攝像頭對(duì)應(yīng)的最新NAT穿越監(jiān)控URL、視頻通話用戶NAT穿越地址及該用戶的好友列表;用戶管理單元根據(jù)信令單元的請(qǐng)求,按IP攝像頭的唯一硬件標(biāo)識(shí)符檢索到IP攝像頭對(duì)應(yīng)的最新NAT穿越監(jiān)控URL ;
[0008]智能終端控制視頻通話的信令交互,且具備視頻通話的視頻呈現(xiàn)能力:智能終端根據(jù)遠(yuǎn)端IP攝像頭對(duì)應(yīng)的NAT穿越監(jiān)控URL、遠(yuǎn)程監(jiān)控訪問(wèn)密鑰、本地IP攝像頭獲取的本地監(jiān)控訪問(wèn)加密URL,訪問(wèn)遠(yuǎn)端IP攝像頭、本地IP攝像頭,來(lái)呈現(xiàn)視頻通話的遠(yuǎn)端視頻與本地視頻;
[0009]顯示終端具備視頻通話的視頻呈現(xiàn)能力:顯示終端根據(jù)智能終端提供的遠(yuǎn)端IP攝像頭對(duì)應(yīng)的NAT穿越監(jiān)控URL、遠(yuǎn)程監(jiān)控訪問(wèn)密鑰、本地IP攝像頭獲取的本地監(jiān)控訪問(wèn)加密URL,訪問(wèn)遠(yuǎn)端IP攝像頭、本地IP攝像頭,來(lái)呈現(xiàn)視頻通話的遠(yuǎn)端視頻與本地視頻。
[0010]在上述技術(shù)方案的基礎(chǔ)上,所述IP攝像頭包括監(jiān)控注冊(cè)單元、密鑰管理單元,所述監(jiān)控注冊(cè)單元用于向平臺(tái)服務(wù)器的信令單元注冊(cè);所述密鑰管理單元在非視頻通話時(shí)間內(nèi),隨機(jī)動(dòng)態(tài)生成IP攝像頭的遠(yuǎn)程監(jiān)控訪問(wèn)密鑰;密鑰管理單元接收智能終端發(fā)來(lái)的IP攝像頭唯一硬件標(biāo)識(shí)獲取請(qǐng)求、本地監(jiān)控訪問(wèn)加密URL獲取請(qǐng)求、遠(yuǎn)程監(jiān)控訪問(wèn)密鑰獲取請(qǐng)求、視頻通話心跳消息、視頻通話結(jié)束消息;回復(fù)IP攝像頭唯一硬件標(biāo)識(shí)、本地監(jiān)控訪問(wèn)加密URL、遠(yuǎn)程監(jiān)控訪問(wèn)密鑰。
[0011]在上述技術(shù)方案的基礎(chǔ)上,所述密鑰管理單元定期更新監(jiān)控注冊(cè)單元的遠(yuǎn)程監(jiān)控訪問(wèn)密鑰;密鑰管理單元收到智能終端發(fā)來(lái)的遠(yuǎn)程監(jiān)控訪問(wèn)密鑰獲取請(qǐng)求消息后,停止更新遠(yuǎn)程監(jiān)控訪問(wèn)密鑰;當(dāng)密鑰管理單元未收到視頻通話心跳消息導(dǎo)致超時(shí)后,或密鑰管理單元收到視頻通話結(jié)束消息后,密鑰管理單元立即恢復(fù)定期更新遠(yuǎn)程監(jiān)控訪問(wèn)密鑰;確保視頻通話結(jié)束后,對(duì)應(yīng)的遠(yuǎn)程監(jiān)控密鑰失效,確保NAT下的IP攝像頭監(jiān)控視頻無(wú)法通過(guò)已結(jié)束的通話中使用的作廢舊密鑰從外網(wǎng)訪問(wèn)。
[0012]在上述技術(shù)方案的基礎(chǔ)上,所述智能終端包括視頻通話單元,所述視頻通話單元通過(guò)密鑰管理單元與IP攝像頭進(jìn)行通信:
[0013]視頻通話單元負(fù)責(zé)搜尋同一 NAT下的IP攝像頭,并與之綁定,獲取對(duì)應(yīng)IP攝像頭的唯一硬件標(biāo)識(shí)、本地監(jiān)控訪問(wèn)加密URL、遠(yuǎn)程監(jiān)控訪問(wèn)密鑰,由自身呈現(xiàn),或交給同一 NAT下的顯示終端呈現(xiàn);在視頻通話過(guò)程中,定期向IP攝像頭發(fā)送視頻通話心跳消息;在視頻通話結(jié)束時(shí),向IP攝像頭發(fā)送視頻通話結(jié)束信息;視頻通話單元向平臺(tái)服務(wù)器的信令單元進(jìn)行注冊(cè),獲取用戶管理單元維護(hù)的該視頻通話賬號(hào)的好友列表;根據(jù)所綁定的同一 NAT下的IP攝像頭的唯一硬件標(biāo)識(shí),獲取該IP攝像頭對(duì)應(yīng)的NAT穿越監(jiān)控URL。
[0014]在上述技術(shù)方案的基礎(chǔ)上,所述視頻通話單元作為主叫在發(fā)起視頻通話時(shí),將指定的本地使用的IP攝像頭對(duì)應(yīng)的NAT穿越監(jiān)控URL、遠(yuǎn)程監(jiān)控訪問(wèn)密鑰,傳送給被叫方的智能終端;并在視頻通話建立后,根據(jù)提供的被叫方IP攝像頭對(duì)應(yīng)的NAT穿越監(jiān)控URL、遠(yuǎn)程監(jiān)控訪問(wèn)密鑰,來(lái)訪問(wèn)被叫方指定的IP攝像頭,呈現(xiàn)被叫方的視頻;并根據(jù)從本地IP攝像頭獲取的本地監(jiān)控訪問(wèn)加密URL,呈現(xiàn)本地視頻。
[0015]在上述技術(shù)方案的基礎(chǔ)上,所述視頻通話單元作為被叫在接通視頻電話前,將指定的本地使用的IP攝像頭對(duì)應(yīng)的NAT穿越監(jiān)控URL、遠(yuǎn)程監(jiān)控訪問(wèn)密鑰,傳送給主叫方的智能終端;并在視頻通話建立后,根據(jù)提供的主叫方IP攝像頭對(duì)應(yīng)的NAT穿越監(jiān)控URL、遠(yuǎn)程監(jiān)控訪問(wèn)密鑰,來(lái)訪問(wèn)主叫方指定的IP攝像頭,呈現(xiàn)主叫方的視頻;并根據(jù)從本地IP攝像頭獲取的本地監(jiān)控訪問(wèn)加密URL,呈現(xiàn)本地視頻。
[0016]在上述技術(shù)方案的基礎(chǔ)上,所述視頻通話建立后,本地的智能終端將遠(yuǎn)端IP攝像頭對(duì)應(yīng)的NAT穿越監(jiān)控URL、遠(yuǎn)程監(jiān)控訪問(wèn)密鑰、本地IP攝像頭獲取的本地監(jiān)控訪問(wèn)加密URL,交由自身或同一 NAT下的顯示終端;該顯示終端根據(jù)遠(yuǎn)端IP攝像頭對(duì)應(yīng)的NAT穿越監(jiān)控URL、遠(yuǎn)程監(jiān)控訪問(wèn)密鑰訪問(wèn)遠(yuǎn)端IP攝像頭,呈現(xiàn)遠(yuǎn)端視頻;該顯示終端根據(jù)本地監(jiān)控訪問(wèn)加密URL,呈現(xiàn)本地視頻。
[0017]本發(fā)明還提供一種用于上述系統(tǒng)的基于智能終端和IP攝像頭實(shí)現(xiàn)視頻通話的方法,包括以下步驟:
[0018]IP攝像頭上電后,密鑰管理單元開(kāi)始工作,進(jìn)行初始化;密鑰管理單元?jiǎng)?chuàng)建網(wǎng)絡(luò)監(jiān)聽(tīng)線程、密鑰更新線程,網(wǎng)絡(luò)監(jiān)聽(tīng)線程用來(lái)與智能終端通信;密鑰更新線程用來(lái)根據(jù)通話狀態(tài)更新密鑰;網(wǎng)絡(luò)監(jiān)聽(tīng)線程與密鑰更新線程并行工作,相互獨(dú)立,創(chuàng)建順序無(wú)限制;
[0019]用戶啟動(dòng)智能終端上的視頻通話應(yīng)用APP后,視頻通話單元開(kāi)始工作,進(jìn)行初始化;視頻通話單元先創(chuàng)建攝像頭交互線程、平臺(tái)交互線程,攝像頭交互線程用來(lái)與NAT下的IP攝像頭進(jìn)行相關(guān)參數(shù)及消息的交互;平臺(tái)交互線程用來(lái)與平臺(tái)服務(wù)器交互;攝像頭交互線程與平臺(tái)交互線程并行工作,相互獨(dú)立,創(chuàng)建順序無(wú)限制;視頻通話單元再創(chuàng)建監(jiān)聽(tīng)主叫行為線程、監(jiān)聽(tīng)被叫請(qǐng)求線程,監(jiān)聽(tīng)主叫行為線程與監(jiān)聽(tīng)被叫請(qǐng)求線程并行工作,相互獨(dú)立,創(chuàng)建順序無(wú)限制;
[0020]IP攝像頭與智能終端并行工作,相互獨(dú)立。
[0021]在上述技術(shù)方案的基礎(chǔ)上,所述密鑰管理單元?jiǎng)?chuàng)建網(wǎng)絡(luò)監(jiān)聽(tīng)線程的流程為:
[0022]S101、監(jiān)聽(tīng)網(wǎng)絡(luò)接口,收到消息后轉(zhuǎn)向S102 ;
[0023]S102、解析消息類型,并根據(jù)消息類型執(zhí)行對(duì)應(yīng)的S103?S114后續(xù)步驟;
[0024]S103、判斷消息類型是否為智能終端的關(guān)聯(lián)請(qǐng)求,如果是智能終端的關(guān)聯(lián)請(qǐng)求,則轉(zhuǎn)到S104 ;否則轉(zhuǎn)到S105 ;
[0025]S104、消息類型是智能終端的關(guān)聯(lián)請(qǐng)求時(shí),與智能終端建立綁定關(guān)系,并將IP攝像頭的唯一硬件標(biāo)識(shí)符發(fā)給智能終端,返回到SlOl ;
[0026]S105、判斷消息類型是否為本地監(jiān)控訪問(wèn)加密URL獲取請(qǐng)求,如果是,則轉(zhuǎn)到S106 ;否則轉(zhuǎn)到S107 ;
[0027]S106、將IP攝像頭的本地監(jiān)控訪問(wèn)加密URL發(fā)送給智能終端,返回到SlOl ;
[0028]S107、判斷消息類型是否為遠(yuǎn)程監(jiān)控訪問(wèn)密鑰獲取請(qǐng)求,如果是,則轉(zhuǎn)到S108 ;否則轉(zhuǎn)到SllO ;
[0029]S108、將通話標(biāo)記設(shè)定為真,轉(zhuǎn)到S109 ;
[0030]S109、將當(dāng)前的遠(yuǎn)程監(jiān)控訪問(wèn)密鑰發(fā)送給智能終端,返回到SlOl ;
[0031]S110、判斷消息類型是否為視頻通話心跳消息,如果是,則轉(zhuǎn)到Slll ;否則轉(zhuǎn)到S113 ;
[0032]SI 11、將通話標(biāo)記設(shè)定為真,轉(zhuǎn)到S112 ;
[0033]S112、重置心跳定時(shí)器,返回到SlOl ;
[0034]S113、判斷消息類型是否為視頻通話結(jié)束信息,如果是,則轉(zhuǎn)到S114 ;否則返回到SlOl ;
[0035]S