999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

流媒體中間件在Linux下的設計與實現

2014-11-20 08:19:30高譽菊
電視技術 2014年5期
關鍵詞:界面信息設計

呂 鹍,高譽菊,張 剛

(太原理工大學信息工程學院,太原山西030024)

中間件[1]是一種獨立的系統軟件或服務程序,一般作用于服務端與客戶端之間,起到信息管理、傳遞等作用。而針對多媒體流的流媒體中間件可以極大地降低多媒體網絡通信的復雜性,很好地管理和規范數據流在系統網絡中的傳輸。但是當今市面上針對視頻流媒體的中間件卻很難見到,大多數視頻監控系統都是采取編碼服務器與客戶端直接進行點對點連接的網絡通信模式,作為一種大數據流媒體,對于視頻流數據在網絡中進行管理、調度、傳輸都有很高的要求,傳統的視頻通信原理已經漸漸無法滿足這些需求。所以必須引入流媒體中間件技術來進行管理。為此本設計在編碼服務器與客戶端之間加入視頻流媒體中間件來作為一個第三方軟件控制、集中管理、調配解碼客戶端對視頻數據的要求,實現多點對多點的通信模式,并且可以減少數據通道,最大化地利用網絡資源。

1 技術比較

“點—點”數據傳輸[2]:這種傳輸模式是直接對話,客戶端直接向編碼服務端呼叫,建立連接,然后編碼服務端向客戶端傳輸數據。在“一路對一路”的數據傳輸應用中因其實現較為簡單、方便,所以使用較為廣泛,但隨著市場及客戶的需求,“多路對多路”的視頻數據傳輸模式在實際應用中顯得越來越迫切,如果繼續基于“點—點”數據傳輸模式來實現“多路對多路”的傳輸模式(如圖1所示),有N路客戶端要與M路編碼端建立連接通信,那么就需要N×M路通道來實現,如果M與N很大,則N×M更大,這樣網絡傳輸是很占用網絡資源并且相當復雜,很容易產生網絡擁塞現象,幾乎不可能實現。

圖1 “點—點”數據傳輸模式

流媒體中間件[3]:流媒體中間件在兩個獨立應用層之間起到管理、調度、交換信息、信息傳遞等作用。本設計中,流媒體中間件用來處理視頻監控系統中視頻流數據在網絡上的傳遞和管理,如圖2所示,N路客戶端與M路編碼端連接通信,只需M+N路通道來實現,占用網絡資源較少,而且規范了網絡傳輸的標準,克服了網絡擁塞現象,使系統由原始的編碼端與客戶端之間的“點—點”數據傳輸升級到了“點—塊—點”傳輸,而且避免了客戶端與編碼端的直接對話,在數據通路數量比較大的時候,可以很大限度地減輕編碼端的資源占用,優勢更加明顯。

圖2 “點—塊—點”數據傳輸模式

2 設計方案

2.1 流媒體中間件工作原理

本設計中間件在Linux平臺中用QT4[4]設計實現,以SIP協議[5]作為控制協議來建立會話,利用RTP協議來傳輸視頻碼流。

視頻流中間件的工作過程與數據的傳輸過程是相反的,如圖3所示,中間件在網絡上進行SIP注冊以后,首先等待客戶端對中間件進行呼叫,呼叫信息中包含了客戶端用戶名、用戶權限等級、用戶IP地址、申請的通道端口、想要呼叫哪路攝像頭的視頻信息等。中間件將這些信息進行鑒別以后,根據客戶端不同用戶的權限,向相應的編碼攝像頭發送呼叫,通過這些呼叫與對應的編碼端建立SIP會話通道,然后通過RTP協議建立RTP數據傳輸通道,接收壓縮編碼的數據,中間件首先將這些數據存入一定大小的緩沖區,再給與對中間件發起呼叫的客戶端回應,并且與其建立會話通道,將剛收到的緩沖區內數據傳送給客戶端進行處理。

圖3 流媒體中間件工作原理圖

2.2 實現方案

本設計的流媒體中間件是專門針對于連接編碼端與客戶端之間視頻流數據的中間件。作為視頻監控系統的一部分,中間件啟動后首先要在主線程中完成網上代理注冊,即向SIP注冊服務器登記自己的代理用戶名、IP地址、端口信息等。注冊完成后,可以從注冊服務器查看到中間件的一些信息,如圖4所示。

當客戶端想要獲取某路視頻信息的時候,向中間件發送呼叫請求,中間件接收到呼叫請求后,會對請求所攜帶的信息進行鑒別,這時候分兩種情況來做出處理。

第一種情況:若客戶端請求的這一路攝像頭編碼視頻信息之前沒有被其他的客戶端申請呼叫過,則中間件會先對這一路編碼攝像頭發出新的呼叫。當中間件對編碼攝像頭的呼叫被編碼端響應后,視頻流數據會沿著中間件與編碼攝像頭的會話通道傳送給中間件。中間件得到數據后,再給之前呼叫的客戶端發送響應信息,從而再與客戶端建立會話通路,最后將視頻數據傳送給客戶端。

第二種情況:客戶端請求視頻信息的編碼攝像頭之前已經被其他客戶端呼叫過,也就是說已經出現過第一種情況。這時中間件已經開始從相應的這一路攝像頭編碼端接收這一路編碼后的視頻數據。中間件就不再向那一路編碼端發送請求,而是開辟一條新的線程,然后直接響應呼叫的客戶端,在新的線程中將數據傳輸過去。

中間件處理客戶端的視頻數據請求呼叫的流程如圖5所示。在整體的工作流程實現之后,對中間件進行了界面的設計,管理者可以直接通過界面進行操作實現相關功能。界面可以直接體現出當時系統中訪問的客戶端的數量、IP地址、客戶端用戶名等,管理者也可以直接對其進行操作,例如斷開某一客戶的鏈接等。客戶端的信息通過中間件與客戶端的“交流”使中間件獲得,并且通過程序直接體現在界面中。

圖5 中間件處理客戶端呼叫流程

2.3 界面設計

中間件的實現從最頂層、面向用戶的界面開始。在QT[6]中建立一個新的QT Gui應用工程,這個工程里包含了4種不同的類別,分別是頭文件、源文件、界面文件、資源文件。其中頭文件和源文件用來存放要實現功能的具體程序,界面文件可以直接讓用戶通過對控件的選擇來完成對界面的基本設計,然后通過對控件完成信號槽的鏈接,通過對控件的觸發運行某些程序。資源文件是存放一些對界面進行美化的圖、Logo等。

如圖6所示,本文設計的中間件界面有2個按鈕可供用戶進行點擊。這2個按鈕分別是注冊和退出,起到的功能也是注冊功能和退出功能。當程序運行時,單擊界面的這2個按鈕,則會直接運行這2個函數中的程序,完成注冊和退出的功能。這就是QT中的信號槽體制,也就是通過對界面控件的觸發而運行相應的程序。圖6中其他控件不可以通過用戶點擊直接運行,則需要信號槽的另一種用法來進行管理。例如“攝像頭連接狀態”這一控件要實現的功能是可以直接體現當前這一路攝像頭是否有數據傳到中間件,當有數據的時候,顯示為成功,可是這里無法點擊,要完成顯示狀態的改變,本文設計了利用定時器來進行定時刷新的方法。

圖6 管理4路攝像頭的中間件界面(截圖)

定時器的設計有許多種,包括利用系統自帶庫,C語言庫等。本文選用QT自帶的定時器,運用這種定時器要在serve2send.cpp中包含頭文件QTime.h。QTime的具體用法是:

程序的含義是指每隔指定的時間運行一次連接的函數。本文將間隔時間設定為1 s。通過定時器,每1 s運行一次status()函數。status()函數的功能是得到客戶端的IP地址,呼叫本路攝像頭視頻信息的客戶端數,以及中間件是否與攝像頭編碼端有數據傳遞。然后將這些信息在中間件的界面中顯示出來。通過每秒監測,可以不停地刷新中間件當前的狀態,并且顯示給管理員進行管理操作。

2.4 數據轉發機制

在之前的原理分析和設計方案中已經確定了中間件的數據轉發機制的實現方案:當某一路攝像頭編碼視頻信息在中間件中第一次被某客戶端呼叫的時候,中間件才會向該攝像頭進行呼叫請求來獲取這一路編碼后的視頻信息,然后再傳遞給客戶端。具體的實現方法是利用SIP協議來進行信令控制,然后利用RTP協議進行傳輸數據。

3 測試

流媒體中間件是介于編碼服務器和多畫面[7]客戶端之間工作的,因此中間件的測試需要加入到整個視頻系統中,測試采用4路攝像頭進行實時采集,然后在4個達芬奇平臺進行D1分辨力的實時編碼,與流媒體中間建立連接,多畫面客戶端分別呼叫該4路進行視頻數據請求。最后結果流媒體中間件工作界面如圖7所示,表明4路通道均通過流媒體中間件與編碼端連接成功;多畫面客戶端同步實時顯示4路攝像頭采集畫面(如圖8所示),視頻畫面質量和實時性較好。

圖7 流媒體中間件工作界面(截圖)

圖8 多畫面客戶端實時顯示(截圖)

4 結論

本設計完全實現了流媒體中間件在視頻系統中的集中管理、數據調度、數據傳輸和轉發等功能,使系統由原始的編碼服務器端與客戶端之間的“點—點”數據傳輸升級到了“點—塊—點”傳輸,有效地降低了復雜視頻通信對網絡帶寬的需求,很大限度地減輕服務器的資源占用,優勢明顯,真正滿足了用戶在任何地點、任何時間隨意觀看多路網絡視頻信息的需求,為網絡視頻通信的發展起到了一定推動作用,實用價值很高。

[1]谷和啟.中間件主流技術及其未來發展精解[EB/OL].[2013-06-02].http://articles.e-works.net.cn/soa/article28721.htm.

[2]溫仁鳳,馮俊杰,陳金坤.點對點通信軟件設計[J].智能計算機與應用,2013(1):13-16.

[3]肖丹,祝家鈺.基于CORBA的自適應流媒體中間件系統的設計與實現[J].計算機與信息技術,2007(8):8-10.

[4]劉艷青,蘇桂蓮.基于Qt4的圖形用戶界面程序的設計與實現[J].現代計算機,2009,3(3):170-172.

[5]萬曉榆,張溢華,樊自甫.基于SIP的視頻會議系統視頻模塊的設計與實現[J].電視技術,2009,33(8):99-102.

[6]于邦偉,鄧華秋.基于Qt/Embedded的嵌入式數字監控系統控制界面的實現[J].電視技術,2011,35(24):25-28.

[7]胡健生,張倩,蔡艷軍.基于ARM11+FPGA的多路視頻監控系統關鍵技術研究[J].電視技術,2011,35(21):120-123.

猜你喜歡
界面信息設計
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
瞞天過?!律O計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
人機交互界面發展趨勢研究
手機界面中圖形符號的發展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
設計之味
舒適廣告(2008年9期)2008-09-22 10:02:48
主站蜘蛛池模板: 日韩欧美中文亚洲高清在线| 91美女视频在线| 91精品国产91欠久久久久| 91精品伊人久久大香线蕉| av大片在线无码免费| 国产在线拍偷自揄观看视频网站| 免费又爽又刺激高潮网址 | 国产白浆一区二区三区视频在线| 四虎影院国产| 午夜人性色福利无码视频在线观看| 日本91在线| 在线国产综合一区二区三区| 成AV人片一区二区三区久久| 污视频日本| 91免费观看视频| 成年网址网站在线观看| 成人在线天堂| 成人自拍视频在线观看| 国产视频入口| 日日拍夜夜嗷嗷叫国产| 日韩成人免费网站| 91精品啪在线观看国产| 午夜福利视频一区| 欧美成人亚洲综合精品欧美激情| 无码aⅴ精品一区二区三区| 蜜桃视频一区二区| 亚洲综合婷婷激情| 日本一区二区三区精品视频| 国产女人在线视频| 亚洲综合狠狠| 亚洲无码高清视频在线观看| 午夜色综合| 亚洲最大福利网站| av一区二区三区在线观看| 亚洲bt欧美bt精品| 99999久久久久久亚洲| 成人在线不卡视频| 国产伦精品一区二区三区视频优播 | 国产成人高清精品免费| аv天堂最新中文在线| 久久人人97超碰人人澡爱香蕉 | 色婷婷成人| 亚洲av日韩av制服丝袜| 18黑白丝水手服自慰喷水网站| 亚洲无码91视频| 欧美视频在线播放观看免费福利资源 | 国产精品真实对白精彩久久| 一级毛片基地| 高h视频在线| 欧美丝袜高跟鞋一区二区| 999福利激情视频| 亚洲精品自产拍在线观看APP| 亚洲男人的天堂视频| 高清国产在线| 中文字幕 91| 亚洲国产精品一区二区高清无码久久| 人妻夜夜爽天天爽| 日韩不卡免费视频| 亚洲天堂精品在线观看| 亚洲第一黄片大全| 看你懂的巨臀中文字幕一区二区| 日韩在线欧美在线| 国产日韩精品欧美一区喷| 国产精品伦视频观看免费| 成人伊人色一区二区三区| 亚洲天天更新| 成人永久免费A∨一级在线播放| 99久久精品无码专区免费| 欧美福利在线观看| 亚洲日韩久久综合中文字幕| 日韩欧美国产另类| 搞黄网站免费观看| 国产哺乳奶水91在线播放| 欧美不卡视频一区发布| 性色一区| 久久一色本道亚洲| 国产成人欧美| 亚洲品质国产精品无码| 亚洲综合欧美在线一区在线播放| 97视频免费在线观看| 亚洲成a人片7777| 午夜爽爽视频|