殷燕南
【摘要】 隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,高質(zhì)量視頻的實時傳輸是流媒體的重要分支之一,然而目前的IP網(wǎng)絡(luò)所能提供的傳輸服務(wù),很難保證視頻傳輸質(zhì)量的穩(wěn)定性,有時會造成網(wǎng)絡(luò)擁塞。同時由于受到目前Android智能手機處理能力以及內(nèi)存等硬件配置因素額影響,使得嵌入式媒體播放器中的視頻數(shù)據(jù)無法適應(yīng)目前的網(wǎng)絡(luò)狀況,對視頻流的解碼效率造成了較大的影響,最終導(dǎo)致了視頻數(shù)據(jù)傳輸過程中發(fā)生大量信息丟失的情況,使得接收到的視頻質(zhì)量嚴(yán)重降低。本文對Android平臺中視頻文件的傳輸與處理進(jìn)行了一定的探討。
【關(guān)鍵詞】 Android 視頻文件 傳輸 處理
一、視頻自適應(yīng)算法框架
基于Android視頻文件傳輸?shù)淖赃m應(yīng)算法是根據(jù)網(wǎng)絡(luò)環(huán)境下傳輸實時視頻數(shù)據(jù)而提出的一種算法[1]。在進(jìn)行視屏文件傳輸時,通過對網(wǎng)絡(luò)進(jìn)行探測以及對反饋信息的分析二實現(xiàn)基于Android視頻傳輸?shù)淖赃m應(yīng)控制,該自適應(yīng)算法的實現(xiàn)主要從4個方面進(jìn)行:(1)Android系統(tǒng)接受包含視頻數(shù)據(jù)的時間戳、發(fā)送序號、狀態(tài)值等網(wǎng)絡(luò)信息的視頻數(shù)據(jù),參考實時傳輸協(xié)議RTP進(jìn)行打包傳輸。(2)Android系統(tǒng)在接受到視頻數(shù)據(jù)包之后,通過解包獲取數(shù)據(jù)信息以及當(dāng)前的網(wǎng)絡(luò)狀態(tài),并反饋控制策略,同時計算數(shù)據(jù)包的丟失率以及帶寬瓶頸等參數(shù),然后參考實時參數(shù)協(xié)議RTCP進(jìn)行打包然后反饋給視頻數(shù)據(jù)的發(fā)送端。(3)Android系統(tǒng)通過利用TCP友好速率控制算法來計算網(wǎng)絡(luò)的實時帶寬,然后利用視頻自適應(yīng)算法來實現(xiàn)平滑的視頻數(shù)據(jù)傳輸,降低TCP的AIMD算法所帶來的帶寬波動。(4)Android系統(tǒng)根據(jù)調(diào)整以后的數(shù)據(jù)接收速率對視頻數(shù)據(jù)包進(jìn)行接收。
基于Android視頻傳輸?shù)淖赃m應(yīng)算法首先要根據(jù)接收的新型進(jìn)行RTCP分析,病對分組丟失的統(tǒng)計規(guī)律、分組延遲抖動以及信息傳輸所消耗的時間進(jìn)行計算,然后對網(wǎng)絡(luò)狀態(tài)進(jìn)行估計以判斷是否需要對帶寬進(jìn)行調(diào)整。另外還要根據(jù)當(dāng)前網(wǎng)絡(luò)的狀況對視頻傳輸?shù)膸掃M(jìn)行適當(dāng)?shù)恼{(diào)整。
二、TFRC算法
TCP友好速率控制算法能夠根據(jù)網(wǎng)絡(luò)狀態(tài)對數(shù)據(jù)流速率進(jìn)行調(diào)整,實現(xiàn)控制網(wǎng)絡(luò)擁塞狀況的目的,它是基于速率的擁塞控制算法。TFRC吞吐量變化較為穩(wěn)定,波動較小,主要適用于電話、流媒體等對信號傳輸穩(wěn)定性要求較高的應(yīng)用。TFRC算法的基礎(chǔ)是TCP穩(wěn)態(tài)速率模型,該模型給出了TCP在網(wǎng)絡(luò)處于擁塞避免階段時的跑平均發(fā)送速率。
TFRC穩(wěn)態(tài)速率公式如下:
上面公式中的s代表TCP報文的大?。籶是包的丟失率;t0是數(shù)據(jù)報文超時時間;tRTT是數(shù)據(jù)報文環(huán)路時間;b表示一個應(yīng)答所接收到的報文數(shù)量。通過該公式能夠計算出傳輸數(shù)據(jù)流的穩(wěn)態(tài)接收速率B(p)。
從上面的公式能夠看出對傳輸數(shù)據(jù)流的穩(wěn)態(tài)接收速率影響最大的是數(shù)據(jù)包的丟失率。數(shù)據(jù)包的丟失率主要分為3個步驟,分別為初始化參數(shù)列表,丟失率的判斷以及丟失率的計算。
三、基于Android平臺的視頻自適應(yīng)傳輸算法
考慮到目前Android智能手機的性能以及網(wǎng)絡(luò)狀況,視頻自適應(yīng)算法通過將TFRC算法以及視頻編碼算法結(jié)合,實現(xiàn)視屏編碼的動態(tài)調(diào)整和發(fā)送。當(dāng)發(fā)現(xiàn)當(dāng)前網(wǎng)絡(luò)出現(xiàn)擁塞后,Android系統(tǒng)會對視頻數(shù)據(jù)的接受策略進(jìn)行自動調(diào)整,保證視頻傳輸?shù)姆€(wěn)定性[2]。如果網(wǎng)絡(luò)出現(xiàn)長時間的擁塞,視頻自適應(yīng)算法的表現(xiàn)就是在最初階段出現(xiàn)較大的丟包率,隨后通過算法的調(diào)整,逐漸適應(yīng)網(wǎng)絡(luò)擁塞的環(huán)境,丟包率也會逐漸降低,保證視頻傳輸?shù)牧鲿承浴?/p>
通過與TCP基于AIMD窗口控制算法相比較,視頻自適應(yīng)算法采用了更為緩和的速率變化控制策略,既降低與TCP流之間的影響,又使數(shù)據(jù)傳輸速率變得更加穩(wěn)定,有效的實現(xiàn)了視頻文件的穩(wěn)定傳輸,同時還保證了視頻的傳輸質(zhì)量。
四、總結(jié)
本文提出了一種基于Android智能手機視頻傳輸?shù)淖赃m應(yīng)算法,該算法能夠?qū)W(wǎng)絡(luò)帶寬進(jìn)行實時動態(tài)探測,自動適應(yīng)當(dāng)前的網(wǎng)絡(luò)擁塞狀況,并通過利用TFRC算法制定出平滑的數(shù)據(jù)傳輸帶寬,根據(jù)實時的帶寬對視頻的編碼以及傳輸速率進(jìn)行控制,有效的提高了視頻文件的傳輸質(zhì)量,改善用戶的使用體驗,該自適應(yīng)算法具有較高的應(yīng)用價值。
參 考 文 獻(xiàn)
[1] 王輝. 基于Android的視頻流自適應(yīng)算法設(shè)計[J]. 現(xiàn)代電子技術(shù),2012,(22):42-45
[2] 吳建國. 基于RTP和Android的視頻傳輸?shù)难芯繉崿F(xiàn)方法[J]. 電腦知識與技術(shù),2012,(4):903-905