白根亮,陳中雷,郭星宇,郭志華
(北京經(jīng)緯信息技術(shù)有限公司,北京 100081)
鐵路綜合視頻監(jiān)控類系統(tǒng)是具有音視頻數(shù)據(jù)采集、傳輸、交換、控制、顯示、存儲、處理功能的監(jiān)控系統(tǒng),應(yīng)用于鐵路行車指揮、生產(chǎn)組織、客貨運(yùn)輸服務(wù)、作業(yè)監(jiān)控、搶險(xiǎn)救援及治安防范等業(yè)務(wù)場景[1]。隨著大數(shù)據(jù)、人工智能等技術(shù)在鐵路發(fā)展中的應(yīng)用,基于鐵路綜合視頻圖像智能識別的各類應(yīng)用得到了越來越高的關(guān)注,例如基于圖像識別的客運(yùn)服務(wù)[2-3]、貨車裝載狀態(tài)識別[4]、車號識別[5]、周界入侵[6-7]等。鐵路綜合視頻監(jiān)控類系統(tǒng)的各類應(yīng)用面臨視頻獲取困難、傳輸量大和不同應(yīng)用協(xié)議轉(zhuǎn)換復(fù)雜等痛點(diǎn)和難題[8],為解決上述問題,亟需研發(fā)鐵路綜合視頻監(jiān)控類系統(tǒng)的分轉(zhuǎn)發(fā)中間件,將視頻數(shù)據(jù)進(jìn)行分割和轉(zhuǎn)發(fā),按需傳輸,提高網(wǎng)絡(luò)傳輸效率和帶寬利用率,為鐵路各業(yè)務(wù)部門和應(yīng)用系統(tǒng)提供所需要的視頻數(shù)據(jù),實(shí)現(xiàn)視頻資源集成、共享和智能化應(yīng)用,同時(shí),提供高性能、大規(guī)模視頻數(shù)據(jù)管理服務(wù)。
鐵路綜合視頻分轉(zhuǎn)發(fā)中間件采用高內(nèi)聚、低耦合的分布式架構(gòu),其總體架構(gòu)如圖1 所示,主要分為接入層、數(shù)據(jù)層、業(yè)務(wù)層和應(yīng)用層。
圖1 鐵路綜合視頻分轉(zhuǎn)發(fā)中間件總體架構(gòu)
(1)接入層主要對接各類設(shè)備或平臺各類協(xié)議的實(shí)時(shí)及歷史媒體流,實(shí)現(xiàn)協(xié)議轉(zhuǎn)換、適配及視頻的分轉(zhuǎn)發(fā)等功能,并提供統(tǒng)一的接口標(biāo)準(zhǔn)。
(2)數(shù)據(jù)層分為結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù),其中,結(jié)構(gòu)化數(shù)據(jù)包括基礎(chǔ)數(shù)據(jù)、監(jiān)測數(shù)據(jù)、狀態(tài)數(shù)據(jù)、實(shí)時(shí)數(shù)據(jù)、報(bào)警數(shù)據(jù)和分析數(shù)據(jù)等;非結(jié)構(gòu)化數(shù)據(jù)包括圖片、視頻文件、系統(tǒng)日志、文檔、可擴(kuò)展標(biāo)記語言(XML,eXtensible Markup Language)、JSON 等。為中間件提供統(tǒng)一的數(shù)據(jù)支撐和數(shù)據(jù)來源,為后期視頻分析和數(shù)據(jù)挖掘提供大數(shù)據(jù)存儲支持,為突發(fā)事件處置和預(yù)防提供決策支撐。
(3)業(yè)務(wù)層主要實(shí)現(xiàn)業(yè)務(wù)邏輯和數(shù)據(jù)的處理,并為終端提供服務(wù),主要包括媒體分發(fā)服務(wù)、存儲管理服務(wù)、接入網(wǎng)關(guān)服務(wù)、數(shù)據(jù)服務(wù)、終端管理服務(wù)、網(wǎng)絡(luò)管理(簡稱:網(wǎng)管)服務(wù)、告警服務(wù)、維護(hù)管理服務(wù)、鑒權(quán)認(rèn)證服務(wù)、配置管理服務(wù)、日志管理服務(wù)、標(biāo)準(zhǔn)API 服務(wù)等各種技術(shù)服務(wù)。
(4)應(yīng)用層包括業(yè)務(wù)管理和中間件管理,其中,業(yè)務(wù)管理主要包括實(shí)時(shí)監(jiān)控、云臺控制、歷史回放、業(yè)務(wù)告警等業(yè)務(wù)功能;中間件管理主要包括設(shè)備管理、用戶管理、配置管理、存儲管理、維護(hù)管理、日志管理等功能。
鐵路綜合視頻轉(zhuǎn)發(fā)中間件的技術(shù)架構(gòu)如圖2 所示,采用面向服務(wù)的架構(gòu)設(shè)計(jì),包含接入網(wǎng)關(guān)服務(wù)、媒體分發(fā)服務(wù)、數(shù)據(jù)服務(wù)、告警服務(wù)、網(wǎng)管服務(wù)、存儲管理服務(wù)、終端管理服務(wù)等服務(wù)模塊。通過模塊化、標(biāo)準(zhǔn)化設(shè)計(jì),對中間件不同的業(yè)務(wù)進(jìn)行解耦,各模塊進(jìn)行解耦及標(biāo)準(zhǔn)化后,可方便地進(jìn)行單獨(dú)升級與級聯(lián)/互聯(lián)擴(kuò)展,而不會造成全局性影響,通過各模塊間級聯(lián)及互聯(lián)的模式,可進(jìn)行水平及垂直擴(kuò)展,從而實(shí)現(xiàn)彈性部署與架構(gòu)靈活設(shè)計(jì)的目標(biāo)。
(1)采集設(shè)備/下級平臺通過Onvif 協(xié)議或動態(tài)庫等方式采集鐵路沿線音視頻數(shù)據(jù),并注冊到接入網(wǎng)關(guān)服務(wù)中,進(jìn)行信號控制命令[9](簡稱:信令)的協(xié)商和交互,同時(shí),發(fā)送實(shí)時(shí)媒體流到媒體分發(fā)服務(wù),并接收接入網(wǎng)關(guān)服務(wù)的信令,執(zhí)行攝像頭控制等操作。
(2)接入網(wǎng)關(guān)服務(wù)主要實(shí)現(xiàn)信令的轉(zhuǎn)發(fā)和處理,通過GB/T 28181 協(xié)議[10]和下級平臺進(jìn)行信令的傳輸、交換和控制。
(3)媒體分發(fā)服務(wù)主要用于接收和處理實(shí)時(shí)和歷史媒體流,實(shí)現(xiàn)對媒體流的解析、解復(fù)用和分發(fā),并推送到各個播放終端及互聯(lián)平臺。
(4)存儲管理服務(wù)主要對視頻分發(fā)服務(wù)生成的切片文件進(jìn)行管理,實(shí)現(xiàn)對文件的大小和錄像時(shí)長的計(jì)算、存儲及切片文件的合并,用于提供視頻文件的統(tǒng)一下載路徑,并發(fā)送實(shí)時(shí)媒體流到媒體分發(fā)服務(wù)。
(5)終端管理服務(wù)向客戶端提供統(tǒng)一接口調(diào)用,實(shí)現(xiàn)對客戶端和網(wǎng)頁端不同協(xié)議和信令的交互和調(diào)用。
(6)告警服務(wù)主要實(shí)現(xiàn)異常人員、異物入侵等報(bào)警數(shù)據(jù)的接收,并將告警數(shù)據(jù)路由給終端及其他互聯(lián)平臺。
(7)網(wǎng)管服務(wù)用于采集不同類型設(shè)備的設(shè)備狀態(tài)信息,并根據(jù)告警規(guī)則評判告警后,推送到消息隊(duì)列。
(8)數(shù)據(jù)服務(wù)主要用于操作數(shù)據(jù)庫及緩存庫,為其他服務(wù)提供數(shù)據(jù)及緩存支撐。
(9)消息隊(duì)列用于接收告警及命令消息并進(jìn)行消息推送,接收客戶端下發(fā)的用戶操作信息,并與其他服務(wù)實(shí)現(xiàn)消息共享。
鐵路綜合視頻分轉(zhuǎn)發(fā)中間件的功能架構(gòu)如圖3所示。
圖3 鐵路綜合視頻分轉(zhuǎn)發(fā)中間件功能架構(gòu)
2.1.1 實(shí)時(shí)監(jiān)控
實(shí)時(shí)監(jiān)控模塊包括實(shí)時(shí)點(diǎn)播、語音對講、主/子碼流、視頻轉(zhuǎn)碼、協(xié)議轉(zhuǎn)換和視頻轉(zhuǎn)推功能。實(shí)時(shí)監(jiān)控界面如圖4 所示。其中,實(shí)時(shí)點(diǎn)播功能支持用戶點(diǎn)播查看各類設(shè)備和通道采集到的實(shí)時(shí)視頻;語音對講功能支持用戶在實(shí)時(shí)監(jiān)控界面進(jìn)行語音對講;主/子碼流功能主要用于實(shí)現(xiàn)視頻主/子碼流的切換功能,單畫面播放時(shí)使用主碼流,多畫面播放時(shí)使用子碼流;視頻轉(zhuǎn)碼功能主要實(shí)現(xiàn)對不同視頻編碼格式(例如H.264、H.265)的視頻流和不同音頻編碼格式(例如G711、AAC)的音頻流進(jìn)行格式轉(zhuǎn)換;協(xié)議轉(zhuǎn)換功能主要用于實(shí)現(xiàn)RTSP、RTP/RTCP、RTMP、WebRTC 等協(xié)議的轉(zhuǎn)換,支持不同協(xié)議的解復(fù)用、媒體流解析與處理及不同協(xié)議的復(fù)用及輸出,從而實(shí)現(xiàn)各種媒體流的解封裝操作;視頻轉(zhuǎn)推功能可實(shí)現(xiàn)媒體流的轉(zhuǎn)發(fā)和級聯(lián),以及不同設(shè)備或平臺間的數(shù)據(jù)通信和交互。
圖4 實(shí)時(shí)監(jiān)控界面
2.1.2 云臺控制
云臺控制功能可對視頻采集設(shè)備進(jìn)行管理,可對球機(jī)類型的綜合視頻監(jiān)控設(shè)備進(jìn)行監(jiān)控方向控制、轉(zhuǎn)動速度設(shè)置、視頻放大/縮小、焦距和光圈調(diào)整、預(yù)置位設(shè)置及調(diào)用,云臺控制界面如圖5 所示。
圖5 云臺控制界面
2.1.3 歷史回放
2.1.3.1 錄像查詢及點(diǎn)播
通過目錄樹可查看監(jiān)控設(shè)備的歷史視頻信息,根據(jù)起止時(shí)間進(jìn)行歷史視頻查詢,并顯示不同時(shí)間點(diǎn)的錄像情況,可對存在錄像的時(shí)間段的歷史視頻進(jìn)行點(diǎn)播。
2.1.3.2 回放控制
該功能支持用戶對選定時(shí)間段的視頻進(jìn)行回放,回訪時(shí)可設(shè)置播放速度,并對視頻進(jìn)行截圖、下載、宮格數(shù)量設(shè)置和宮格順序切換等操作,如圖6 所示。
圖6 回放控制界面
2.1.3.3 視頻下載
該功能通過ffmpeg 等開源庫實(shí)現(xiàn)視頻數(shù)據(jù)處理及視頻文件錄制等功能;同時(shí),對視頻文件分片存儲,實(shí)時(shí)動態(tài)生成索引文件,對索引文件進(jìn)行內(nèi)存存儲,并使用二分法查找,實(shí)現(xiàn)快速檢索及下載。
2.1.4 業(yè)務(wù)告警
業(yè)務(wù)告警功能主要包括實(shí)時(shí)告警和告警聯(lián)動。其中,實(shí)時(shí)告警可查看告警通道的實(shí)時(shí)告警截圖和視頻,如圖7 所示;告警聯(lián)動可實(shí)現(xiàn)告警時(shí)的多臺攝像機(jī)聯(lián)動,發(fā)生告警后,與其聯(lián)動的通道會自動轉(zhuǎn)向預(yù)置位,啟動錄像,可新建、修改報(bào)警源的聯(lián)動動作,包括預(yù)置位的設(shè)置、恢復(fù)時(shí)間、預(yù)錄時(shí)間及報(bào)警結(jié)束后的錄像時(shí)延等,如圖8 所示。
圖7 實(shí)時(shí)告警功能界面
圖8 告警聯(lián)動功能界面
中間件管理包括設(shè)備管理、用戶管理、配置管理、存儲管理、維護(hù)管理和日志管理等功能。其中,設(shè)備管理功能可實(shí)現(xiàn)對現(xiàn)場設(shè)備、服務(wù)器、網(wǎng)絡(luò)設(shè)備等設(shè)備狀態(tài)的監(jiān)控,以及告警閾值配置等;用戶管理功能可實(shí)現(xiàn)對用戶角色管理、用戶組、菜單、項(xiàng)目權(quán)限等的管理,如圖9 所示;配置管理功能可實(shí)現(xiàn)對中間件服務(wù)及功能參數(shù)等的動態(tài)配置;存儲管理功能可實(shí)現(xiàn)對存儲計(jì)劃及策略的管理;維護(hù)管理功能可實(shí)現(xiàn)對系統(tǒng)服務(wù)運(yùn)行狀態(tài)的監(jiān)控及對運(yùn)維概況的統(tǒng)計(jì);日志管理功能主要包括操作日志的記錄和服務(wù)運(yùn)行日志的監(jiān)控。
圖9 用戶管理功能界面
鐵路綜合視頻分轉(zhuǎn)發(fā)中間件接口的傳輸通道采用信令通道和數(shù)據(jù)通道。其中,信令通道用于建立會話并傳輸控制命令;數(shù)據(jù)通道用于傳輸媒體流。信令通道采用XML+會話初始協(xié)議(SIP,Session initialization Protocol)實(shí)現(xiàn),該協(xié)議靈活且擴(kuò)展性好,適用于音視頻數(shù)據(jù)的通信,可保障不同廠商間設(shè)備和服務(wù)的兼容性,統(tǒng)一接口標(biāo)準(zhǔn)。數(shù)據(jù)通道采用實(shí)時(shí)傳輸協(xié)議(RTP,Real-time Transport Protocol)和實(shí)時(shí)傳輸控制協(xié)議(RTCP,Real-time Transport Control Protocol)實(shí)現(xiàn),其中,RTP 負(fù)責(zé)實(shí)時(shí)傳輸音視頻數(shù)據(jù);RTCP 則用于控制和監(jiān)控網(wǎng)絡(luò)情況,包括帶寬使用、丟包率、延遲等。通過調(diào)整傳輸參數(shù)可實(shí)現(xiàn)流量控制和網(wǎng)絡(luò)故障重發(fā)等功能,以提高音視頻數(shù)據(jù)傳輸質(zhì)量,減少延遲,降低丟包率。
鐵路綜合視頻分轉(zhuǎn)發(fā)中間件可根據(jù)當(dāng)前用戶的播放數(shù)量實(shí)現(xiàn)動態(tài)的資源調(diào)配,當(dāng)某個通道沒有用戶使用時(shí),以事件機(jī)制主動通知業(yè)務(wù)服務(wù),告知攝像機(jī)停止推送媒體流(簡稱:推流),并釋放帶寬及CPU 等資源。同時(shí),當(dāng)用戶直接根據(jù)播放地址播放視頻時(shí),如果其查看視頻的相關(guān)攝像機(jī)未推流,可通過事件機(jī)制主動通知業(yè)務(wù)服務(wù),告知攝像機(jī)進(jìn)行推流或主動拉取媒體流(簡稱:拉流),減少播放地址獲取環(huán)節(jié)。當(dāng)攝像機(jī)推流中斷后,延時(shí)銷毀媒體資源對象,同時(shí)延時(shí)斷開播放器;當(dāng)攝像機(jī)再次推流時(shí),復(fù)用該資源對象,播放器可繼續(xù)觀看。如果超過預(yù)設(shè)時(shí)間限制沒有再推流,則主動關(guān)閉播放器并回收所有資源。
鐵路綜合視頻分轉(zhuǎn)發(fā)中間件支持分布式架構(gòu)、存儲虛擬化,并提供統(tǒng)一命名空間、故障檢測、自動恢復(fù)、糾刪碼等冗余功能的存儲;支持文件及對象的云存儲功能,對必要的媒體流采用云端存儲的方式,并生成文件索引,以方便后期快速檢索定位;支持Linux、Windows 及國產(chǎn)化等不同的CPU 架構(gòu);媒體分發(fā)服務(wù)支持對等集群部署等不同方式的部署,同時(shí),支持故障轉(zhuǎn)移,從而實(shí)現(xiàn)中間件的高可用。
鐵路綜合視頻分轉(zhuǎn)發(fā)中間件于2023 年6 月,在鐵路線路安全環(huán)境管理平臺上線運(yùn)行,并在全國鐵路范圍內(nèi)試用,支持鐵路重點(diǎn)區(qū)段安全巡視和風(fēng)險(xiǎn)隱患排查,應(yīng)用效果良好。
鐵路綜合視頻分轉(zhuǎn)發(fā)中間件可提供高性能、大規(guī)模視頻數(shù)據(jù)管理服務(wù),實(shí)現(xiàn)視頻資源集成與共享,規(guī)范視頻傳輸方式,對多條線路視頻數(shù)據(jù)進(jìn)行集中整合;對重點(diǎn)與一般地段視頻數(shù)據(jù)進(jìn)行分類管理和監(jiān)控,實(shí)現(xiàn)自動輪訓(xùn)和重點(diǎn)部位重點(diǎn)排查等不同監(jiān)控方式;實(shí)現(xiàn)對視頻數(shù)據(jù)的分割和轉(zhuǎn)發(fā)、按需傳輸,規(guī)范統(tǒng)一視頻傳輸方式,避免多對多交叉網(wǎng)狀傳輸,減少下行帶寬資源,提高網(wǎng)絡(luò)傳輸效率和帶寬利用率,以便實(shí)時(shí)掌握各種突發(fā)事件和警情信息;更好地發(fā)揮客運(yùn)段級調(diào)度中心調(diào)度臺視頻巡查、監(jiān)控、處理、預(yù)警等職責(zé),提高工作效率,
鐵路綜合視頻監(jiān)控類系統(tǒng)在鐵路運(yùn)輸生產(chǎn)中發(fā)揮了重要的作用,隨著智能鐵路、數(shù)字鐵路的發(fā)展,基于綜合視頻監(jiān)控類系統(tǒng)的各種智能化應(yīng)用成為智能鐵路的重要組成部分。鐵路綜合視頻分轉(zhuǎn)發(fā)中間件可將視頻數(shù)據(jù)進(jìn)行分割和轉(zhuǎn)發(fā),按需傳輸,提高視頻傳輸?shù)男屎唾|(zhì)量,解決大規(guī)模視頻傳輸和播放遇到的難題,提供更好的流媒體視頻服務(wù),為基于鐵路綜合視頻的各種智能化應(yīng)用提供定制化的視頻數(shù)據(jù),更好地滿足業(yè)務(wù)應(yīng)用需求,提高視頻管理人員工作效率。