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

基于3G網(wǎng)絡(luò)的移動(dòng)流媒體服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)

2009-04-29 00:00:00王治學(xué)
電腦知識(shí)與技術(shù) 2009年33期

摘要:該文設(shè)計(jì)了一個(gè)符合3GPP標(biāo)準(zhǔn)的移動(dòng)流媒體服務(wù)器。系統(tǒng)以DirectShow為開(kāi)發(fā)平臺(tái),采用先進(jìn)的XVID編解碼庫(kù)進(jìn)行MPEG-4編碼,使用RTP/RTCP協(xié)議對(duì)視頻數(shù)據(jù)進(jìn)行實(shí)時(shí)傳輸和控制,并進(jìn)行了相關(guān)測(cè)試,結(jié)果表明本服務(wù)器滿(mǎn)足設(shè)計(jì)要求。

關(guān)鍵詞:3G網(wǎng)絡(luò);流媒體;移動(dòng)視頻

中圖分類(lèi)號(hào):TP393文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2009)33-9509-02

Design and Realization of Mobile Streaming Media Server in 3G Network

WANG Zhi-xue

(Ningxia Teachers University, Guyuan 756000, China)

Abstract: A 3G network mobile streaming media Server has been designed based on the MPEG-4 standard, RTP/RTCP protocol and 3GPP technical specification. MPEG-4 standard and RTP/RTCP protocols have been studied, a multi-rate Coding scheme has been proposed. Then, the Xvid encode lib, modified JRTPLIB streaming media lib and DirectShow platform have been adopted to implement the system.

Key words: 3G network; streaming media; mobile video

隨著3G(3rd Generation)通訊技術(shù)蓬勃發(fā)展,無(wú)線(xiàn)網(wǎng)絡(luò)帶寬迅速增長(zhǎng),以及移動(dòng)終端運(yùn)算能力的不斷增強(qiáng),使得移動(dòng)終端可以獲得傳統(tǒng)有線(xiàn)網(wǎng)絡(luò)視頻服務(wù),移動(dòng)流媒體通訊技術(shù)成為了近年來(lái)網(wǎng)絡(luò)技術(shù)發(fā)展的一個(gè)趨勢(shì)和熱點(diǎn)。為了滿(mǎn)足日益增長(zhǎng)的移動(dòng)流媒體服務(wù)需求,設(shè)計(jì)實(shí)現(xiàn)一個(gè)符合PSS (Packet Switched Streaming Service)技術(shù)規(guī)范的3G網(wǎng)絡(luò)視頻流媒體服務(wù)系統(tǒng),具有較高的工程應(yīng)用價(jià)值。

1 移動(dòng)流媒體服務(wù)器設(shè)計(jì)

移動(dòng)流媒體服務(wù)器是移動(dòng)流媒體系統(tǒng)的核心組成部分,它的主要功能是完成流節(jié)目的存取調(diào)度、傳輸以及管理等功能。其主要功能包括:流文件存儲(chǔ),文件傳送處理,節(jié)目文件存取,流協(xié)議棧,QoS保證,碼率適配,終端適配,資源反饋,直播處理等。

根據(jù)上面的功能,可以設(shè)計(jì)出3G網(wǎng)絡(luò)移動(dòng)流媒體服務(wù)器的工作流程如圖1。

服務(wù)器工作過(guò)程如下:流媒體信息首先進(jìn)入XVID編碼器,編碼成MEPG-4格式的視頻碼流,然后根據(jù)網(wǎng)絡(luò)情況進(jìn)行速率調(diào)整后,在應(yīng)用層由RTP進(jìn)行封裝,并把視頻信息的時(shí)間戳(屬于同一Sample的包打相同的時(shí)間戳)和序列號(hào)等參數(shù)寫(xiě)入RTP數(shù)據(jù)包中,交給下層UDP處理,UDP對(duì)RTP數(shù)據(jù)包進(jìn)行封裝,并把源端口地址、目標(biāo)端口地址和校驗(yàn)值等寫(xiě)入自己的數(shù)據(jù)包中,RTP和UDP一起共同完成傳輸層協(xié)議所應(yīng)完成的任務(wù),UDP數(shù)據(jù)包被交給IP網(wǎng)絡(luò)層處理,IP網(wǎng)絡(luò)層協(xié)議對(duì)UDP數(shù)據(jù)包進(jìn)行封裝,然后IP數(shù)據(jù)包通過(guò)Internet向接收端發(fā)送。同時(shí)發(fā)送端周期性地接收RTCP(RR)包,可以了解網(wǎng)絡(luò)狀況,從而相應(yīng)地對(duì)數(shù)據(jù)的發(fā)送速率進(jìn)行調(diào)整,使得終端的碼率能自適應(yīng)地隨著網(wǎng)絡(luò)傳輸條件的變化而變化。

2 移動(dòng)流媒體服務(wù)器軟件實(shí)現(xiàn)

移動(dòng)流媒體服務(wù)器以PC機(jī)為運(yùn)行平臺(tái),使用Windows XP操作系統(tǒng),編程語(yǔ)言為VC++6.0。根據(jù)上面的分析,移動(dòng)流媒體服務(wù)器軟件設(shè)計(jì)主要從以下幾個(gè)方面進(jìn)行:

2.1 MPEG-4編碼

在本系統(tǒng)中,采用XVID編解碼器來(lái)完成視頻圖像的MPEG4標(biāo)準(zhǔn)編解碼模塊。在安裝完該XVID編解碼器后,會(huì)自動(dòng)在系統(tǒng)中安裝其編解碼Filter。MPEG-4編碼實(shí)現(xiàn)過(guò)程為:

1) 通過(guò)枚舉 video compressors目錄CLSID_videoCompressorCaegory來(lái)創(chuàng)建XVID的壓縮Filter;

2) 如果創(chuàng)建成功,將該壓縮Filter添加到 Filler Graph中;

3) 得到壓縮Filter的輸入Pin;

4) 將運(yùn)動(dòng)檢測(cè)Filter的視頻輸出Pin連接到此壓縮Filter的輸入Pin;

5) 得到視頻壓縮Filter的輸出Output;

6) 將此視頻壓縮Filter繼續(xù)往下連接。

2.2 MPEG-4視頻流的RTP組包算法

要通過(guò)RTP傳輸MPEG-4視頻流,需要對(duì)其進(jìn)行打包處理。MPEG-4視頻流作為RTP數(shù)據(jù)包的凈負(fù)荷,設(shè)置RTP包頭,標(biāo)記順序號(hào),打上時(shí)間戳等,形成RTP數(shù)據(jù)包。因此,該文采用如下包機(jī)制:

1) 若當(dāng)前VOP能放人單個(gè)RTP包,就把此VOP單獨(dú)放人一個(gè)RTP包中;

2) 若放不下,則把VOP分段,放人多個(gè)RTP包,此時(shí)須把VOP頭部信息復(fù)制到每個(gè)RTP包;為減小包數(shù),降低開(kāi)銷(xiāo),一包中能放人多少宏塊就盡可能多地放人多少宏塊,但即使最后一個(gè)包中仍有剩余空間,也不能把另一VOP中的宏塊放人此包中。MPEG-4數(shù)據(jù)的算法描述如下:

while(MPEG-4數(shù)據(jù)流結(jié)束前)

{if(發(fā)現(xiàn)下一個(gè)VOP起始碼)

{if(當(dāng)前分段長(zhǎng)度三去除頭部字段長(zhǎng)度的路徑MTU值)

{把此段數(shù)據(jù)打入RTP包}

Else

{把盡可能多的宏塊打入RTP包}

Else

{對(duì)剩余數(shù)據(jù)打包}

}

2.3 視頻數(shù)據(jù)傳輸

實(shí)現(xiàn)視頻流實(shí)時(shí)傳輸?shù)暮诵氖蔷W(wǎng)絡(luò)發(fā)送過(guò)濾器和網(wǎng)絡(luò)接收過(guò)濾器的實(shí)現(xiàn),本系統(tǒng)定義為是MPEG-4 XVID Multicast Sender和MPEG-4 XVID Multicast Receiver,RTP/RTCP協(xié)議功能在這兩個(gè)過(guò)濾器中實(shí)現(xiàn),這兩個(gè)傳輸過(guò)濾器都是結(jié)合微軟SDK示例DSNetwork和開(kāi)源代碼JRTPLIB開(kāi)發(fā)的。使用JRTPLIB時(shí),只需要通過(guò)繼承RTPSeSSion類(lèi)實(shí)現(xiàn)以下幾步就可以完成數(shù)據(jù)的發(fā)送和接收。

1) 首先實(shí)現(xiàn)RTP初始化,建立RTP會(huì)話(huà),主要是在函數(shù)STDMETHODIMP CNetsend:create_RTPSession(long local_port)中實(shí)現(xiàn)。

2) 數(shù)據(jù)發(fā)送

當(dāng)RTP會(huì)話(huà)成功建立起來(lái)之后,接下來(lái)就可以開(kāi)始進(jìn)行流媒體數(shù)據(jù)的實(shí)時(shí)傳輸了。首先需要設(shè)置好數(shù)據(jù)發(fā)送的目標(biāo)地址,RTP協(xié)議允許同一會(huì)話(huà)存在多個(gè)目標(biāo)地址,這可以通過(guò)調(diào)用RTPSeSSion類(lèi)的AddDestination(),DeleteDestination()和ClearDestinations()方法來(lái)完成。目標(biāo)地址全部指定之后,然后啟動(dòng)數(shù)據(jù)發(fā)送處理線(xiàn)程,接著就可以調(diào)用RTPSeSSion類(lèi)的SendPacket()方法,向目標(biāo)地址發(fā)送流媒體數(shù)據(jù)。

3) 數(shù)據(jù)接收

對(duì)于流媒體數(shù)據(jù)的接收端,首先需要調(diào)用RTPSession類(lèi)的JoinMultieastGroup()加入組播組,然后啟動(dòng)數(shù)據(jù)接收處理線(xiàn)程,調(diào)用rtpsession類(lèi)的PollData()方法來(lái)接收發(fā)送過(guò)來(lái)的rtp或者rtcp數(shù)據(jù)包。

2.4 服務(wù)器速率控制

為了提高移動(dòng)網(wǎng)絡(luò)上視頻數(shù)據(jù)傳輸?shù)馁|(zhì)量,需要編碼和傳輸技術(shù)的相互配合和改進(jìn)。目前這種編碼方式主要有兩種:層次編碼和多速率編碼,本系統(tǒng)采用多速率編碼。

目前的移動(dòng)網(wǎng)絡(luò)主要有GPRS(General Packer Radio Service)、CDMA1X、以及3G,對(duì)應(yīng)有三種不同的傳輸帶寬,但PSS規(guī)范規(guī)定MPEG-4的最大碼率為64kbps。根據(jù)以上情況,指定視頻數(shù)據(jù)編碼成三個(gè)不同速率的流,即20kbps、35kbps、50kbps。流自動(dòng)選擇的具體方法如下:

1) 首先選擇35kbps的流進(jìn)行傳輸,流服務(wù)器根據(jù)所收到的RTCP包來(lái)判斷所選擇的流是否最適合目前的傳輸帶寬,若發(fā)現(xiàn)數(shù)據(jù)包丟失太多則改為使用20kbps的流,反之則使用50kbps的流,若丟失較少則保持不變。

2) 其次,當(dāng)網(wǎng)絡(luò)環(huán)境變差時(shí),流服務(wù)器會(huì)自動(dòng)選擇速率低一級(jí)的流,但當(dāng)網(wǎng)絡(luò)環(huán)境變好時(shí),并不主動(dòng)測(cè)試是否適合速率高一級(jí)的流,避免造成反復(fù)緩沖,影響播放效果。

實(shí)際使用中,多速率編碼可以在一定程度上降低因移動(dòng)環(huán)境變換導(dǎo)致傳輸帶寬變化對(duì)流媒體數(shù)據(jù)傳輸?shù)挠绊懀謾C(jī)終端的環(huán)境差異 ,對(duì)視頻播放質(zhì)量有一定的改善作用。

3 系統(tǒng)性能測(cè)試

本系統(tǒng)采用Netperf來(lái)測(cè)試3G網(wǎng)絡(luò)移動(dòng)流媒體服務(wù)器,是一種網(wǎng)絡(luò)性能的測(cè)量工具,主要針對(duì)基于TCP或UDP的傳輸。Netperf根據(jù)應(yīng)用的不同,可以進(jìn)行不同模式的網(wǎng)絡(luò)性測(cè)試。測(cè)試的指標(biāo)包括:可用性、響應(yīng)時(shí)間、網(wǎng)絡(luò)利用率、網(wǎng)絡(luò)吞吐量和網(wǎng)絡(luò)帶寬容量。測(cè)試結(jié)果如表1所示。

測(cè)試結(jié)果分析:最大連接數(shù)為145,網(wǎng)絡(luò)吞吐量為2612 KB/s,網(wǎng)絡(luò)利用率隨著連接數(shù)的增加而增加,約145時(shí)達(dá)到了飽和穩(wěn)定狀態(tài),響應(yīng)時(shí)間隨著連接數(shù)的增加而增加,結(jié)果表明:所設(shè)計(jì)的3G網(wǎng)絡(luò)視頻流媒體服務(wù)系統(tǒng)能夠滿(mǎn)足移動(dòng)終端視頻流媒體服務(wù)的需求。

參考文獻(xiàn):

[1] 3GPP TS 22.233:Transparent End-to-End Packet-Switched Streaming Service:Stage1[S].2003.

[2] 陸其明.DirectShow開(kāi)發(fā)指南[M].北京:清華大學(xué)出版社,2003.

[3] 陳強(qiáng),杜旭.流媒體技術(shù)與應(yīng)用間[M].北京:北京郵電大學(xué)出版社,2005.

主站蜘蛛池模板: 老司机精品99在线播放| 亚洲天堂高清| 蜜桃视频一区二区三区| 亚洲成av人无码综合在线观看| 日韩精品一区二区三区中文无码 | 亚洲大尺度在线| 亚洲无码一区在线观看| 伊人久热这里只有精品视频99| 国产香蕉97碰碰视频VA碰碰看 | 亚洲精品制服丝袜二区| 国产亚洲男人的天堂在线观看| 久久99精品久久久久纯品| 91美女视频在线| 伊人色婷婷| 国产高清毛片| 欧美、日韩、国产综合一区| 亚洲视频免| 伊人久久影视| 亚洲成a人在线播放www| 国产午夜精品一区二区三区软件| 四虎永久在线精品国产免费 | 日本精品视频一区二区| 97影院午夜在线观看视频| 九色视频一区| 99久视频| 四虎成人精品在永久免费| 天堂网国产| 美女无遮挡免费视频网站| 亚洲av无码久久无遮挡| 国产福利小视频高清在线观看| 日韩福利视频导航| 国产免费久久精品99re丫丫一| 天堂亚洲网| 国产欧美日本在线观看| 伊人久热这里只有精品视频99| 欧美日韩国产综合视频在线观看| 欧美午夜理伦三级在线观看| 国产天天色| 久久性视频| 亚洲永久免费网站| 国产情侣一区二区三区| 欧美在线观看不卡| 无码AV日韩一二三区| 素人激情视频福利| 国产精品jizz在线观看软件| 久久亚洲国产最新网站| 久久综合五月| 欧美一区中文字幕| www.亚洲色图.com| 亚洲中久无码永久在线观看软件| 国内精品视频在线| 日本精品视频| 亚洲AV无码乱码在线观看裸奔| 亚洲国产中文精品va在线播放| 五月天久久综合国产一区二区| 欧美yw精品日本国产精品| 免费人成在线观看视频色| 在线观看免费AV网| 啪啪啪亚洲无码| 亚洲免费三区| 91香蕉视频下载网站| 亚洲欧美日韩中文字幕在线| 国产精品香蕉| 看看一级毛片| 久久精品人人做人人| 91小视频在线播放| 欧美国产精品不卡在线观看| 97在线观看视频免费| …亚洲 欧洲 另类 春色| 国产成人区在线观看视频| 国产精品大尺度尺度视频| 成人午夜免费视频| 97成人在线视频| 亚洲成a人片77777在线播放| 少妇精品在线| 国产91线观看| www精品久久| 国产凹凸视频在线观看| 欧美精品成人一区二区在线观看| 欧美日本二区| 亚洲天堂久久| 香蕉综合在线视频91|