郭任重 韓寧
摘要:針對(duì)一些普通攝像頭、電腦主機(jī)、視頻會(huì)議終端等設(shè)備提供的HDMI,VGA,SDI等接口的視頻源很難接入視頻會(huì)議系統(tǒng)和融合通信系統(tǒng)的現(xiàn)狀。設(shè)計(jì)并實(shí)現(xiàn)了基于Hi3531A芯片的視頻信號(hào)接入系統(tǒng),在指揮調(diào)度、多媒體會(huì)商、融合通信等多種場(chǎng)景中具有很高的應(yīng)用價(jià)值。介紹了系統(tǒng)總體架構(gòu),對(duì)系統(tǒng)監(jiān)控模塊、資源管理模塊、RTSP/SIP媒體協(xié)商模塊和MPP視頻編解碼模塊進(jìn)行了闡述,給出了各模塊功能及軟件實(shí)現(xiàn)方案。
關(guān)鍵詞:Hi3531A;SIP;RTSP
中圖分類號(hào):TP391文獻(xiàn)標(biāo)志碼:A文章編號(hào):1008-1739(2021)12-69-4
Design and Implementation of Video Signal Access System Based on Hi3531A
GUO Renzhong1,HAN Ning2
(1.Jiujiang Electric Power Branch,State Grid Jiangxi electric power Co.,Ltd.,Jiujiang 332000,China;
2.Hebei Far-East Communication System Engineering Co.,Ltd.,Shijiazhuang 050002,China)
Abstract: The video sources at HDMI,VGA,SDI,etc. provided by some common cameras,computer hosts,video conference terminals and other equipment are difficult to access the video conference systems and converged communication systems. In view of this problem,the video signal access system based on Hi3531A chip is designed and implemented,which has high application value in various scenarios such as command and dispatch,multimedia consultation,and converged communication. The overall architecture is introduced,the system monitoring module,resource management module,RTSP/SIP media negotiation module,and MPP video codec module are described,and the functions of various modules and implementation scheme of software are analyzed.
Keywords:Hi3531A;SIP;RTSP
0引言
近幾年,隨著計(jì)算機(jī)和互聯(lián)網(wǎng)技術(shù)以及通信技術(shù)的飛速發(fā)展,視頻監(jiān)控、視頻會(huì)議等流媒體技術(shù)也得到了快速發(fā)展[1]。尤其最近IP技術(shù)推廣,使得研究IP技術(shù)在音視頻傳輸系統(tǒng)中勢(shì)在必行。基于SIP、RTSP等媒體協(xié)議的終端設(shè)備在視頻監(jiān)控、視頻會(huì)議、融合通信等系統(tǒng)中得到了廣泛的應(yīng)用[2]。
但是,在一些特殊的應(yīng)用場(chǎng)景,依然存在好多不支持IP網(wǎng)絡(luò)的音視頻設(shè)備,如普通攝像頭、電腦主機(jī)及電視機(jī)等。當(dāng)這些設(shè)備想通過IP網(wǎng)絡(luò)傳輸視頻信號(hào)供視頻會(huì)議系統(tǒng)或融合通信系統(tǒng)進(jìn)行視頻會(huì)議、圖像調(diào)閱時(shí)就很困難?;诂F(xiàn)狀,設(shè)計(jì)了基于Hi3531A芯片的視頻信號(hào)接入系統(tǒng),將一些不支持IP 網(wǎng)絡(luò)傳輸?shù)囊曨l采集設(shè)備通過該系統(tǒng)將模擬/數(shù)字視頻信號(hào)轉(zhuǎn)換成IP網(wǎng)絡(luò)視頻流供視頻會(huì)議系統(tǒng)和融合通信系統(tǒng)調(diào)閱、拉取。
1系統(tǒng)總體設(shè)計(jì)
系統(tǒng)基于Hi3531A芯片進(jìn)行設(shè)計(jì),Hi3531A是華為針對(duì)多路高清(1080p/720p)DVR產(chǎn)品應(yīng)用開發(fā)的一款專用的SoC芯片,內(nèi)置ARM9雙核處理器和高性能H.264視頻編解碼引擎,集成了包含多項(xiàng)復(fù)雜圖像處理算法的高性能視頻/圖像處理引擎,提供HDMI/VGA高清顯示輸出能力,同時(shí)還集成了豐富的外圍接口,支持千兆網(wǎng)口[3]。系統(tǒng)設(shè)計(jì)了HDMI,VGA,SDI,CVBS四種視頻輸入輸出接口,以應(yīng)對(duì)各種接口的視頻源。
軟件系統(tǒng)主要包含VPU系統(tǒng)監(jiān)控模塊、SIP、RTSP媒體協(xié)商模塊、CAP、Web資源管理模塊以及MPP媒體處理模塊。軟件總體結(jié)構(gòu)如圖1所示,各個(gè)模塊都是一個(gè)單獨(dú)的進(jìn)程,各個(gè)進(jìn)程之間使用UDP協(xié)議進(jìn)行數(shù)據(jù)交互。
2VPU系統(tǒng)監(jiān)控模塊
VPU進(jìn)程是系統(tǒng)的主進(jìn)程,主要負(fù)責(zé)監(jiān)控各個(gè)子進(jìn)程的運(yùn)行狀態(tài)和日志維護(hù)。進(jìn)程啟動(dòng)后,通過fork方式將各個(gè)進(jìn)程啟動(dòng)起來,同時(shí)啟動(dòng)一個(gè)定時(shí)器,用于維護(hù)與各個(gè)進(jìn)程之間的心跳消息,達(dá)到監(jiān)控各個(gè)進(jìn)程運(yùn)行狀態(tài)的目的。
日志維護(hù)方面采用zlog高可靠性、高性能、線程安全和靈活的日志函數(shù)庫,高效地實(shí)現(xiàn)了寫系統(tǒng)日志的功能,方便開發(fā)人員調(diào)試與維護(hù)。
3配置、資源管理模塊
配置、資源管理模塊由CAP、Web兩個(gè)線程實(shí)現(xiàn)。其中CAP線程是連接前端媒體協(xié)商與后端媒體處理模塊之間的橋梁,使媒體協(xié)商與媒體處理分離,并對(duì)系統(tǒng)視頻參數(shù)和資源進(jìn)行統(tǒng)一管理,使整個(gè)框架更加清晰。
系統(tǒng)Web基于GoAhead Web服務(wù)器框架開發(fā),可通過Web界面實(shí)現(xiàn)對(duì)系統(tǒng)基本參數(shù)配置和狀態(tài)信息的監(jiān)控,簡(jiǎn)潔快速實(shí)現(xiàn)設(shè)備的管理與維護(hù)。
4媒體協(xié)商模塊
為兼容現(xiàn)在主流的媒體協(xié)議,設(shè)計(jì)實(shí)現(xiàn)了RTSP、SIP兩種媒體協(xié)商功能。同時(shí)支持SIP和RTSP拉取接入本系統(tǒng)的視頻源。
4.1RTSP媒體協(xié)商
RTSP是TCP/IP協(xié)議體系中的一個(gè)應(yīng)用層協(xié)議,是哥倫比亞大學(xué)、網(wǎng)景和Real Networks公司提交的IETF RFC標(biāo)準(zhǔn)。該協(xié)議定義了一對(duì)多應(yīng)用程序如何有效通過IP網(wǎng)絡(luò)傳送多媒體數(shù)據(jù)[4]。RTSP位于RTP和RTCP體系結(jié)構(gòu)之上,使用TCP或UDP完成數(shù)據(jù)傳輸[5],目前在視頻監(jiān)控領(lǐng)域大部分終端設(shè)備都支持RTSP協(xié)議。
本系統(tǒng)中,RTSP服務(wù)端基于Media Server開源框架進(jìn)行開發(fā),RTSP協(xié)議拉取視頻流的時(shí)序如圖2所示。
①RTSP客戶端發(fā)起Describe請(qǐng)求,RTSP服務(wù)器向CAP模塊獲取對(duì)應(yīng)視頻通道的視頻參數(shù),并返回給RTSP客戶端。
②RTSP客戶端攜帶自己的IP地址和端口號(hào)發(fā)起Setup請(qǐng)求,RTSP服務(wù)器向CAP模塊獲取IP地址和端口號(hào),并一起返回給RTSP客戶端。
③RTSP客戶端發(fā)起Play請(qǐng)求,此時(shí)CAP模塊將協(xié)商的媒體參數(shù)、IP地址及端口號(hào)等信息發(fā)給MPP媒體處理模塊,媒體處理模塊根據(jù)這些信息創(chuàng)建編碼通道及RTP會(huì)話,開始向指定地址發(fā)送視頻流,此時(shí)RTSP客戶端可接收視頻流解碼顯示。
④RTSP客戶端和RTSP服務(wù)端定時(shí)通過Getparameter接口進(jìn)行心跳維護(hù)。
⑤當(dāng)要結(jié)束時(shí),RTSP客戶端發(fā)送Teardown給RTSP服務(wù)端,并通過CAP模塊傳給MPP,停止編碼并銷毀編碼通道和RTP會(huì)話,結(jié)束成功。
4.2SIP媒體協(xié)商
SIP協(xié)議是由互聯(lián)網(wǎng)工程任務(wù)組(IETF)制定的一種基于文本的應(yīng)用層控制協(xié)議,借鑒了HTTP和SMTP等現(xiàn)有成熟的應(yīng)用層控制協(xié)議,并且獨(dú)立于底層協(xié)議,可以直接使用TCP 或UDP來作為底層傳輸協(xié)議。SIP協(xié)議和其他協(xié)議一起給用戶提供完整的服務(wù),用于建立、修改和終止IP網(wǎng)上的雙方或多方多媒體會(huì)話[6]。SIP協(xié)議支持代理、注冊(cè)、重定向、登記定位用戶等功能,與RTP/RTCP,SDP,RTSP,DNS等協(xié)議配合,可支持語音、視頻、數(shù)據(jù)等多媒體業(yè)務(wù)。
SIP主要包括用戶代理和服務(wù)器兩部分,首先SIP終端(用戶代理)注冊(cè)到SIP服務(wù)器,SIP注冊(cè)流程如圖3所示。當(dāng)發(fā)起呼叫時(shí),SIP終端首先向SIP服務(wù)器發(fā)起,SIP服務(wù)器根據(jù)被叫號(hào)碼,向被叫終端發(fā)起呼叫請(qǐng)求[7]。SIP呼叫流程如圖4所示。
①SIP終端向SIP服務(wù)器發(fā)起Invite請(qǐng)求,SIP服務(wù)器根據(jù)被叫號(hào)碼查詢被叫IP地址,向其發(fā)起Invite請(qǐng)求,并向主叫終端回復(fù)100Trying。
②SIP模塊收到呼叫請(qǐng)求后,向CAP模塊獲取媒體參數(shù)及IP地址等信息,并發(fā)送180Ringing給主叫SIP終端。
③SIP模塊獲取到媒體參數(shù)及IP地址等信息后,發(fā)送200OK并攜帶這些信息給主叫SIP終端,完成媒體協(xié)商。
④SIP終端根據(jù)協(xié)商的媒體參數(shù)發(fā)送Ack信息,請(qǐng)求建立連接,此時(shí)CAP將協(xié)商好的媒體參數(shù)發(fā)給MPP模塊,MPP模塊根據(jù)這些信息創(chuàng)建編碼通道及RTP會(huì)話,開始向指定地址發(fā)送視頻流。
⑤結(jié)束時(shí),SIP終端發(fā)送Bey結(jié)束通話請(qǐng)求,最終傳給MPP,停止編碼并銷毀編碼通道和RTP會(huì)話,結(jié)束成功。
5媒體處理模塊
Hi3531A是華為公司推出的一款視頻編解碼專用芯片,其集成多項(xiàng)復(fù)雜圖像處理算法的高性能視頻/圖像處理引擎,支持多達(dá)32路視頻輸入接口及HDMI/VGA高清顯示輸出能力[8]。其強(qiáng)大的編解碼引擎可同時(shí)支持8×1080p@30fps H.264編碼+8×CIF@30fps H.264編碼+4×1080p@30fps H.264解碼+8×1080p@2fps JPEG 編碼工作。
海思提供的媒體處理軟件平臺(tái)(Media Process Platform,MPP),擁有豐富、簡(jiǎn)潔的API接口,方便開發(fā)人員快速完成媒體處理的軟件開發(fā)工作[9]。主要分為視頻輸入(VI)、視頻預(yù)處理(VPSS)、視頻編碼(VENC)、視頻解碼(VDEC)、視頻輸出(VO)、視頻區(qū)域管理(REGION)等模塊。
MPP媒體處理模塊編碼處理流程如圖5所示。
MPP模塊首先初始化視頻輸入VI、視頻預(yù)處理VPSS模塊,并進(jìn)行綁定,當(dāng)收到CAP模塊發(fā)來的信息時(shí),首先判斷當(dāng)前編碼通道的編碼通道中有沒有與該參數(shù)一致的,如果有,直接設(shè)置RTP協(xié)議棧,復(fù)制一份碼流發(fā)送到指定地址即可,防止重復(fù)編碼浪費(fèi)CPU資源。當(dāng)判斷沒有與該參數(shù)一致的編碼通道后,需要?jiǎng)?chuàng)建編碼通道并綁定VPSS和RTP發(fā)送通道,然后開始編碼發(fā)送碼流,同時(shí)記錄當(dāng)前編碼通道的編碼參數(shù)信息。
同理,當(dāng)收到CAP發(fā)來的結(jié)束信號(hào)時(shí),首先設(shè)置指定的RTP發(fā)送通道,停止向該地址發(fā)送碼流。然后,判斷是否還有其他設(shè)備再獲取該視頻輸入VI通道的視頻流,如果沒有則銷毀編碼通道,RTP發(fā)送通道,并清空編碼參數(shù)信息。
由于網(wǎng)絡(luò)MTU數(shù)據(jù)包長(zhǎng)度一般設(shè)置為1500,所以對(duì)H. 264碼流進(jìn)行網(wǎng)絡(luò)傳輸時(shí),首先需要對(duì)其分包再進(jìn)行RTP封裝然后發(fā)送。本系統(tǒng)的打包規(guī)則嚴(yán)格按照H.264RFC3984標(biāo)準(zhǔn)來進(jìn)行,RTP處理流程如圖6所示。
6結(jié)束語
系統(tǒng)設(shè)計(jì)的視頻信號(hào)接入系統(tǒng)將支持HDMI、VGA、SDI、CVBS等接口的視頻信號(hào)源轉(zhuǎn)換成IP網(wǎng)絡(luò)視頻源,是將視頻指揮調(diào)度系統(tǒng)、視頻會(huì)議系統(tǒng)、統(tǒng)一通信系統(tǒng)、軟交換(IMS)電話系統(tǒng)等通信系統(tǒng)與攝像頭、視頻會(huì)議終端、電腦主機(jī)、電視機(jī)等各種模擬視頻資源、顯控進(jìn)行互聯(lián)互通的設(shè)備,通過SIP、RTSP協(xié)議供融合通信系統(tǒng)、分布式大屏顯控系統(tǒng)、IP話機(jī)等設(shè)備拉取與調(diào)閱,并支持視頻分辨率、碼率、幀率調(diào)節(jié),滿足絕大部分使用場(chǎng)景。
基于此系統(tǒng)設(shè)計(jì)的視頻信號(hào)接入網(wǎng)關(guān)產(chǎn)品在視頻會(huì)議、指揮調(diào)度、多媒體會(huì)商、應(yīng)急處置等多種場(chǎng)景中得到廣泛應(yīng)用。
參考文獻(xiàn)
[1]徐望,朱宜炳,張常泉.一種基于樹莓派的視頻監(jiān)控網(wǎng)絡(luò)設(shè)計(jì)方案[J].南方農(nóng)機(jī),2021,52(5):41-42,44.
[2]唐赫岳.視頻會(huì)議應(yīng)用技術(shù)及發(fā)展趨勢(shì)[J].電子世界,2021(3):29-30.
[3]皮玉華.基于海思Hi3531的高清視頻解碼器硬件系統(tǒng)設(shè)計(jì)[J].中國公共安全(學(xué)術(shù)版),2016(2):124-126.
[4]張軍.基于RTSP的有線互動(dòng)點(diǎn)播監(jiān)測(cè)系統(tǒng)[J].電腦知識(shí)與技術(shù),2018,14(22):45-46.
[5]李宇成,傅軼.基于Live555代理服務(wù)器的遠(yuǎn)程視頻監(jiān)控系統(tǒng)[J]工業(yè)控制計(jì)算機(jī),2017,30(9):86-88.
[6]王翔.基于SIP協(xié)議的融合通信技術(shù)[J].科技創(chuàng)新與應(yīng)用,2019(4):145-147.
[7]徐鵬宇,許子燦.基于SIP協(xié)議的監(jiān)視系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2013,39(11):289-294.
[8]皮志松,韓磊.基于海思平臺(tái)的音視頻采集和編碼的實(shí)現(xiàn)[J].電視技術(shù),2020,44(9):21-23.
[9]吳俊.基于海思3518E的具有視頻分析功能的監(jiān)控終端設(shè)計(jì)[D].杭州:浙江工業(yè)大學(xué),2020.