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.

主站蜘蛛池模板: 亚洲日韩精品无码专区97| 亚洲首页国产精品丝袜| 美女黄网十八禁免费看| 日韩无码黄色网站| 亚洲国产一区在线观看| 日韩AV无码免费一二三区| 自拍偷拍一区| 手机精品视频在线观看免费| 欧洲精品视频在线观看| 992tv国产人成在线观看| 高清无码不卡视频| 欧洲亚洲一区| 亚洲一级色| 一级毛片免费的| 亚洲精品不卡午夜精品| 国产一区二区三区夜色| 欧美日韩精品在线播放| 中文字幕日韩久久综合影院| 狠狠色狠狠综合久久| 视频二区亚洲精品| 国产主播喷水| 久久网欧美| 91色综合综合热五月激情| 日韩小视频网站hq| 国产情侣一区| 欧美一区二区福利视频| 四虎永久在线视频| 亚洲一区免费看| 午夜影院a级片| 波多野结衣一区二区三区四区| 欧日韩在线不卡视频| 亚洲天堂成人在线观看| 亚洲福利一区二区三区| 制服丝袜国产精品| 亚洲综合色婷婷中文字幕| 成人精品免费视频| 国产69精品久久| 精品日韩亚洲欧美高清a | 国产二级毛片| 国产男女免费完整版视频| 久久99精品久久久久久不卡| 综合社区亚洲熟妇p| 99热这里都是国产精品| 伊人激情综合网| 区国产精品搜索视频| 久久黄色视频影| 精品国产免费观看一区| 国产无码性爱一区二区三区| 国产在线小视频| 国产污视频在线观看| 欧美日韩激情在线| 26uuu国产精品视频| 免费视频在线2021入口| 欧美成人在线免费| 欧美啪啪精品| 欧美精品高清| 毛片免费在线视频| 美女高潮全身流白浆福利区| 国产欧美日韩18| 午夜日本永久乱码免费播放片| 久久亚洲国产一区二区| 一本无码在线观看| 国产亚洲精品91| 中文无码伦av中文字幕| 亚洲精品视频免费| 欧美激情二区三区| 一级一级特黄女人精品毛片| 东京热高清无码精品| 亚洲欧美日韩动漫| 国产日韩欧美精品区性色| 日韩123欧美字幕| 激情无码视频在线看| 久久精品女人天堂aaa| 热九九精品| 欧美怡红院视频一区二区三区| 国产成人综合亚洲欧美在| 谁有在线观看日韩亚洲最新视频 | 一本大道无码日韩精品影视| 狠狠色婷婷丁香综合久久韩国| 四虎精品国产AV二区| 丰满少妇αⅴ无码区| 亚洲色图欧美在线|