《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于無線網(wǎng)絡(luò)環(huán)境移動流媒體碼率自適應(yīng)研究
基于無線網(wǎng)絡(luò)環(huán)境移動流媒體碼率自適應(yīng)研究
來源:微型機(jī)與應(yīng)用2013年第6期
李英壯,,吳志偉,,李先毅
(大連理工大學(xué) 網(wǎng)絡(luò)與信息化中心,,遼寧 大連116024)
摘要: 基于校園無線網(wǎng)絡(luò)環(huán)境,研究了流媒體視頻碼率自適應(yīng)技術(shù),。利用分布式實(shí)時(shí)轉(zhuǎn)碼系統(tǒng)保證直播流視頻轉(zhuǎn)碼的實(shí)時(shí)性,并根據(jù)校園無線網(wǎng)用戶的特殊性,,研究了首次接入視頻碼率選擇策略,,以減少碼率切換次數(shù)。實(shí)驗(yàn)證明,,這種方案在無線網(wǎng)絡(luò)環(huán)境發(fā)生變化時(shí),,保證了視頻播放的流暢性,為用戶提供了友好的體驗(yàn),。
Abstract:
Key words :

摘  要: 基于校園無線網(wǎng)絡(luò)環(huán)境,,研究了流媒體視頻碼率自適應(yīng)技術(shù)。利用分布式實(shí)時(shí)轉(zhuǎn)碼系統(tǒng)保證直播流視頻轉(zhuǎn)碼的實(shí)時(shí)性,,并根據(jù)校園無線網(wǎng)用戶的特殊性,,研究了首次接入視頻碼率選擇策略,以減少碼率切換次數(shù),。實(shí)驗(yàn)證明,,這種方案在無線網(wǎng)絡(luò)環(huán)境發(fā)生變化時(shí),保證了視頻播放的流暢性,,為用戶提供了友好的體驗(yàn),。
關(guān)鍵詞: 流媒體;碼率自適應(yīng);無線網(wǎng)絡(luò),;RTP,;轉(zhuǎn)碼

    隨著GPRS和WiFi無線網(wǎng)絡(luò)的迅速發(fā)展,智能終端在線點(diǎn)播直播視頻業(yè)務(wù)越來越多,。面對復(fù)雜的用戶和移動環(huán)境,,對于視頻點(diǎn)播而言,需要一定的服務(wù)質(zhì)量保證策略,,以保證不穩(wěn)定無線網(wǎng)絡(luò)環(huán)境下用戶的友好體驗(yàn),。
    本文通過終端網(wǎng)絡(luò)狀況反饋、分布式實(shí)時(shí)轉(zhuǎn)碼技術(shù)和動態(tài)碼率自適應(yīng)技術(shù),,解決終端所處無線網(wǎng)絡(luò)環(huán)境發(fā)生變化時(shí),,終端視頻收看體驗(yàn)下降的問題。當(dāng)無線網(wǎng)絡(luò)狀況發(fā)生變化時(shí),,終端將網(wǎng)絡(luò)狀況參數(shù)反饋給流媒體服務(wù)器,,服務(wù)器根據(jù)反饋進(jìn)行處理,動態(tài)調(diào)整流視頻碼率,。
1 終端網(wǎng)絡(luò)狀況反饋方案
    實(shí)時(shí)傳輸協(xié)議RTP(Real-time Transport Protocol)[1]用于傳輸數(shù)字音頻和數(shù)字視頻等多媒體數(shù)據(jù),,本身并不提供任何保證數(shù)據(jù)傳輸?shù)目煽俊⒂行蚝蛯?shí)時(shí),,也不提供其他途徑保證服務(wù)質(zhì)量,,這些工作都依賴于RTCP(Real-time Transport Control Protocol)協(xié)議來完成。
    RTCP[2]協(xié)議為RTP提供關(guān)于媒體傳輸以及媒體源的信息,,如數(shù)據(jù)傳輸延遲,、丟包率、抖動等相關(guān)信息,,以用于RTP協(xié)議的交互控制,。RTCP控制包分為SR、RR,、SDFS,、BYE等。
    RR包中包含了接收的包數(shù),、上個報(bào)文間隔期間接收的包數(shù),、丟失包的總數(shù)、包丟失率,、平均延遲,、延遲抖動等消息;SR包中包含了包發(fā)出時(shí)的時(shí)間標(biāo)簽,、發(fā)送的總包數(shù),、發(fā)送的總字節(jié)數(shù)等信息,。這些信息構(gòu)成了制定控制策略的依據(jù)。
    所以,,終端使用RTCP協(xié)議反饋RTP數(shù)據(jù)包的丟失率,、傳輸抖動等消息,服務(wù)器根據(jù)收到的RTCP RR包,,進(jìn)行分析處理后動態(tài)地切換視頻碼率。
2 終端流視頻碼率自適應(yīng)方案
    流媒體視頻碼率自適應(yīng)[3]調(diào)整是一種反饋控制技術(shù),。它在服務(wù)器端和接收端之間建立一條反饋通道,,通過實(shí)時(shí)監(jiān)測終端網(wǎng)絡(luò)帶寬和丟包率來實(shí)時(shí)監(jiān)測終端網(wǎng)絡(luò)狀況,根據(jù)當(dāng)前可用網(wǎng)絡(luò)帶寬和丟包率大小來估計(jì)終端網(wǎng)絡(luò)的實(shí)際狀況,,并據(jù)此動態(tài)調(diào)整服務(wù)器端發(fā)送視頻碼率的大小,。
2.1 首次接入碼率選擇方案
    流視頻文件切換的代價(jià)是巨大的,不僅消耗網(wǎng)絡(luò)資源,,而且占用移動終端的處理能力,,所以選擇一個合適的首次接入碼率傳輸非常重要。根據(jù)首次接入終端的網(wǎng)絡(luò)類型,、當(dāng)前無線網(wǎng)絡(luò)帶寬,、當(dāng)前接入用戶數(shù)量、終端的處理能力等,,選擇合適的碼率視頻文件,,減少傳輸過程中碼率切換的次數(shù)。
    考慮到高校學(xué)生接入無線網(wǎng)具有階段集中的特性,,根據(jù)校園無線網(wǎng)絡(luò)接入終端的數(shù)量或無線網(wǎng)流量的大小,,設(shè)置合適的首次接入碼率,然后結(jié)合剛接入無線網(wǎng)絡(luò)狀況預(yù)測進(jìn)行上下微調(diào)整,,從而減少碼率切換次數(shù),,保證終端視頻播放的流暢度。
2.2 流媒體服務(wù)器碼率切換方案
    流媒體服務(wù)器可以根據(jù)自適應(yīng)碼率控制算法[4]選擇不同的流視頻傳輸碼率[5],。例如,,在實(shí)現(xiàn)中對包丟失率定義若干閾值,a:4%,,b:8%,,c:10%,d:12%,;當(dāng)包丟失率處于(a,,b](某個數(shù)值范圍)時(shí),切換選擇文件庫中相應(yīng)碼率的流視頻,。這樣需要同一視頻文件,,有不同碼率等級的版本,,對于電視直播流,也有不同碼率等級的文件,。
    本方案通過分布式實(shí)時(shí)轉(zhuǎn)碼系統(tǒng),,保證了點(diǎn)播和直播流視頻文件的實(shí)時(shí)提供,實(shí)現(xiàn)了從50 kb/s~300 kb/s的6個遞增的碼率等級,。
2.2.1 分布式實(shí)時(shí)轉(zhuǎn)碼系統(tǒng)
    針對滿足各終端環(huán)境對視頻轉(zhuǎn)碼工作的高要求,,提出了基于Hadoop的使用實(shí)時(shí)調(diào)度策略的分布式轉(zhuǎn)碼方案,使用mapreduce編程框架和mencoder進(jìn)行分布式轉(zhuǎn)碼,,達(dá)到嚴(yán)格控制轉(zhuǎn)碼完成時(shí)間的目的,。
    (1)文件切割接口:cut fileName fileTime playTime
    Cut是流視頻文件切割腳本,fileName表示要處理的流視頻文件,,fileTime表示要處理的流視頻文件的總播放時(shí)間,,playTime表示要切割成的每段流視頻的播放時(shí)間。
    (2)文件轉(zhuǎn)碼接口:transcode fileName 參數(shù)1,,參數(shù)2,,…,參數(shù)n
    Transcode表示本地轉(zhuǎn)碼腳本,,fileName表示要轉(zhuǎn)碼的文件名,,參數(shù)表示對流視頻文件碼率等轉(zhuǎn)碼參數(shù)的設(shè)置。
    當(dāng)流視頻文件切割處理結(jié)束后,,系統(tǒng)主節(jié)點(diǎn)就會將各流視頻段分發(fā)到各子節(jié)點(diǎn),,各子節(jié)點(diǎn)根據(jù)設(shè)定的參數(shù)調(diào)用轉(zhuǎn)碼腳本進(jìn)行轉(zhuǎn)碼,最后存儲到流媒體服務(wù)器,。
2.2.2 轉(zhuǎn)碼方案
    源視頻分為點(diǎn)播流視頻和電視直播流視頻,。
    (1)點(diǎn)播流視頻轉(zhuǎn)碼:在離線狀態(tài)下,通過轉(zhuǎn)碼系統(tǒng)預(yù)先壓縮一系列碼率(50 kb/s~300 kb/s)不等的流視頻文件存儲在服務(wù)器端,。
    (2)電視直播流視頻轉(zhuǎn)碼:因?yàn)殡娨曋辈チ饕曨l需要實(shí)時(shí)傳輸,,這就需要轉(zhuǎn)碼系統(tǒng)進(jìn)行實(shí)時(shí)轉(zhuǎn)碼。系統(tǒng)實(shí)時(shí)地從視頻源獲得一定播放長度的直播流視頻段,,調(diào)用轉(zhuǎn)碼服務(wù)器系統(tǒng)轉(zhuǎn)成一系列碼率不等的流視頻文件,,暫時(shí)存放在流媒體服務(wù)器。服務(wù)器根據(jù)碼率切換方案進(jìn)行調(diào)整,。
2.2.3 碼率調(diào)節(jié)策略
    當(dāng)估計(jì)到終端網(wǎng)絡(luò)丟包率突然上升,、網(wǎng)絡(luò)出現(xiàn)擁塞時(shí),降低服務(wù)器端發(fā)送視頻文件的碼率,,保證用戶收看視頻的流暢度,。在實(shí)現(xiàn)中,當(dāng)丟包率突然上升時(shí),,將發(fā)送的視頻文件降低2個碼率級別,,因?yàn)閬G包率突然上升表明網(wǎng)絡(luò)環(huán)境惡化,,很大程度上影響終端的正常播放。
    當(dāng)丟包率下降時(shí),,延遲調(diào)整碼率,,待丟包率趨于平穩(wěn)后,再調(diào)高碼率級別,,以消去短時(shí)間內(nèi)丟包波動的情況,。
3 終端視頻碼率自適應(yīng)系統(tǒng)實(shí)現(xiàn)
    根據(jù)實(shí)現(xiàn)的功能不同,整個系統(tǒng)可以劃分為分布式實(shí)時(shí)轉(zhuǎn)碼服務(wù)器,、流媒體服務(wù)器和移動終端三個部分,,如圖1所示。

3.1 分布式實(shí)時(shí)調(diào)度轉(zhuǎn)碼服務(wù)器
    分布式實(shí)時(shí)調(diào)度轉(zhuǎn)碼系統(tǒng)主要將點(diǎn)播文件和電視直播源信號轉(zhuǎn)換成列碼一系列碼率不等的流視頻文件存儲在流媒體服務(wù)器,。
3.2 流媒體服務(wù)器
    流媒體服務(wù)器主要由以下4個模塊組成:
    (1)首次接入碼率選擇模塊:根據(jù)首次接入終端的網(wǎng)絡(luò)類型、當(dāng)前無線網(wǎng)絡(luò)帶寬,、當(dāng)前接入用戶數(shù)量,、終端的處理能力等,選擇合適的碼率流視頻文件,,生成相應(yīng)的RTSP點(diǎn)播或者直播URL路徑,,提供給終端。
    (2)終端網(wǎng)絡(luò)狀況反饋處理模塊:主要是根據(jù)終端反饋回來的RTCP RR數(shù)據(jù)包,,獲取丟包率,、網(wǎng)絡(luò)帶寬等信息來估計(jì)當(dāng)前的網(wǎng)絡(luò)狀況,作為碼率切換模塊調(diào)整的依據(jù),。
    (3)碼率切換模塊:通過預(yù)測得到的下一時(shí)刻丟包率,、網(wǎng)絡(luò)帶寬等超過了切換門限值,就結(jié)束當(dāng)前碼率的視頻傳輸,,切換到文件庫中合適碼率的視頻文件,。
    (4)RTSP傳輸模塊:該模塊主要將封裝好的RTP數(shù)據(jù)包發(fā)送給客戶端。
3.3 移動終端
    移動終端主要由RTSP接收模塊,、RTCP網(wǎng)絡(luò)狀況反饋模塊和視頻顯示模塊三部分組成,。
    (1)RTSP接收模塊:該模塊通過RTSP協(xié)議接收服務(wù)器端發(fā)送的RTP數(shù)據(jù)包,送給終端解碼器進(jìn)行解碼,。
    (2)RTCP網(wǎng)絡(luò)狀況反饋模塊:移動終端通過RTCP RR包將丟失包的總數(shù),、包丟失率、平均延遲,、延遲抖動等消息發(fā)送給流媒體服務(wù)器,,用來描述當(dāng)前終端的網(wǎng)絡(luò)狀況。
    (3)視頻顯示[6]模塊:移動終端通過解碼器解碼,,播放視頻,。
4 實(shí)驗(yàn)測試分析
4.1 實(shí)驗(yàn)環(huán)境

    分布式實(shí)時(shí)轉(zhuǎn)碼系統(tǒng)環(huán)境:分割服務(wù)器,、Hadoop集群;流媒體服務(wù)器環(huán)境:ubuntu系統(tǒng),,dss達(dá)爾文開源流媒體服務(wù)器軟件,;測試終端:1臺小米1s手機(jī)、1臺聯(lián)想筆記本電腦,;電視直播源:機(jī)頂盒設(shè)備,。

    整個測試過程,系統(tǒng)運(yùn)轉(zhuǎn)良好,,分布式實(shí)時(shí)轉(zhuǎn)碼系統(tǒng)很好地保證了直播流視頻數(shù)據(jù)的實(shí)時(shí)提供,,流媒體服務(wù)器監(jiān)聽用戶終端請求,及時(shí)響應(yīng)和提供視頻傳輸,,并實(shí)時(shí)監(jiān)測用戶終端網(wǎng)絡(luò)狀況反饋,,動態(tài)調(diào)整視頻碼率,保證了用戶友好的收看體驗(yàn),。
    在無線網(wǎng)絡(luò)不穩(wěn)定,、易受到干擾的情況下,研究了碼率自適應(yīng)技術(shù)以提高用戶的收看體驗(yàn),。通過首次接入碼率選擇方案,,減少了觀看過程中碼率切換的次數(shù),有效地節(jié)省了資源,。分布式實(shí)時(shí)轉(zhuǎn)碼系統(tǒng)解決了轉(zhuǎn)碼的需求,,并保證了電視直播視頻轉(zhuǎn)碼的實(shí)時(shí)性。在視頻碼率切換模塊中,,服務(wù)器使用閾值比較方案選擇下一時(shí)刻傳輸?shù)囊曨l碼率,。這種方案考慮因素比較單一,精度不準(zhǔn)確,,下一步工作會改進(jìn)選擇方案,,增加計(jì)算網(wǎng)絡(luò)狀況的因子,以使碼率切換方案更加準(zhǔn)確,,使終端觀看體驗(yàn)更加友好,。
參考文獻(xiàn)
[1] 孫松源,吳建國.基于RTP和Android的視頻傳輸?shù)难芯繉?shí)現(xiàn)方法[J].電腦知識與技術(shù),,2012,,8(4):903-905,914.
[2] 李校林,,劉海波.RTP/RTCP,、RTSP在無線視頻監(jiān)控系統(tǒng)中設(shè)計(jì)與實(shí)現(xiàn)[C].2011年第十三屆全國消費(fèi)電子技術(shù)年會,2011.
[3] 楊琛,,白波.實(shí)時(shí)視頻流自適應(yīng)碼流控制研究[J].計(jì)算機(jī)技術(shù)與應(yīng)用進(jìn)展,,2008(7):445-447.
[4] 左東紅.面向TCP的流媒體傳輸編碼碼率自適應(yīng)算法[J].中國圖象圖形學(xué)報(bào),,2011,16(4):510-515.
[5] 王瑞,,劉寶成.一種適用于H.264/AVC的自適應(yīng)碼率控制算法[J].電子技術(shù)研發(fā),,2011,38(6):15-18.
[6] VUN N,,OOI Y H.Implementation of an Android phone based video streamer[C].2010 IEEE/ACM International Conference on Green Computing and Communications,,2010.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。