摘 要: 為了應付流媒體系統應用網絡帶寬不足問題,設計了基于多碼率文件傳輸技術和可變編解碼參數Filters播放鏈路動態重連機制的自適應流媒體傳輸系統。該系統在網絡帶寬發生波動的條件下,能夠自適應地選擇與可用帶寬相匹配碼率的視頻數據進行動態傳輸,進而減少視頻數據緩沖等待次數和等待時間,有效提高網絡帶寬利用率和媒體內容服務質量,同時采用“最短”的鏈路進行媒體內容的動態重連,避免Filters動態重連中出現“卡塞感”,有效提高流媒體系統的服務質量。
關鍵詞: 流媒體; 多碼率文件; 碼率自適應; Filters動態重連
中圖分類號: TN919.8?34 文獻標識碼: A 文章編號: 1004?373X(2014)02?0042?03
0 引 言
視頻業務的快速發展占用了大量的網絡帶寬,網絡帶寬成為制約流媒體系統應用的最大瓶頸,如何在有限帶寬下向用戶提供更加優質的服務成為研究的熱點[1]。為了解決流媒體傳輸過程中網絡帶寬不足問題,研究人員主要在流媒體系統架構上進行優化改進,以提高流媒體傳輸服務水平。但在媒體內容傳輸過程中,常規流媒體系統絕大部分采用單一碼率視頻文件為終端提供視頻服務,這種統一的處理模式在很大程度上忽略了網絡性能較為優越的部分客戶或時段,不適用于實時多媒體高效傳輸?;谶@種研究背景,拋開常規P2P,CDN等復雜的流媒體系統結構,研究“發送端→接收端”兩點直接互聯的流媒體傳輸架構,并實時跟蹤檢測兩點間網絡性能,以優選最優碼率文件內容進行傳輸,提高網絡帶寬的利用率及實現傳輸媒體內容質量服務最優化,以提高流媒體的綜合服務質量。
1 系統的網絡結構設計
流媒體文件碼率自適應處理系統,拋開常規的P2P,CDN等復雜的流媒體網絡結構,重點研究“發送端→接收端”兩點互聯的視頻流傳輸模式,同時拋開NAT網絡地址轉換等經路由器進行數據傳輸的復雜交互流程,其網絡結構如圖1所示。圖1中,發送端主要實現視頻內容從本地磁盤經網絡交互向系統接收端傳輸數據;接收端主要實現接收從發送端傳輸來的視頻數據并根據需求實時緩沖、解碼、播放和存儲。
2 系統功能模塊組成
為實現視頻數據的高效傳輸和優質接收服務,系統應具備視頻內容質量等級劃分(發送端管理)、視頻內容等級切換和擁塞調控(視頻數據傳輸模式自適應選擇)、視頻數據發送→接收(視頻數據傳輸控制)、視頻播放控制(視頻數據服務管理)等控制服務功能,如圖2所示。
(1) 視頻內容質量等級劃分
磁盤文件管理:發送端的主要功能模塊,管理發送端本地磁盤上的各種流媒體數據文件,為流媒體文件多碼率自適應處理系統讀取視頻文件內容、查詢視頻基本信息等提供接口。
媒體內容質量等級劃分:根據流媒體的重要性動態劃分視頻文件的質量等級。
媒體文件重編碼:為流媒體文件碼率自適應處理系統提供重編碼的分辨率、像素、位數等特性參數,以實現對視頻文件的重編碼;
媒體文件分段:對視頻數據內容進行合理分段,以實現系統在進行視頻內容等級切換過程中的快速準確重定位[2];RTP包組裝對RTP數據包進行封裝。
(2) 視頻內容等級切換和擁塞調控
根據網絡帶寬合理選擇傳輸內容,并結合帶寬檢測結果對下一個需要傳輸的音視頻內容進行快速準確定位。采用改進型TFRC擁塞控制算法,利用延遲抖動潛在的擁塞信號來改進TFRC的速率進行視頻內容傳輸的擁塞控制,以適應實時傳輸網絡帶寬抖動自適應調控需求。
(3) 視頻數據發送→接收
結合網絡可用帶寬檢測數據優選視頻傳輸內容,并將內容經網絡RTP/RTCP反饋包交互流程實現高效精確發送和接收。
3 發送端的設計與實現
在“發送端→接收端”兩點互聯的碼率自適應處理系統中,發送端應具備磁盤文件管理、視頻內容質量等級劃分、視頻數據段切換、可用帶寬測量、擁塞控制等諸多功能。
3.1 磁盤文件管理
磁盤文件管理除了基本的文件屬性查詢、文件內容等操作外,還能根據視頻文件內容進行統計的分類歸納整理,以實現對視頻文件的自動分類,形成包含根、葉、主干等在內的分類樹,如“新少林寺”這個視頻文件在傳輸過程中的名稱就是“熱門/新上映/電影/大陸電影/劉德華合集/新少林寺”,這樣自適應處理系統就能實現對視頻文件進行自動歸納分類,客戶端播放器在收到此種規范格式的文件名后,通過編碼解析就能對該視頻文件自動進行分類顯示。
3.2 視頻文件多碼率化處理
進行視頻內容質量等級劃分實質就是媒體文件的重編碼過程,此處采用應用較為成熟且重編碼質量效果較優越的FFMPEG媒體編解碼開源庫,來進行視頻文件內容的質量等級劃分[3]。FFMPEG是在Linux平臺下研發出來,免費跨平臺的視頻和音頻流編碼技術方案,完全支持Windows系統中的媒體流的中文編譯,可以實現多種視頻流格式間的任意轉換并合并成一個文件。
3.3 視頻內容劃分及擁塞控制
為了充分利用網絡帶寬和隨網絡性能的變換而自適應調節,需要對視頻內容進行分段處理,其切換點主要以段為單位進行視頻文件等級劃分和切換。為了確保傳輸數據的準確可靠性,只有等到當前傳輸數據段傳輸完后,方能進入到下一段數據的傳輸,即視頻文件在分段過程中其時段劃分不宜太長,此處采用視頻文件客戶較為滿意的5 s時長分段策略,且在RTCP控制協議反饋包交互中,其時間間隔也按照5 s來設定。結合網絡性能和網絡帶寬檢測結果,采用控制端到端傳輸延遲抖動的改進TFRC擁塞控制算法,來自適應選擇當前的發送速率相匹配的視頻等級,有效提高網絡帶寬利用率和客戶服務水平。
3.4 視頻數據發送及反饋包交互
媒體數據從發送端傳輸到接收端,按照RTP/RTCP實時傳輸協議和C/S(客戶機/服務器)結構,完成視頻數據內容的高效傳輸。對于視頻文件按照H264技術進行編碼,按照RFC3984協議完成H264視頻RTP打包封裝;而對于音頻文件則按照AAC技術編碼,按照RFC3640協議完成音頻RTP打包封裝。視頻數據傳輸過程中,在一個數據段沒傳輸完成前,系統就能根據網絡帶寬的檢測數據,實時判斷當前可用帶寬是否需要切換與之相匹配的視頻文件質量等級,如需要則自動定位切換到與之相匹配的下一段數據,以適應當前網絡性能和網絡帶寬變化高效傳輸需求。
4 接收端的設計與實現
接收端除實現視頻數據的實時接收解碼播放外,還需具備播放鏈路的自動重連機制及主機性能自適應優化功能,以提高視頻數據客服端服務水平。
4.1 視頻數據的接收及交互控制
接收端接收到傳輸的視頻網絡數據后,一方面通過全局文件段解析對RTP數據包進行解封裝完成視頻的播放,同時經內存緩沖區實現音視頻幀的重組操作,為客戶端播放層提供音視頻幀的獲取接口。視頻數據的接收及交互控制邏輯框圖如圖3所示。
4.2 VCR控制接口
流媒體文件多碼率自適應處理系統中,視頻數據的播放器控制接口為用戶提供友好的VCR播放控制界面,包括視頻文件搜索、播放質量選擇、播放界面設置、字幕選擇、聲音選擇、暫停、拖動、固定窗口、最大化等VCR模擬式磁帶錄放機操作。
4.3 Filter Graph Manager
Filter Graph Manager管理器按照“最短”的Filters鏈路實現播放器動態重連、解碼播放和存儲;音視頻幀重組將視頻數據從RTP包中解封獲得音視頻碼流幀數據,并完成音視頻幀的重組。
4.4 緩沖區管理
自適應的緩沖大小調整方案,依據實時網絡性能和視頻媒體內容質量等級自適應地調整緩沖容量,確保視頻內容數據的高效可靠接收,使視頻媒體能夠流暢播放,確保網絡視頻的優質服務。
5 結 語
在視頻文件多碼率處理和可用網絡帶寬在線檢測等技術成果的基礎上,研究了多碼率文件自適應傳輸控制策略,即當網絡性能和可用網絡帶寬發生變化的情況下,處理系統能夠對即將推送視頻切片質量進行及時調整自動定級。在該段數據還沒傳輸完前,自適應選擇切換到與網絡可用帶寬相匹配碼率的視頻數據并自動定位進行傳輸,有效提高網絡帶寬利用率,確保傳輸視頻內容質量的最優化。另外,采用Filters播放鏈路動態重連機制,采用“最短”鏈路進行動態重連,防止因為Filters動態重連產生的“卡塞感”,確保為客戶提供最優視頻播放服務。
參考文獻
[1] 林銳,劉峰.一種基于 HTTP 長連接的自適應流媒體傳輸系統[J].電視技術,2012,36(7):85?88.
[2] 李爭明,張佐,葉德建.自適應流媒體傳輸方案研究及其應用[J].計算機工程,2006(12):226?228.
[3] 楊濤,周志波,章磊,等.流媒體自適應傳輸策略[J].微型電腦應用,2005(5):40?43.
[4] 田鵬輝,隋立春.Flash技術在網絡電子地圖中的應用[J].現代電子技術,2011,34(4):70?72.
[5] 祝瑞,車敏.基于HTTP協議的服務器程序分析[J].現代電子技術,2012,35(4):117?119.
[6] 蘇征遠,易燕,戴祖誠.嵌入式流媒體播放系統的設計與實現[J].電子設計工程,2011(20):157?159.