2012年4月29日 星期日

NVR 實作探討


NVR(Network Video Recorders),是一個以網際網路協定(Internet Protocol)為基礎的網路設備,其相關運作全部基於IP架構。

NVR的功能

一般NVR應該會具備以下功能:
  • 錄製監控視訊
  • 錄音
  • 遠端控制介面,提供遠端控制中心透過網路連接。
  • 作業系統:少數會採用嵌入式系統,多數NVR會採取支援Windows或Linux系統的策略,以增加系統未來的擴充彈性。
  • 外殼:1U尺寸的機架式設計架構,以方便機房架設。
可能會具備的功能
  • 防火牆
  • 可熱插拔的磁碟管理系統
  • 影像的浮水印
  • 硬碟溫度保護機制
  • USP不斷電系統整合等
  • 乙太網供電(PoE: Power over Ethernet, 最大電流為550mA),PoE可協助將成本降至最低(約整體系統線路70%)
除了儲存資料之外,若NVR同時要當成控制中心或提供視訊顯示,則下列功能可能也要提供。

  • PTZ(Pan/Tilt/Zoom)控制
  • 影像辨識技巧,例如:車牌 辨識 ,人臉辨識,位移偵測,場景轉換偵測,追蹤移動物件

在此,我對我所認知的NVR重新定義為:一個可以接收IPCam影音串流的設備,可以將影音串流正確儲存,並且提供網路控制介面以供遠端存取資料。


NVR產品比較

剛開始進入此產業,因此僅摘錄幾家廠商資料,後續會繼續補充。

1. Intel 推出的高效能影像監控方案
20120420才看到的新聞,此方案代號為ISS,ISS含括了NVR、智慧型VMS、儲存伺服器、10G乙太網路等完整元素,堪稱End-to-end企業級解決方案;若以數量來看,其約可支援50台左右的NVR,以及10台VMS設備。其10G乙太網路骨幹,足以應付1,000台全高清網路攝影機5~6Gbps吞吐量。
2. 奇偶(geovision)
  • GV-NVR: Windows作業系統,4GB記憶體,可同時支援32路的IP Camera。 
  • GV-Recording Server: Windows作業系統,4~8GB記憶體,可同時支援128路的IP Camera。
  • GV-NVR System Lite: Windows XP embedded,1GB記憶體,同時支援4路的IP Camera

3. 精益科技(Plustek)
  • n-DVR 540: H.264, 4路攝影機
  • NVR Slim240,支援4頻道

4. .康博

  • RS-2208網路影像錄影機,Linux,8路 ,H.264、MPEG4及MJPEG 3,支援RAID-0與RAID-1,



NVR實作探討

由於不同供應商所生產的IP-Camera的功能雖然差異不大,但細部的視訊壓縮技術、傳輸方式、加密技術、控制介面…等關鍵功能,可能會出現整合限制,因此對NVR而言,如何增進連接監控端點的攝影機相容性,是一個關鍵的問題。

若自己想在家裡進行實驗,實作一個小型的NVR,一個簡單的方法便是直接利用現成的PC或筆電,直接在X86平台上進行開發。並且為了避免攝影機相容性的問題,只先選擇一台攝影機來作實驗。

實作之前,有幾點需要加以注意。

1. 選擇要控制的監控設備
監控設備分成傳統的CCTV Camera,以及新型的IP Camera。以NVR而言,只會支援IP Camera。(支援CCTV camera的稱為DVR)。若想要同時支援多種camera,則情況會複雜很多,此處假設只支援一種camera。
  • 若是傳統的CCTV Camera,各個廠商可能會附有客製化的控制程式,在NVR上安裝其控制程式便可以操控監控設備。
  • 若是IP Camera,大多可以直接透過網頁介面進行溝通。並且此部份已有組織定義互通性規範,例如:ONVIF。當然規範歸規範,實際互通時仍會發生問題。

2. 遠端控制介面
這部份可以在NVR上架設一個web server,例如:apache,透過撰寫相對應的 CGI 程式來達成。若要支援各式各樣廠牌的camera,則只需要在撰寫其他的CGI即可。如此,使用者遠端連結此web server或是在 NVR 本機登入 web server,都可以看到同樣的操作介面。對使用者較友善。

3. 監控視訊的傳輸
對我而言,這就是比較棘手的部份啦。近來的監控設備大多已達到1080P30的解析度,甚者各廠商的最新產品規格都已經升級到1080P60,因此傳輸的資料量大,所需的頻寬要大,另外要及時解開壓縮的視訊並且要能夠播放流暢。為了簡單起見,將採用支援 H.264 或 MotionJpeg 的 IP Camera,並且在區域網路內連接NVR與Camera。

4. 監控視訊的錄製
此部份將採用一顆 USB2.0 的外接硬碟,5400轉500GB。後續將視需要,換成快速硬碟或是採用RAID機制。

5. 監控視訊的播放
若採用 H.264,可以直接使用 VLC 軟體進行播放。 
若採用 Motion Jpeg,可以直接使用網頁觀看。

6. 成本考量
對於所有NVR應提供的功能,本來就可以全部放在PC上實作,此種架構通常稱為PC監控伺服器。 

由不同供應商所生產的IP-Camera的功能雖然差異不大,但細部的視訊壓縮技術、傳輸方式、加密技術、控制介面…等關鍵功能,可能會出現整合限制,因此對NVR而言,如何增進連接監控端點的攝影機相容性,是一個關鍵的問題。


註:後續開始實作時,會繼續增加實作NVR的相關資訊


參考資料
  1. IP視訊監控NVR技術發展
  2. 奇偶科技
  3. Wiki RAID
  4. http://geniusvision.net/community/ 此處有 Windows 版本的 NVR 程式可供測試。