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

基于RTP/RTCP協議的高效直播系統設計

2011-04-12 00:00:00周譚凱
教育教學論壇 2011年5期

摘要:本文基于RTP/RTCP協議設計了一種高效網絡直播模型,以Linux操作系統為軟件平臺,移植了MPEG-4編碼模型和jRtpLib開源庫。該模型通過分析RTP/RTCP協議得出反饋機制的方向,來控制發送端和接收端Buffer,建立起一個動態的反饋機制,彌補了UDP傳輸協議的不足,從而大幅提高了直播系統的效能,使其更流暢,具有更高的可靠性。

關鍵詞:RTP;RTCP;JRTPLIB;UDP;MPEG-4

一、引言

隨著互聯網技術的發展,傳輸帶寬逐步提升,網絡直播應用也跟隨流媒體技術不斷朝前發展。流媒體又叫流式媒體,是一種新的媒體傳送方式,采用流式傳輸方式在網絡上進行直播,將音視頻文件經過特殊的壓縮方式組合成一個個壓縮包,由服務器向用戶終端連續、實時地進行傳送;而在終端,前臺則邊下載邊為用戶展示實時視音頻節目。

二、系統設計及關鍵技術

(一)總體分析

本方案選取操作系統為Linux系統,由于Linux系統強大的MMU以及多任務支持,是系統穩定可靠運行的基本保證。主要流程:從攝像頭或其他視頻源采集視頻圖像,然后對其進行編碼,通過網絡實時發送到主機上,主機端再解碼重現,如圖1。

(二)MPEG-4壓縮標準

MPEG即Moving Picture Expert Group,它是專門從事制定多媒體視音頻壓縮編碼標準的國際組織。MPEG-4的應用能大幅度的降低錄像存儲容量,獲得較高的錄像清晰度,特別適用于長時間實時錄像的需求,同時具備在低帶寬上優良的網絡傳輸能力。

(三)RTP/RTCP網絡傳輸協議

實時傳輸協議RTP(Real-time Transport Protocol)由IETF的AVT工作組于1996年公布為RFC正式文檔,編號為RFC1889,是專門為交互式語音、視頻等實時數據而設計的傳輸協議,用于視頻傳輸等實時多媒體應用。RTP被定義為在一對一或一對多的傳輸情況下工作,其目的是提供時間信息和實現流同步。RTP的典型應用建立在UDP上,本方案通過分析RTCP協議提供的數據得出反饋機制的方向,來控制發送端和接收端Buffer,建立起一個動態的反饋機制,彌補了UDP傳輸協議的不足。

三、軟件設計及實現

(一)構建基于JRTPLIB庫的流媒體傳輸

JRTPLIB是一個面向對象的RTP庫,它完全遵循RFC 1889設計,該庫是用C++語言實現的開源項目,目前已經可以運行在Windows、Linux、FreeBSD、Solaris、Unix和VxWorks等多種操作系統上。

1.初始化。在使用JRTPLIB進行實時流媒體數據傳輸之前,首先應該生成RTPSession類的一個實例來表示此次RTP會話,然后調用Create(?搖?搖)方法來對其進行初始化操作。

RTPSession sess;//建立一個新的實例

sess.Create(5000);//參數為端口號

2.數據發送。當RTP會話成功建立起來之后,接下去就可以開始進行流媒體數據的實時傳輸了。首先需要設置好數據發送的目標地址,RTP協議允許同一會話存在多個目標地址,這可以通過調用RTPSession類的AddDestination( )、DeleteDestination( )和ClearDestinations( )方法來完成。

unsigned long addr=ntohl(inet_addr(\"127.0.0.1\"));//設定IP地址

sess.AddDestination(addr,6000);//設定目的端口號

sess.SendPacket(buffer,5,0,1,10);//發送數據

3.數據接收。在接收端,首先需要調用RTPSession類的PollData( )方法來接收發送過來的RTP或者RTCP數據報。在檢測出有效的數據源之后,接下去就可以調用RTPSession類的GetNextPacket( )方法從中抽取RTP數據報,下面的代碼示范了該如何對接收到的RTP數據報進行處理:

if(sess.GotoFirstSourceWithData( ))

do{RTPPacket*pack;pack=sess.GetNextPacket( );//處理接收到的數據delete pack;while(sess.GotoNextSourceWithData( ))

(二)RTP會話控制及基于反饋的智能流機制的實現

無論對于Stream Server還是Client而言,對于一個發起的流媒體傳輸會話,都會在系統資源中占用一定的Buffer資源。在對RTCP協議進行分析的時候,已經得到了一個基于RTCP報告、可獲取對網絡狀況變化趨勢的反饋機制,使得能夠根據網絡狀況,改變相應Session的Buffer大小,使其適應當前網絡的狀況,實現智能流。其基本機制為:假設Buffer的大小和相鄰包的時延只是一個簡單的反向關系,即時延越大,按增加比例縮小Buffer,反之則按減少比例減少Buffer。

四、小結

基于Linux平臺及JRTPLIB庫,實現RTP/RTCP傳輸模型的整體設計。在對RTP/RTCP工作模型的詳細分析中,建立了一個動態的網絡反饋機制,并利用其提供的動態的反饋信息實現了對發送端和接收端Buffer的控制,保證流媒體傳輸的QoS,以提高流媒體傳輸的效率。

參考文獻:

[1]莊捷.流媒體原理與應用[M].北京:中國廣播電視出版社,2007.

[2]鐘玉琢,向哲,沈洪.流媒體和視頻服務器[M].北京:清華大學出版社,2003.

[3]彭熙.基于P2P結構的流媒體系統研究[D].上海:華東師范大學信息學院,2007.

[4]余江,劉威,王泰,等.流媒體代理緩存技術研究[J].計算機科學,2006.

[5]劉紅英.基于流媒體技術的視頻點播系統的研究[J].電腦知識與技術,2008.

主站蜘蛛池模板: 人妻无码中文字幕一区二区三区| 亚洲欧美日本国产综合在线| 91精品国产情侣高潮露脸| 亚洲国产午夜精华无码福利| 青青草久久伊人| 亚洲欧美日韩中文字幕在线一区| 91po国产在线精品免费观看| 亚洲国模精品一区| 亚洲va在线观看| 一级一毛片a级毛片| 丁香六月激情婷婷| 色婷婷亚洲十月十月色天| 精品久久人人爽人人玩人人妻| 国产一区成人| 华人在线亚洲欧美精品| 91啦中文字幕| 国产高清国内精品福利| 少妇精品网站| 老司国产精品视频91| 五月天久久综合| 国产精选自拍| 国产精品香蕉在线观看不卡| 一本大道无码高清| 日韩免费毛片| 国产性生大片免费观看性欧美| 中文字幕佐山爱一区二区免费| 日韩欧美中文字幕在线精品| 亚洲中文精品人人永久免费| 日韩高清一区 | 在线观看视频99| 日韩人妻无码制服丝袜视频| 啪啪免费视频一区二区| 免费国产无遮挡又黄又爽| 性欧美精品xxxx| 亚洲大尺度在线| 国产屁屁影院| 露脸一二三区国语对白| 欧美国产成人在线| 国产产在线精品亚洲aavv| 日韩小视频在线播放| 国产高清毛片| 在线精品亚洲国产| 亚洲色精品国产一区二区三区| 欧日韩在线不卡视频| 亚洲三级影院| 亚洲 欧美 中文 AⅤ在线视频| 国产91视频观看| 国产精品第| 青青草国产在线视频| 中文字幕有乳无码| 99热最新网址| 欧美成人日韩| 一本大道无码日韩精品影视| 激情成人综合网| 高潮爽到爆的喷水女主播视频| 谁有在线观看日韩亚洲最新视频 | 精品国产毛片| 国产在线欧美| 欧美亚洲欧美区| 亚洲AV电影不卡在线观看| 萌白酱国产一区二区| 国产成人综合日韩精品无码不卡 | 五月天在线网站| 亚洲精品欧美日本中文字幕| 中文字幕自拍偷拍| 精品撒尿视频一区二区三区| 日韩无码真实干出血视频| 色悠久久久| A级毛片高清免费视频就| 女人av社区男人的天堂| 国产精品无码影视久久久久久久| 日韩欧美综合在线制服| av一区二区无码在线| YW尤物AV无码国产在线观看| 国产清纯在线一区二区WWW| 国产精品三级av及在线观看| 无码日韩视频| AV在线天堂进入| 国产在线观看99| 欧美成人国产| 福利在线一区| 日本在线国产|