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