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

RTP/RTCP,RTSP在無線視頻監控系統的設計與實現

2011-06-07 05:53:56李校林劉海波劉利權
電視技術 2011年19期

李校林,劉海波,張 杰,劉利權

(1.重慶郵電大學 通信新技術應用研究所,重慶 400065;2.重慶信科設計有限公司,重慶 400065)

0 引言

無線視頻監控系統是以流媒體技術為核心,融合智能傳感器、3G網絡、計算機智能等技術為一體的新型視頻監控系統。流媒體技術是指視頻、音頻等數據以實時傳輸協議RTP承載,并以連續的流形式從源端向目的端傳輸,在目的端接收到一定緩存數據后就可以播放出來的多媒體應用。把流媒體技術應用到移動網絡上,就可以稱之為移動流媒體技術。隨著近幾年我國3G網絡的大規模商用,3G帶來的最直接變化就是移動網絡帶寬不再是視頻業務發展的瓶頸。移動流媒體技術在無線網絡中也有了巨大的突破,無線視頻監控系統已經成為可能。

本文首先分析了RTP/RTCP[1],RTSP流媒體協議的基本概念和原理,然后重點研究了RTP/RTSP功能模塊及RTCP傳輸控制模塊的設計和具體實現方法。

1 協議介紹

1.1 流媒體協議

流媒體協議中的RTP主要完成實時視頻數據流的傳輸,RTP協議承載視頻數據傳輸任務,但它本身不提供QoS,而需要RTCP協議為應用層提供視頻質量控制的手段和方法。RTP數據包主要在用戶數據報協議(UDP協議)上傳送數據。RTP和RTCP協同使用,通過實時的反饋和調整使得網絡傳輸效果達到最好,即RTP/RTCP協議適合用于傳輸實時視頻數據流。而控制這些RTP數據包的發送則通過RTSP協議來完成。

1.2 實時傳輸協議(RTP)[2]

RTP(Real-time Transport Protocol)協議能夠給具有實時性的視頻、音頻等流媒體數據提供端到端的傳輸。RTP協議把RTP頭加上H.264視頻的RTP負載,并把時間戳和序列號等參數寫到RTP數據包內通過UDP組播方式發送出去。由于采用UDP協議發送數據包,所以每次發送的RTP數據包大小不得超過1 460 byte。不同的發送端和接收端可以通過RTP中的SSRC來標識,RTP又可以利用UDP的組播來支持多點傳送,使得RTP可以使用在多站點應用中。

1.3 實時傳輸控制協議(RTCP)

RTCP(Real-time Transport Control Protocol)[3]與 RTP一起使用可以完成網絡流量控制和擁塞控制。RTCP的主要工作是質量反饋,即通過統計網絡質量參數,然后把網絡狀況反饋給發送端,發送端根據這些參數作出相應的調整,以適應網絡狀況。RTCP包的發送和接收的方式與RTP包的方式一樣,也是通過UDP來完成。在RTCP數據包中,包含網絡質量的參數有間隔抖動、包丟失率、往返延遲等,通過RTCP中的RR包將這些參數反饋給發送端,從而分析得到當前的網絡狀態,使其作出相應的碼率或甚至編碼方式的調整。

1.4 實時流協議(RTSP)[4]

RTSP(Real-time Streaming Protocol,簡稱 RTSP)作為實時流媒體傳輸中的控制協議,負責控制實時數據RTP包的發送。RTSP協議可以控制多個數據源連接和發送,它本身并不發送數據流,RTSP充當流媒體服務器端和客戶端的網絡遠程控制。RTSP可以對流媒體提供播放、暫停、快進、慢退等操作,主要負責定義具體的控制消息。

1.5 RTP/RTCP,RTSP協議關系圖

RTP/RTCP,RTSP協議關系圖見圖1。其中,RTP/RTCP工作在傳輸層,RTSP工作在應用層。RTP主要承擔數據傳輸任務,而RTCP為應用層提供視頻質量控制的手段和方法。RTSP控制RTP數據包的發送。

圖1 RTP/RTCP,RTSP協議關系圖

2 RTP/RTCP,RTSP功能模塊設計

2.1 監控系統結構圖

該系統分為服務器端和客戶端,此系統有視頻流和控制信號兩條通道,根據監控系統的功能需求,深入研究了移動流媒體技術,給出監控系統結構圖,如圖2所示。

圖2 監控系統結構圖

分析監控系統結構圖,視頻流主要依靠RTP承擔傳輸H.264的壓縮數據,即H.264視頻的RTP負載格式(RTP for H.264),控制信號則靠RTSP完成交互任務。將設計重點放在兩個方面上,一是RTP/RTSP功能模塊即客戶端與服務器端的交互過程,二是RTP發送過程及RTCP傳輸控制處理過程。

2.2 RTP/RTSP 功能模塊[5]流程

本文設計了一個C/S結構的基于RTSP協議的視頻服務器。下面給出了具體的服務器端的應答處理過程以及客戶端的請求過程。

2.2.1 服務器端應答過程

服務器端RTSP請求處理過程見圖3。

圖3 RTSP請求處理過程

服務器交互過程如下:

1)服務器端創建,監聽線程開啟,等待客戶端連接;當客戶端請求RTSP連接,會創建一個RTSP會話,保存此客戶信息。

2)媒體資源服務器收到請求后,如果能正確建立連接,則返回一個獨立的會話序列號,同時服務器開啟新的線程,為該客戶建立一個新的視頻服務流,客戶端需要使用此序列號與服務器端進行進一步的通信,省去中間過程,當客戶端向服務端發送play請求,請求成功,則客戶變成play狀態;回應ACK。并發過程為:編碼后啟動RTSP服務,當客戶狀態是play,則向對應的客戶端發送RTP,RTCP包。

3)當客戶端向服務端發送pause請求,請求成功,則客戶變成pause狀態;回應ACK。并發過程為:編碼后啟動RTSP服務,當客戶狀態是pause,則向對應的客戶端暫停發送RTP,RTCP包。

4)當客戶端向服務端發送TEARDOWN請求,請求成功,則刪除對應客戶的信息;回應ACK。

5)撤銷RTSP會話。

2.2.2 客戶端請求過程

客戶端RTSP請求過程如圖4所示。

客戶端交互過程為:

圖4 RTSP請求過程

1)請求得到回應后,創建一個服務信息,同時創建一個并發過程即RTP包接收過程,等待接收服務器發送的RTP包,將RTP包放入buffer中待解碼。

2)當播發請求發送時,服務器端開始發送RTP數據包,RTP包接收線程被啟動,開始接收RTP數據包。

3)當暫停請求發送時,服務器端暫停發送RTP數據包,RTP包接收線程被睡眠,暫停接收RTP數據包。

4)當斷開連接請求發送成功并得到回應時,則刪除服務信息,并刪除并發過程。

2.3 RTP發送過程及RTCP傳輸控制處理過程[6]

首先,在服務器端經過數據采集得到的視頻流進入編碼器編碼壓縮成H.264碼流,然后,把視頻流封裝成H.264視頻的RTP負載格式,并把時間戳和序列號等參數寫到RTP數據包內,再放到RTP包緩沖區,交給下層UDP處理,UDP再對RTP包進行封裝,UDP和RTP共同完成傳輸層協議的任務,UDP包交給IP網絡層處理,IP網絡層對UDP包再封裝,最后IP數據包經由網絡向接收端發送。在客戶端接收到RTP包,再進行RTP包頭處理,去除RTP頭,把RTP負載放入包列表中,排序并判斷是否為一幀,為一幀則解碼、顯示。在同時服務器端周期性的發送RTCP(SR)包,接收RTCP(RR)包,客戶端則接收RTCP(SR),反饋RTCP(RR),服務器端根據RR包中的丟包率以了解當前網絡狀況,動態調整流媒體編碼速率,從而進一步調整RTP發送速率。服務器端與客戶端的傳輸控制過程見圖5。

圖5 服務器端與客戶端的傳輸控制過程

在服務器端進行擁塞控制,除了動態改變發送速率,還有就是對發送buffer進行處理,被動丟棄buffer中過期的RTP包,buffer大小設定為60×1 024 byte,當buffer中滿1460 byte時,組成1個RTP包,并添上時間標簽。因為網絡擁塞,那么此buffer中的RTP包可能有一定的發送時延,如果當此RTP包的時間標簽加上發送時延大于當前的時間標簽,則判斷此RTP包失去實時性,考慮丟棄此包,以此來降低網絡擁塞。

3 RTSP,RTP/RTCP服務器端的實現

首先創建RTSP服務器,在創建過程中,先建立套接字Socket在TCP的554端口進行監聽,然后把連接處理函數句柄和Socket句柄傳給任務調度器。當RTSP客戶端輸入URL連接服務器時,select返回對應的Socket,進而根據前面保存的對應關系,可找到對應處理函數句柄。RTSP服務器收到客戶端的DESCRIBE請求后,根據請求URL,找到對應的流媒體資源,返回響應消息。RTSPCSession類用于處理單獨的客戶會話,其類成員函數handle_SETUP()處理客戶端的SETUP請求。對SETUP請求的傳輸頭解析,獲取流媒體發送傳輸參數。將這些參數組裝成響應消息,返回給客戶端。RTSPCSession類成員函數handle_PLAY()處理客戶端的播放請求。

播放請求成功后發送端開始發送RTP包,首先是設置RTP包頭,再填充H.264編碼幀數據,最后就發送RTP數據包[7]。然后是計算下一個數據包發送時間,把句柄傳給任務調度器,作為一個延時事件調度。在主循環中,當任務調度器被調度時,又開始組包然后發送新的數據包,這樣客戶端可以源源不斷地收到服務器傳來的RTP包了。在發送RTP包時,同時發送RTCP(SR)包,其就是根據收到客戶端發送過來的RTCP(RR)包,提取其中的內容組成RTCP(SR)包,然后根據時間調度發送SR包。

下面列出部分函數:

在客戶端請求視頻播放效果圖如圖6所示。

4 小結

運行客戶端程序,在客戶端通過RTSP請求服務器端的視頻,請求成功后,服務端開始發送視頻流,在客戶端穩定接收碼流,在視頻顯示區播放比較流暢,圖像清晰。

圖6 視頻播放效果圖(截圖)

[1]潘鵬,杜旭,葉婷,等.RTP/RTCP實時傳輸協議的研究與Linux實現[J]. 計算機工程與應用,2005,24:105-107.

[2]RFC 3550,RTP:a transport protocol for real-time application[S].2003.

[3]王彥麗,陳明,陳華,等.基于RTP/RTCP的數字視頻監控系統的設計與實現[J]. 計算機工程與科學,2009,31(3):58-60.

[4]SCHULZRINNE H,RAO A,LANPHIER R.RFC 2326,Real time streaming protocol[S].1998.

[5]章民融,徐亞峰.基于RTSP的流媒體視頻服務器的設計與實現[J].計算機應用與軟件,2006,23(7):93-95.

[6]劉國柱,王洪林.RTCP反饋和緩沖區的傳輸控制算法研究[J].計算機工程與設計,2010,31(12):2704.

[7]王軍,呂海寶,許國梁.基于RTP/RTCP的遠程視頻傳輸軟件的設計[J]. 電視技術,2002,26(12):19-21.

主站蜘蛛池模板: 午夜限制老子影院888| 福利姬国产精品一区在线| 亚洲天堂视频在线观看免费| 久久精品无码中文字幕| 国产成人精品无码一区二| 国产剧情国内精品原创| 午夜色综合| 欧洲av毛片| 成年午夜精品久久精品| 国产激爽大片在线播放| 精品久久久久久中文字幕女| 亚洲国产精品一区二区高清无码久久| а∨天堂一区中文字幕| 中文字幕色站| 伊人久久大香线蕉影院| 亚洲久悠悠色悠在线播放| 国产高清免费午夜在线视频| 欧美色视频在线| 操国产美女| 激情五月婷婷综合网| 操国产美女| 日本人又色又爽的视频| 精品人妻一区二区三区蜜桃AⅤ| 91久久国产综合精品女同我| 一级黄色网站在线免费看| 中文字幕中文字字幕码一二区| 国产精品中文免费福利| 久久亚洲黄色视频| 色AV色 综合网站| 成人欧美在线观看| 91精品情国产情侣高潮对白蜜| 免费在线成人网| 伊人网址在线| 国产9191精品免费观看| 视频国产精品丝袜第一页| 九九九精品视频| 奇米精品一区二区三区在线观看| 欧美午夜视频在线| 精品久久久久久久久久久| 国产噜噜噜| 亚洲二区视频| 国产自视频| 国产欧美日韩精品综合在线| 亚洲人成电影在线播放| 国产一区二区精品高清在线观看| 国产精品浪潮Av| 麻豆精品在线| 亚洲成人免费看| 国产亚洲欧美日韩在线一区| 国产亚洲欧美日韩在线观看一区二区| 黄色网站在线观看无码| 蜜桃视频一区二区三区| 亚洲经典在线中文字幕| 精品人妻系列无码专区久久| 亚洲精品高清视频| 狠狠干综合| 国产精品永久久久久| 免费观看三级毛片| 东京热av无码电影一区二区| 久久人人爽人人爽人人片aV东京热 | 免费观看男人免费桶女人视频| 激情综合图区| 国产亚洲精品精品精品| 91人妻在线视频| 亚洲天堂网在线观看视频| 伊大人香蕉久久网欧美| 992Tv视频国产精品| 久久婷婷五月综合97色| 国产精品污视频| 免费网站成人亚洲| 国产成人精品一区二区不卡| a毛片在线| 天天摸天天操免费播放小视频| 思思99热精品在线| 97人妻精品专区久久久久| 天天色天天综合| 国产青榴视频| 国产69精品久久久久妇女| 欧美日本在线| 69免费在线视频| 国产情精品嫩草影院88av| 久久精品嫩草研究院|