郭任重 韓寧



摘要:針對一些普通攝像頭、電腦主機、視頻會議終端等設備提供的HDMI,VGA,SDI等接口的視頻源很難接入視頻會議系統和融合通信系統的現狀。設計并實現了基于Hi3531A芯片的視頻信號接入系統,在指揮調度、多媒體會商、融合通信等多種場景中具有很高的應用價值。介紹了系統總體架構,對系統監控模塊、資源管理模塊、RTSP/SIP媒體協商模塊和MPP視頻編解碼模塊進行了闡述,給出了各模塊功能及軟件實現方案。
關鍵詞:Hi3531A;SIP;RTSP
中圖分類號:TP391文獻標志碼:A文章編號: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引言
近幾年,隨著計算機和互聯網技術以及通信技術的飛速發展,視頻監控、視頻會議等流媒體技術也得到了快速發展[1]。尤其最近IP技術推廣,使得研究IP技術在音視頻傳輸系統中勢在必行。基于SIP、RTSP等媒體協議的終端設備在視頻監控、視頻會議、融合通信等系統中得到了廣泛的應用[2]。
但是,在一些特殊的應用場景,依然存在好多不支持IP網絡的音視頻設備,如普通攝像頭、電腦主機及電視機等。當這些設備想通過IP網絡傳輸視頻信號供視頻會議系統或融合通信系統進行視頻會議、圖像調閱時就很困難。基于現狀,設計了基于Hi3531A芯片的視頻信號接入系統,將一些不支持IP 網絡傳輸的視頻采集設備通過該系統將模擬/數字視頻信號轉換成IP網絡視頻流供視頻會議系統和融合通信系統調閱、拉取。
1系統總體設計
系統基于Hi3531A芯片進行設計,Hi3531A是華為針對多路高清(1080p/720p)DVR產品應用開發的一款專用的SoC芯片,內置ARM9雙核處理器和高性能H.264視頻編解碼引擎,集成了包含多項復雜圖像處理算法的高性能視頻/圖像處理引擎,提供HDMI/VGA高清顯示輸出能力,同時還集成了豐富的外圍接口,支持千兆網口[3]。系統設計了HDMI,VGA,SDI,CVBS四種視頻輸入輸出接口,以應對各種接口的視頻源。
軟件系統主要包含VPU系統監控模塊、SIP、RTSP媒體協商模塊、CAP、Web資源管理模塊以及MPP媒體處理模塊。軟件總體結構如圖1所示,各個模塊都是一個單獨的進程,各個進程之間使用UDP協議進行數據交互。
2VPU系統監控模塊
VPU進程是系統的主進程,主要負責監控各個子進程的運行狀態和日志維護。進程啟動后,通過fork方式將各個進程啟動起來,同時啟動一個定時器,用于維護與各個進程之間的心跳消息,達到監控各個進程運行狀態的目的。
日志維護方面采用zlog高可靠性、高性能、線程安全和靈活的日志函數庫,高效地實現了寫系統日志的功能,方便開發人員調試與維護。
3配置、資源管理模塊
配置、資源管理模塊由CAP、Web兩個線程實現。其中CAP線程是連接前端媒體協商與后端媒體處理模塊之間的橋梁,使媒體協商與媒體處理分離,并對系統視頻參數和資源進行統一管理,使整個框架更加清晰。
系統Web基于GoAhead Web服務器框架開發,可通過Web界面實現對系統基本參數配置和狀態信息的監控,簡潔快速實現設備的管理與維護。
4媒體協商模塊
為兼容現在主流的媒體協議,設計實現了RTSP、SIP兩種媒體協商功能。同時支持SIP和RTSP拉取接入本系統的視頻源。
4.1RTSP媒體協商
RTSP是TCP/IP協議體系中的一個應用層協議,是哥倫比亞大學、網景和Real Networks公司提交的IETF RFC標準。該協議定義了一對多應用程序如何有效通過IP網絡傳送多媒體數據[4]。RTSP位于RTP和RTCP體系結構之上,使用TCP或UDP完成數據傳輸[5],目前在視頻監控領域大部分終端設備都支持RTSP協議。
本系統中,RTSP服務端基于Media Server開源框架進行開發,RTSP協議拉取視頻流的時序如圖2所示。
①RTSP客戶端發起Describe請求,RTSP服務器向CAP模塊獲取對應視頻通道的視頻參數,并返回給RTSP客戶端。
②RTSP客戶端攜帶自己的IP地址和端口號發起Setup請求,RTSP服務器向CAP模塊獲取IP地址和端口號,并一起返回給RTSP客戶端。
③RTSP客戶端發起Play請求,此時CAP模塊將協商的媒體參數、IP地址及端口號等信息發給MPP媒體處理模塊,媒體處理模塊根據這些信息創建編碼通道及RTP會話,開始向指定地址發送視頻流,此時RTSP客戶端可接收視頻流解碼顯示。
④RTSP客戶端和RTSP服務端定時通過Getparameter接口進行心跳維護。
⑤當要結束時,RTSP客戶端發送Teardown給RTSP服務端,并通過CAP模塊傳給MPP,停止編碼并銷毀編碼通道和RTP會話,結束成功。
4.2SIP媒體協商
SIP協議是由互聯網工程任務組(IETF)制定的一種基于文本的應用層控制協議,借鑒了HTTP和SMTP等現有成熟的應用層控制協議,并且獨立于底層協議,可以直接使用TCP 或UDP來作為底層傳輸協議。SIP協議和其他協議一起給用戶提供完整的服務,用于建立、修改和終止IP網上的雙方或多方多媒體會話[6]。SIP協議支持代理、注冊、重定向、登記定位用戶等功能,與RTP/RTCP,SDP,RTSP,DNS等協議配合,可支持語音、視頻、數據等多媒體業務。
SIP主要包括用戶代理和服務器兩部分,首先SIP終端(用戶代理)注冊到SIP服務器,SIP注冊流程如圖3所示。當發起呼叫時,SIP終端首先向SIP服務器發起,SIP服務器根據被叫號碼,向被叫終端發起呼叫請求[7]。SIP呼叫流程如圖4所示。
①SIP終端向SIP服務器發起Invite請求,SIP服務器根據被叫號碼查詢被叫IP地址,向其發起Invite請求,并向主叫終端回復100Trying。
②SIP模塊收到呼叫請求后,向CAP模塊獲取媒體參數及IP地址等信息,并發送180Ringing給主叫SIP終端。
③SIP模塊獲取到媒體參數及IP地址等信息后,發送200OK并攜帶這些信息給主叫SIP終端,完成媒體協商。
④SIP終端根據協商的媒體參數發送Ack信息,請求建立連接,此時CAP將協商好的媒體參數發給MPP模塊,MPP模塊根據這些信息創建編碼通道及RTP會話,開始向指定地址發送視頻流。
⑤結束時,SIP終端發送Bey結束通話請求,最終傳給MPP,停止編碼并銷毀編碼通道和RTP會話,結束成功。
5媒體處理模塊
Hi3531A是華為公司推出的一款視頻編解碼專用芯片,其集成多項復雜圖像處理算法的高性能視頻/圖像處理引擎,支持多達32路視頻輸入接口及HDMI/VGA高清顯示輸出能力[8]。其強大的編解碼引擎可同時支持8×1080p@30fps H.264編碼+8×CIF@30fps H.264編碼+4×1080p@30fps H.264解碼+8×1080p@2fps JPEG 編碼工作。
海思提供的媒體處理軟件平臺(Media Process Platform,MPP),擁有豐富、簡潔的API接口,方便開發人員快速完成媒體處理的軟件開發工作[9]。主要分為視頻輸入(VI)、視頻預處理(VPSS)、視頻編碼(VENC)、視頻解碼(VDEC)、視頻輸出(VO)、視頻區域管理(REGION)等模塊。
MPP媒體處理模塊編碼處理流程如圖5所示。
MPP模塊首先初始化視頻輸入VI、視頻預處理VPSS模塊,并進行綁定,當收到CAP模塊發來的信息時,首先判斷當前編碼通道的編碼通道中有沒有與該參數一致的,如果有,直接設置RTP協議棧,復制一份碼流發送到指定地址即可,防止重復編碼浪費CPU資源。當判斷沒有與該參數一致的編碼通道后,需要創建編碼通道并綁定VPSS和RTP發送通道,然后開始編碼發送碼流,同時記錄當前編碼通道的編碼參數信息。
同理,當收到CAP發來的結束信號時,首先設置指定的RTP發送通道,停止向該地址發送碼流。然后,判斷是否還有其他設備再獲取該視頻輸入VI通道的視頻流,如果沒有則銷毀編碼通道,RTP發送通道,并清空編碼參數信息。
由于網絡MTU數據包長度一般設置為1500,所以對H. 264碼流進行網絡傳輸時,首先需要對其分包再進行RTP封裝然后發送。本系統的打包規則嚴格按照H.264RFC3984標準來進行,RTP處理流程如圖6所示。
6結束語
系統設計的視頻信號接入系統將支持HDMI、VGA、SDI、CVBS等接口的視頻信號源轉換成IP網絡視頻源,是將視頻指揮調度系統、視頻會議系統、統一通信系統、軟交換(IMS)電話系統等通信系統與攝像頭、視頻會議終端、電腦主機、電視機等各種模擬視頻資源、顯控進行互聯互通的設備,通過SIP、RTSP協議供融合通信系統、分布式大屏顯控系統、IP話機等設備拉取與調閱,并支持視頻分辨率、碼率、幀率調節,滿足絕大部分使用場景。
基于此系統設計的視頻信號接入網關產品在視頻會議、指揮調度、多媒體會商、應急處置等多種場景中得到廣泛應用。
參考文獻
[1]徐望,朱宜炳,張常泉.一種基于樹莓派的視頻監控網絡設計方案[J].南方農機,2021,52(5):41-42,44.
[2]唐赫岳.視頻會議應用技術及發展趨勢[J].電子世界,2021(3):29-30.
[3]皮玉華.基于海思Hi3531的高清視頻解碼器硬件系統設計[J].中國公共安全(學術版),2016(2):124-126.
[4]張軍.基于RTSP的有線互動點播監測系統[J].電腦知識與技術,2018,14(22):45-46.
[5]李宇成,傅軼.基于Live555代理服務器的遠程視頻監控系統[J]工業控制計算機,2017,30(9):86-88.
[6]王翔.基于SIP協議的融合通信技術[J].科技創新與應用,2019(4):145-147.
[7]徐鵬宇,許子燦.基于SIP協議的監視系統設計與實現[J].計算機工程,2013,39(11):289-294.
[8]皮志松,韓磊.基于海思平臺的音視頻采集和編碼的實現[J].電視技術,2020,44(9):21-23.
[9]吳俊.基于海思3518E的具有視頻分析功能的監控終端設計[D].杭州:浙江工業大學,2020.