務器(106),或所述攝像機可僅傳送固件更新的請求。類似地,客戶端計算機化 裝置(112)也可將其當前固件版本自動手動傳送(502)到VCS遠程互聯(lián)網(wǎng)服務器(106), 或所述攝像機可僅傳送固件更新的請求。VCS遠程互聯(lián)網(wǎng)服務器(106)可通過將固件的適 當?shù)淖钚掳姹緜魉停?04)到攝像機(100)或傳送(506)到客戶端計算機化裝置(112)來響 應。
[0158] -旦用戶向云攝像機請求時,所述云攝像機可執(zhí)行自動升級。當攝像機接收升級 請求時,所述攝像機可例如使用從所述請求傳遞至其的固件URL來下載固件文件。在固件 文件的下載完成之后,升級過程可開始。也可使用其他方法。
[0159] 也可對升級過程進行階段性處理,以便確保攝像機或客戶端計算機化裝置將能夠 由于任何故障而從所述升級過程的任何階段恢復。例如,在下載文件完成之后,攝像機處 理器可確認所述下載文件是否是正確的,并且隨后將攝像機重啟到"安全模式"。這種安全 模式可以是將允許將攝像機的內(nèi)核或文件系統(tǒng)寫入到攝像機的存儲器(例如,F(xiàn)lash、NAND 等)的最小分區(qū)。在升級已經(jīng)完成之后,攝像機隨后可重啟回到正常模式以用于常規(guī)操作。
[0160] 另外,在一些實施方案中,可使管理入口(例如,網(wǎng)頁)可用于允許特權(quán)用戶和系 統(tǒng)管理員添加、修改并刪除將推入到攝像機的任何固件版本。這允許被授權(quán)的用戶將固件 升級推給各種客戶和攝像機。
[0161] 對等視頻流
[0162] 在優(yōu)選實施方案中,系統(tǒng)將至少偶爾根據(jù)各種流傳輸方法,諸如對等視頻流方法 來工作。此類對等視頻流方法可幫助減小系統(tǒng)服務器上的負載,從而因此降低對系統(tǒng)資源 的要求并且有助于在要求增加時促進系統(tǒng)擴展。
[0163] 此處,可使用各種初始服務器握手和可傳遞開始視頻流過程所需的數(shù)據(jù)的設置消 息來開始此類流傳輸方法。
[0164] 然后(假設直接P2P連接是可能的),攝像機隨后可被配置來將數(shù)據(jù)直接流傳輸?shù)?客戶端計算機化裝置。此處,為了減小服務器上的負載,可根據(jù)需要使至所述服務器的P2P 連接斷開。
[0165] 然而,如果攝像機與客戶端計算機化裝置之間的直接P2P連接是不可能的(例如, 歸因于有問題的防火墻),那么服務器可繼續(xù)被涉及并且按需充當中繼連接。
[0166] 或者說,在一些實施方案中,來自遠程互聯(lián)網(wǎng)服務器的命令可用來進一步配置網(wǎng) 絡連接的視頻攝像機,以便(例如,使用P2P方法)將視頻數(shù)據(jù)直接流傳輸?shù)娇蛻舳擞嬎銠C 化裝置,或者經(jīng)由遠程互聯(lián)網(wǎng)服務器將視頻數(shù)據(jù)流傳輸?shù)娇蛻舳擞嬎銠C化裝置。
[0167] 系統(tǒng)可使用各種對等流傳輸方法來嘗試克服各種防火墻和其他網(wǎng)絡阻礙。例如, 系統(tǒng)可采用實時流協(xié)議以便有助于促進傳輸通過各種防火墻。另外,在判定攝像機與客戶 端計算機化裝置之間的直接P2P是不能實行的之前,系統(tǒng)可被配置來進行多次嘗試以使用 技術(shù)諸如各種網(wǎng)絡地址轉(zhuǎn)換(NAT)遍歷技術(shù)來直接連接攝像機與客戶端(并且因此返回到 替代的服務器中繼方法)。
[0168] 攝像機與客戶端計算機化裝置之間的P2P流傳輸?shù)母鞣N方法包括:
[0169] 1 :本地:如果客戶端計算機化裝置和攝像機是在相同的本地LAN或WiFi網(wǎng)絡上, 問題大大地簡化。兩個裝置可作為本地LAN/WIFI裝置彼此通信,而不另外需要任何遍歷方 法。
[0170] 為了建立對等(P2P)直接連接,IP收集服務器,諸如使用圍繞NAT的中繼的遍歷 (TURN),可用作具有出于安全目的所設定的認證證書的全球服務器??蛻舳擞嬎銠C化裝置 和攝像機兩者將使用任何機構(gòu),諸如用于NAT的會話遍歷公用業(yè)務(STUN),來從這個IP分 配服務器收集它們各自的IP地址列表,以便準備作為對等體進行直接通信??蛻舳擞嬎銠C 化裝置隨后可通過DMS服務器請求來自攝像機的流,所述DMS服務器將在兩個節(jié)點之間中 繼地址候選列表。攝像機和客戶端隨后可嘗試使用諸如交互式連接建立(ICE)的協(xié)議通過 候選地址列表來彼此連接,直到直接P2P數(shù)據(jù)信道被打開用于通信。
[0171] 在這種模式下,攝像機和客戶端計算機化裝置對于網(wǎng)絡LAN或WiFi網(wǎng)絡是本地 的。服務器可請求攝像機直接將視頻流(呈諸如RTSP視頻流的格式)或運動JPG圖像序列 發(fā)送到客戶端計算機化裝置??蛻舳擞嬎銠C化裝置通過適當?shù)木W(wǎng)絡端口在本地接收這個視 頻,并且基于(l)RTSP或(2)M-JPG或(3)自定義交換格式顯示視頻數(shù)據(jù)。在所述模式下, 視頻或圖像數(shù)據(jù)不需要通過互聯(lián)網(wǎng)中繼服務器或NAT遍歷路由流通。
[0172] 2 :直接:攝像機與客戶端計算機化裝置之間的直接對等(P2P)視頻顯示,通常使 用各種NAT遍歷方法來克服防火墻和其他網(wǎng)絡障礙。
[0173] 在這種模式下,由服務器輔助的攝像機和客戶端計算機化裝置檢測到它們是在由 防火墻分開的單獨網(wǎng)絡上,并且因此必須嘗試使用NAT遍歷技術(shù)來直接彼此通信。這種P2P 直接方法將嘗試使用NAT遍歷方法以便試圖自動打開防火墻或路由器中的適當網(wǎng)絡端口。 如果這個端口成功被打開,那么視頻或圖像或攝像機數(shù)據(jù)可流過防火墻/路由器,并且可 建立攝像機與客戶端計算機化裝置之間的直接通信。如果直接連接的嘗試失敗,那么系統(tǒng) 將調(diào)用將嘗試通過中繼P2P服務器連接的下一個會話(以下描述)。
[0174] 3 :中繼/代理:使用中間互聯(lián)網(wǎng)服務器來在攝像機與客戶端計算機化裝置之間連 接/收集/中繼/傳輸視頻數(shù)據(jù)。
[0175] 因為中繼連接通常需要多個對等體到同一個P2P服務器之間的恒定連接,所以任 選地可使用負載均衡技術(shù)來處理可擴展性。主P2P服務器將公然與其列表中的多個從P2P 服務器一起運行??蛻舳藢⒗弥鱌2P服務器開始地址收集請求,所述主P2P服務器將利 用位置向從服務器中的一個做出響應。在重新導向到從服務器中的一個之后,客戶端將連 接到這個從服務器并收集其地址列表??蛻舳穗S后使用DMS服務器將這個候選地址列表連 同適當?shù)腜2P地址一起發(fā)送到攝像機。攝像機隨后可從同一個P2P服務器請求其候選客戶 端計算機化裝置地址。
[0176] 圖6示出系統(tǒng)可如何遍歷各種防火墻并根據(jù)對等(P2P)方案進行操作的實例。具 體地,圖6示出可如何管理各種IP地址的具體實例。
[0177] 一般來說,如先前所討論,此類P2P方法可由以下兩者中的任何一個進行操作:
[0178]a)直接在攝像機(100)與客戶端計算機化裝置(112)之間的對等(P2P)視頻顯 不。
[0179]b)中繼/代理:使用中間互聯(lián)網(wǎng)服務器(例如,300)來將視頻數(shù)據(jù)從攝像機(100) 連接/收集/中繼/傳輸?shù)娇蛻舳擞嬎銠C化裝置(112)。
[0180]c)本地:攝像機(100)和客戶端計算機化裝置(112)兩者都在本地LAN或WiFi網(wǎng) 絡上。因此,這些裝置可以直接彼此通信,并且客戶端計算機化裝置(112)可以與作為本地 LAN/WIFI裝置的攝像機(100)通信而不需要任何另外的防火墻NAT遍歷方法。
[0181] 可擴展性
[0182] VCS體系結(jié)構(gòu)是能夠水平擴展的,從而允許它明顯地服務數(shù)百萬的攝像機。所述體 系結(jié)構(gòu)在以下圖7中捕獲。
[0183]圖7示出VCS體系結(jié)構(gòu)的水平可擴展性的實例。在圖7中,視頻攝像機在經(jīng)過初 始配置之后能夠?qū)⒅芷谛?心跳"攝像機狀態(tài)消息傳送到DMS系統(tǒng)(700)。應用程序服務 器(302a)、(302b)可被配置來可水平擴展的。此處,例如,隨著服務器上負載的增加可動態(tài) 地提供更多的服務器;此處,各種可擴展的"第三方"服務器諸如AmazonElasticCompute Cloud(EC2)服務器的使用可為有用的。
[0184] 類似地,負載均衡服務器(302a)、(302b)可以是第三方負載均衡服務器諸如 Amazon彈性負載均衡服務器(ELB)等。由系統(tǒng)產(chǎn)生的視頻數(shù)據(jù)也可存儲在各種第三方服務 器(110)中,并且先前討論的AmazonSimpleStorageService(S3)的使用對于這些目的可 為有用的。類似地,數(shù)據(jù)庫服務器(702)也可在第三方服務器諸如AmazonElasticCompute Cloud(EC2)服務器上實施,并且一些數(shù)據(jù)庫諸如主要數(shù)據(jù)庫(704)可使用Amazon彈性塊 存儲(EBS)等來實施。DB服務器備份和高速緩存功能可使用先前討論的AmazonElastic ComputeCloud(EC2)服務器或等效方法在各種第三方服務器上實施。
[0185] 因此,在這個實施方案中,應用程序服務器(302a)數(shù)據(jù)庫請求(708)由數(shù)據(jù)庫服 務器(702)進行處理,而高速緩存請求(710)由數(shù)據(jù)庫服務器備份和高速緩存(706)進行 處理。
[0186] 根據(jù)這個方案,假設客戶端計算機化裝置是智能電話或平板電腦計算機化裝置, 其被配置來運行本發(fā)明的呈app形式的基于客戶端的軟件。因此,在操作中,攝像機(100) 向系統(tǒng)發(fā)送"心跳"攝像機狀態(tài)消息。此處,假設攝像機還被配置來提供由攝像機(100)監(jiān) 控的真實世界環(huán)境的實況視圖。如果系統(tǒng)檢測到事件,服務器向app發(fā)送警報。app隨后可 請求即時流式視頻(或記錄視頻)或其他數(shù)據(jù),并且這些請求可被負載均衡到兩個或更多 個app服務器(302a)和(302b)。為了縮放系統(tǒng),數(shù)據(jù)庫(706)以及其他服務器和云部件可 根據(jù)需要由Amazon服務自動異步復制。
[0187]圖8示出客戶端計算機化裝置(112)的一個可能軟件結(jié)構(gòu)的框圖。此處,GUI模 塊控制顯示器(114),并且根據(jù)系統(tǒng)的各種公用程序和商業(yè)邏輯以及各種裝置服務繼而可 通過各種操作系統(tǒng)的API得到服務。
[0188] 此處,客戶端計算機化裝置從系統(tǒng)服務器接收通知,所述通知通常將包括事件 ID(事件標識號)。在一些實施方案中,系統(tǒng)隨后可自動使用這個時間ID以便隨后構(gòu)建合 理的安全URL,隨后從所述URL獲得對應于這個事件ID的視頻。
[0189] 此外,如先前所討論,云服務器還可以搜索和檢索存儲在各種云服務器上的視頻, 通常呈有關(guān)匹配所提供搜索標準的事件的數(shù)據(jù)(諸如視頻)的URL形式。在給定事件可存 儲任意元數(shù)據(jù)的情況下,搜索標準也可以是任意的??蛻舳擞嬎銠C化裝置隨后可查看視頻, 標記它們以供進一步存儲,刪除視頻等。
[0190] 系統(tǒng)的其他實施方案可另外被配置用于:
[0191] 多客戶端操作:此處,系統(tǒng)可被配置來接受并托管多個客戶端(通常使用多個客 戶端計算機化裝置)以便使用并操作所述系統(tǒng),并且通過系統(tǒng)的各種互聯(lián)網(wǎng)服務器關(guān)注視 頻數(shù)據(jù)。此處,例如,視頻數(shù)據(jù)可中繼或傳遞通過互聯(lián)網(wǎng)服務器,如先前所述。這個實施方案 還可使得一個或多個客戶端能夠接收有關(guān)攝像機狀態(tài)/狀況或真實世界事件通知的信息。
[0192] 替代的視頻存儲和檢索方法和系統(tǒng):應注意,用于視頻存儲的服務器不需要與用 于視頻檢索的服務器相同。例如,不同的視頻檢索服務器可利用相同的視頻存儲服務器,或 相反,不同的視頻存儲服務器可供給相同的視頻檢索服務器。將兩種功能分開允許提高可 擴展性和吞吐量。還應注意,在一些情況下,視頻檢索服務器的使用可甚至是任選的。
[0193] 共享用戶:此處,系統(tǒng)可被配置來使得遠程用戶客戶端能夠與其他用戶或利用各 種客戶端指定的社交網(wǎng)絡來共享攝像機操作、即時視頻、或攝像機通知或攝像機設置。
[0194] 手動觸發(fā)記錄:在這個實施方案中,系統(tǒng)可被配置來使得用戶能夠手動啟動記錄, 并且允許用戶手動指定那個視頻持續(xù)特定記錄時間和持續(xù)時間隨后自動保存。這個選項被 稱為"手動記錄"或"手動圖像捕獲-根據(jù)需要"。根據(jù)其他數(shù)據(jù)(先前討論的),手動觸發(fā) 數(shù)據(jù)隨后可保存在云中或保存在用戶的客戶端計算機化裝置上。
[0195] PTZ(平移-傾斜-變焦)攝像機操作:在這個實施方案中,系統(tǒng)可被配置來使得 用戶能夠手動地移動攝像機以便調(diào)整和/或指向特定場景/位置。此處,系統(tǒng)軟件和攝像 機硬件配置被配置來允許攝像機通過通常來自客戶端計算機化裝置的遠程命令而平移、傾 斜和變焦。在一些情況下,攝像機還可被配置來具有自動移動和自動跟隨特定移動對象的 能力。
[0196] 用于調(diào)整視頻帶寬/比特率或數(shù)據(jù)速率的能力:在這個實施方案中,不管自動(例 如,取決于網(wǎng)絡或相關(guān)聯(lián)硬件的能力)或手動,攝像機均可被配置來調(diào)整待發(fā)送出去的傳 送視頻數(shù)據(jù)的比特率或視頻尺寸/數(shù)據(jù)速率或帶寬。一般來說,當然,比特率越大,視頻信 號越好,但如果給定攝像機地點或用戶計算機化裝置已限制帶寬,那么系統(tǒng)(根據(jù)需要使 用手動命令)可調(diào)整所傳送視頻的比特率或帶寬。通常,這將使用各種自適應(自動)帶 寬調(diào)整方案來自動完成。
[0197] 按鍵通話能力:在一些實施方案中,系統(tǒng)可被配置來與配備有麥克風和揚聲器的 攝像機一起工作。當此類本地麥克風和揚聲器可用時,那么系統(tǒng)可被配置來使得客戶端能 夠使用客戶端的客戶端計算機化裝置來與其他實體(人、動物、音頻相應設備)自動通信。 此處,例如,遠程客戶端用戶可使用他的移動電話(對客戶端計算機化裝置打字以便與攝 像機前的人通話。音頻消息可通過互聯(lián)網(wǎng)連接和互聯(lián)網(wǎng)服務器發(fā)送,并且由攝像機的揚聲 器播放。因此,取決于設備和配置,可實現(xiàn)雙向音頻通信或單向音頻通信。
[0198] 先進的視頻分析:除了先前討論的各種自動化視頻事件檢測方案之外,在本地攝 像機水平下或作為替代方案在互聯(lián)網(wǎng)服務器水平下系統(tǒng)可配置成還執(zhí)行更先進的視頻分 析。這種更先進的視頻分析也可用于檢測事件或分析事件。這種更先進的視頻分析可包括: 人臉檢測或甚至單個人臉辨別、車輛或牌照