市場上還存在另一種完全不同的系統(tǒng)結(jié)構(gòu),這就是基于流直存和組播技術(shù)的結(jié)構(gòu),這種結(jié)構(gòu)的核心是系統(tǒng)不再設(shè)置專門的流媒體模塊來轉(zhuǎn)發(fā)視頻,這部分工作將交給攝像機本身和網(wǎng)絡(luò)設(shè)備來完成(如圖5)。
目前幾乎所有的200萬像素IP高清攝像機的編碼芯片都至少能編一路1080p30f的高清視頻流或者2路720p30f的高清視頻流或者1路720p60f的高清視頻流(這么高幀數(shù)的視頻流在監(jiān)控里目前基本用不到),除了芯片本身的編碼能力之外,攝像機的CPU也有復(fù)制少數(shù)視頻流的能力,比如說,如果攝像機的編碼芯片編出一路1080p30f的高清視頻流,則編碼芯片本身已經(jīng)竭盡全力沒有資源了,如果此時需要第二路同樣的高清流怎么辦,此時攝像機的CPU會來復(fù)制這一路高清流,攝像機作為整體還是可以輸出2路1080p30f的高清流,事實上,目前做得好的高清攝像機都可以在不影響畫質(zhì)和遲延性的情況下輸出至少5路這樣的高清視頻流(每一路是一個單播,這種方法其實是多單播方案),只是如果再增加復(fù)制數(shù)量,攝像機的負(fù)擔(dān)將增大,可能會明顯損失畫質(zhì)或者增大延遲性。在這個前提下,如果一路視頻流借助ISCSI協(xié)議直接往存儲介質(zhì)里寫入,另外幾路高清視頻流顯然可以滿足數(shù)量不甚多的瀏覽需求,那么系統(tǒng)中就不需要流媒體模塊來轉(zhuǎn)發(fā)視頻了。但是如果客戶端很多,或者解碼器很多,都要看同一路視頻(這種情況比較極端),那么前端攝像機本身的5路視頻流就不夠用了,隨著多單播數(shù)量的增加,攝像機很快就會變得不堪重負(fù),那么在這種情況下,怎么解決數(shù)量眾多的瀏覽需求呢?答案是借助網(wǎng)絡(luò)設(shè)備的組播功能來解決。
目前IP數(shù)字監(jiān)控系統(tǒng)中采用的接入層交換機、匯聚層交換機以及核心交換機都比較高端,這些交換機本身都具備組播功能。交換機的復(fù)制功能是非常強大的,借助交換機的組播功能,就可以很好地解決同一個視頻源被多處同時瀏覽的需求,這樣做既實現(xiàn)了系統(tǒng)功能又充分發(fā)揮了已有設(shè)備的性能,何樂而不為呢?
綜上所述,這種基于流直存和組播技術(shù)的系統(tǒng)結(jié)構(gòu)的核心在于充分利用設(shè)備本身(攝像機和交換機)的能力來解決系統(tǒng)的復(fù)雜需求。
流直存技術(shù)主要是借助ISCSI協(xié)議把前端攝像機的一路視頻流直接寫入存儲媒介而不借助第三方設(shè)備。磁盤陣列將被劃分為若干個邏輯分區(qū)LUN,只要攝像機支持ISCSI直存,則攝像機就能找到并添加LUN,從而將視頻流寫入到對應(yīng)的LUN中實現(xiàn)保存,所以,理論上來說,基于這種直存技術(shù)的系統(tǒng)中只需要磁盤陣列,但是實際中應(yīng)用中卻出現(xiàn)了問題。首先,LUN分區(qū)的大小有限,一旦這個LUN存滿了,就只能覆蓋以前的視頻資料了,這樣做視頻存儲時間就被限制死了而無法擴展;第二個問題,攝像機往往只能找到并綁定一個LUN,一旦LUN出現(xiàn)故障,這個攝像機就無法繼續(xù)錄像,無法主動更換別的LUN繼續(xù)存儲。
基于上述考慮,在實際中,系統(tǒng)中仍然需要一個專門負(fù)責(zé)分配LUN的服務(wù)器,這就是錄像管理服務(wù)器,伴隨著存儲管理服務(wù)器的是高級的“虛擬存儲池”的概念。這個錄像管理服務(wù)器是獨立于中心管理服務(wù)器之外用來專門管理存儲,它會根據(jù)系統(tǒng)中設(shè)定的存儲時間不斷地為攝像機分配存儲空間,如果某個存儲空間故障,則該服務(wù)器會為其分配其他正常的存儲空間而使錄像不受影響。系統(tǒng)的視頻存儲體現(xiàn)出較好的可靠性和智能性。
由于攝像機直接輸出實時和存儲流,為保證實時瀏覽的快速性和存儲的可靠性,一般實時流是通過UDP方式傳輸,而存儲流通過TCP方式傳輸,這樣既增加了系統(tǒng)的復(fù)雜性,也使某些故障不容易解決。筆者在一個采用這種結(jié)構(gòu)的項目中遇到一個問題,某個點位的實時視頻一直是沒有問題的,PING也不丟包,但是就是錄像始終斷斷續(xù)續(xù),也就是說走TCP協(xié)議的存儲流存在某些問題導(dǎo)致無法連續(xù)存入磁盤陣列。而就錄像管理服務(wù)器本身而言,要為數(shù)量眾多的攝像機實時分配數(shù)量眾多的存儲塊,可想而知其程序?qū)崿F(xiàn)的復(fù)雜性也是很大的,一旦程序設(shè)計有缺陷,則會為整個系統(tǒng)的視頻存儲帶來隱患。