曹型兵,陳瑩星
(重慶郵電大學(xué)通信工程應(yīng)用研究所,重慶400065)
無線視頻監(jiān)控系統(tǒng)廣泛應(yīng)用于教育系統(tǒng)、醫(yī)療系統(tǒng)、安全系統(tǒng)以及應(yīng)急指揮等。目前的無線視頻監(jiān)控朝著數(shù)字化、網(wǎng)絡(luò)化、一體化等方向發(fā)展,對網(wǎng)絡(luò)傳輸過程中實時、靈活性要求更高。而SIP具有高度簡單靈活性、可擴展性等優(yōu)點,可以作為視頻監(jiān)控系統(tǒng)的首選控制協(xié)議。
SIP(會話初始協(xié)議)[1]協(xié)議是IETF提出的,用來建立、修改和終止多媒體會話,基于文本傳輸?shù)膽?yīng)用層控制協(xié)議,它獨立于傳輸層,SIP使用用戶數(shù)據(jù)報協(xié)議(UDP)和傳輸控制協(xié)議(TCP)將底層靈活聯(lián)系在一起。
SIP是通過頭域來傳遞和處理在會話過程中相關(guān)的各種信息,比如路由、安全機制等。而一個頭域中包含的若干個參數(shù),如from,to,call-ID,CSeq以及via等。其中call-ID用來標(biāo)志一個特定的邀請,一個事務(wù)中包含的多種邀請都是通過call-ID識別。via字段存儲所有處理請求的代理地址,用來檢測路由的循環(huán)。via標(biāo)題頭的數(shù)量隨著跳數(shù)增加,而應(yīng)答消息返回時,via標(biāo)題頭的數(shù)量就會減少。CSeq對同一個會話中的事務(wù)進行排序。
SIP消息有兩種:客戶端到服務(wù)器的請求消息和服務(wù)器到客戶端的響應(yīng)消息。無論是請求消息還是響應(yīng)消息,均由1個起始行(start-line)、1個或多個字段(field)組成的消息頭、1個標(biāo)志消息頭結(jié)束的空行(CRLF)以及作為可選項的消息體(message body)組成。其中描述消息體的頭稱為實體頭(entity header)。
SIP將建立會話和會話描述相分離。利用Request_URL_SIP請求和基于報文頭內(nèi)容的SIP應(yīng)答來尋找路由,并且它具有可擴展性和互操作性等優(yōu)點,成為了視頻監(jiān)控系統(tǒng)中廣受青睞的協(xié)議之一。
基于SIP無線視頻監(jiān)控系統(tǒng)主要由客戶端、SIP服務(wù)器、媒體服務(wù)器、數(shù)據(jù)庫和PU端等部分組成,其體系架構(gòu)如圖1所示。
圖1 無線視頻監(jiān)控系統(tǒng)構(gòu)成
1)客戶端
用戶登錄無線視頻監(jiān)控系統(tǒng)向數(shù)據(jù)庫寫入信息,經(jīng)由數(shù)據(jù)庫將信息發(fā)到SIP注冊服務(wù)器。如果注冊成功則保持在線狀態(tài),隨后可以發(fā)送云臺控制命令、錄像命令、查詢命令、配置命令等。當(dāng)客戶端與PU建立請求且響應(yīng)成功后,則在客戶端顯示相應(yīng)的內(nèi)容。
2)SIP服務(wù)器
SIP服務(wù)器[2]包含用戶代理、代理服務(wù)器、注冊服務(wù)器和重定向服務(wù)器。注冊服務(wù)器負責(zé)注冊消息完成定位服務(wù),使得請求方與被請求方建立起一條唯一通路進行消息傳遞。重定向服務(wù)器只接受SIP請求,不發(fā)起任何SIP請求,負責(zé)將目的地址映射成新的地址,并將新的地址返回給發(fā)送方,它能提供會話的移動性。代理服務(wù)器作為連接客戶端與服務(wù)器端的實體,負責(zé)接收用戶代理(UA)發(fā)來的請求并送往相應(yīng)的服務(wù)器。UA包含用戶代理客戶(UAC)和用戶代理服務(wù)器(UAS)。UAC作為邏輯實體充當(dāng)會話的發(fā)起方,UAS作為物理實體充當(dāng)接收方而存在。
SIP協(xié)議包含6種請求方法[3]:REGISTER,INVITE,ACK,BYE,OPTIONS,CANCEL。在實時視頻數(shù)據(jù)傳輸過程中主要是用到包含SDP消息體的INVITE請求消息實時對數(shù)據(jù)包的傳輸。REGISTER作為客戶端向服務(wù)器注冊用戶位置而存在的方法;ACK方法是呼叫的建立;BYE則是結(jié)束會話,釋放鏈路資源;OPTIONS具有查詢服務(wù)器功能的方法;CANCEL是取消已發(fā)出但未終止的請求。
3)媒體服務(wù)器
媒體服務(wù)器應(yīng)用于傳輸層,主要完成媒體流的存儲、排序和轉(zhuǎn)發(fā)等任務(wù),它包括轉(zhuǎn)發(fā)服務(wù)器和存儲服務(wù)器。轉(zhuǎn)發(fā)服務(wù)器用來減少同時多種請求的并發(fā)量,減少帶寬,節(jié)約資源,而存儲服務(wù)器主要完成圖像數(shù)據(jù)存儲的管理與監(jiān)測?;谝曨l的請求實時性要求高,采用面向無連接的數(shù)據(jù)協(xié)議(UDP)可以減少連接時間,它不需要進行消息確認與重傳,又沒有提供傳送數(shù)據(jù)的保證機制。UDP協(xié)議本不能檢測數(shù)據(jù)的傳輸質(zhì)量。在高清視頻要求的情況下,無線視頻監(jiān)控系統(tǒng)結(jié)合實時傳輸協(xié)議(RTP)進行端到端傳送服務(wù),它能保證信息和流同步,這樣能降低時延,但是RTP本身沒有提供可靠的傳送機制、流量控制等服務(wù),所以它需要RTCP來協(xié)同完成實時視頻的傳輸過程。在RTP會話中向RTCP傳送數(shù)據(jù)包。服務(wù)器可利用這些信息來動態(tài)改變傳輸速率,改善實時數(shù)據(jù)的傳輸質(zhì)量。
4)數(shù)據(jù)庫
數(shù)據(jù)庫主要負責(zé)將客戶端的信息經(jīng)過SIP協(xié)議傳到服務(wù)器端。當(dāng)用戶將命令類型寫入數(shù)據(jù)庫時,采用實時監(jiān)聽機制,將新到來的消息發(fā)往服務(wù)器,如果命令得以執(zhí)行,則將數(shù)據(jù)庫中相應(yīng)的信息進行刪除操作,減少數(shù)據(jù)庫的載荷,或PU經(jīng)SIP協(xié)議上傳消息至服務(wù)器,經(jīng)過監(jiān)聽函數(shù)的作用,在界面上顯示消息,例如報警消息等。
當(dāng)客戶端將實時視頻請求消息體發(fā)往數(shù)據(jù)庫,則SIP中的回調(diào)函數(shù)將根據(jù)用戶所發(fā)出的消息類型參數(shù)來執(zhí)行相應(yīng)的消息命令的傳遞。在SIP協(xié)議中主要用到MESSAGE消息與INVITE消息,為保證實時視頻請求的正確性與唯一性,在SIP協(xié)議中采用INVITE消息來實現(xiàn)與媒體服務(wù)器的信令流程。其建立過程[4]如圖2所示。
圖2 實時視頻請求建立過程
1)UAC利用INVITE請求實時視頻消息,在消息體中包含媒體流的格式與參數(shù),向UAS發(fā)送請求;
2)UAS收到UAC發(fā)送的消息后發(fā)送100Trying,表示正在處理該請求;
3)UAS繼續(xù)發(fā)送180Ring消息給UAC,表示已經(jīng)找到UAC消息體的請求內(nèi)容;
4)UAS同意進行媒體會話,則發(fā)送200OK;
5)UAC向UAS發(fā)送ACK消息,表示UAC收到UAS的最終響應(yīng);
6)UAC與UAS可進行流媒體的傳輸。
SIP協(xié)議利用回調(diào)函數(shù)提高數(shù)據(jù)庫中的通道號、IP地址、媒體類型、端口號。地址類型等作為INVITE中SDP消息體的參數(shù),利用API函數(shù)調(diào)用SIP協(xié)議棧中的exosip_call_build_initial_invite函數(shù)來初始化SDP消息體,通過osip_message_set_body添加SDP消息體的正文,接著利用osip_message_set_content_type設(shè)置內(nèi)容的類型頭,最后通過鎖機制發(fā)起呼叫。如果呼叫正常則進行事件的處理。發(fā)起呼叫過程如圖3所示,處理過程如圖4所示。
在SIP服務(wù)器收到ACK確認消息時,ex_osip_call_invite事件就啟動RTP連接建立過程,服務(wù)器便開始實時視頻線程的讀取,等待讀取成功后,如果收到exosip_cali_ack事件則要啟動RTP和RTCP包發(fā)送線程,同時利用RTCP連接線程來周期性監(jiān)測數(shù)據(jù),通過反饋控制線程來完成對傳輸質(zhì)量的監(jiān)督[5]。具體流程如圖5所示。
圖5 服務(wù)器端傳輸過程
客戶端在進行實時視頻請求后最主要是播放實時視頻任務(wù),具體的工作是接收RTP/RTCP數(shù)據(jù)包,并經(jīng)過H.264視頻解碼器作用在客戶端播放視頻。流程如圖6所示。
圖6 客戶端傳輸過程
該系統(tǒng)采用SIP進行信令控制,實現(xiàn)了對監(jiān)控點的控制和視頻流的訪問過程。系統(tǒng)具有配置靈活、網(wǎng)絡(luò)互通性好、操作簡便等特點,并且得到了良好的應(yīng)用。在實際的過程中,基于SIP的信令控制和RTP/RTCP的視頻流協(xié)議的實時視頻圖像清晰,如圖7所示。
圖7 實時視頻傳輸圖像
[1]劉勇,陳延雄.SIP協(xié)議的研究及呼叫控制實現(xiàn)[J].微處理機,2008(3):54-56.
[2]白建軍,彭暉,田敏.SIP揭秘[M].北京:人民郵電出版社,2003.
[3]黃永峰,李建慶.下一代網(wǎng)絡(luò)核心控制協(xié)議——SIP及其應(yīng)用[M].北京:人民郵電出版社,2009.
[4]柴二建,馮子亮.基于SIP的多方視頻會議模型設(shè)計與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2008(5):47-50.
[5]楊豐瑞,蔣培健,張杰.基于SIP的無線視頻監(jiān)控系統(tǒng)信令的設(shè)計與實現(xiàn)[J].電視技術(shù),2011,35(19):96-98.