?

音視頻數據通信中自適應多碼流網絡傳輸控制技術研究

2019-10-21 09:36劉霽宇
科學與信息化 2019年16期

摘 要 要保障音視頻數據通信過程中的圖像與音頻質量,應當基于實際傳輸寬帶變化合理應用自適應多碼流網絡傳輸控制技術。本文闡述了音視頻數據通信的概念,分析了音視頻通信中的網絡傳輸狀況,并介紹了自適應多碼流的基本內容,以供諸位參考。

關鍵詞 音視頻數據通信;自適應多碼流;網絡傳輸控制技術

音視頻是利用人眼視覺暫留原理,通過播放一系列圖片讓人眼產生運動的感覺。傳統網絡傳輸技術下,音視頻數據通信單純傳輸視頻畫面,視頻量較大,已經不再適應當前網絡數據傳輸與數據存儲。為了使視頻便于傳輸和存儲,人們開始深入研究網絡傳輸控制技術,并發現了將重復信息在發送端去掉、在接收端恢復可大大減少視頻數據文件規模。由此,誕生了自適應多碼流網絡傳輸控制技術。下文主要對此進行分析與論述。

1 音視頻數據通信概念

音視頻數據通信技術是一種集封裝技術、視頻音頻壓縮編碼技術、流媒體協議技術為一體的綜合性視頻數據技術,主要應用于網絡教學、遠程視頻會議、遠程會診等領域。音視頻編輯可行性開源方案包括ffmpeg、MediaCodec、ijkplayer、mp4parser以及Vitamio等,其推送、傳輸與解析遵循RTMP、HLS、Web RTC協議[1]。

2 音視頻數據通信網絡狀況分析

2.1 網絡平均帶寬

網絡平均帶寬又稱頻寬,指的是固定時間內可傳輸的數據數量,又指在傳輸管道中可以傳遞數據的能力。它反應的是網絡數據通信最大承載量,無論是何種類型的通信,都可用點對點通信模型來表示。網絡平均帶寬表示參數是相對恒定的,也是可以測量的。倘若網絡平均帶寬對網絡數據傳輸產生了阻礙作用,則需要根據寬帶變化對音視頻多碼流做出有效調整。

2.2 網絡噪聲

音視頻數據通信本身的特點就決定了傳播不可能在絕對真空、封閉的環境下進行,必然會在產生網絡噪聲。網絡噪聲是不可測量的,也不具有穩定性。在音視頻數據通信中,可根據實際噪聲構建噪聲模型,并充分考慮各種噪聲類型,采用盲卷積算法做去噪聲處理,處理過后仍舊存在噪聲時,選擇立即增加緩沖或者是重新發送等方式去除噪聲。

3 自適應多碼流

3.1 碼率轉換

自適應碼率轉換是解決在線音視頻播放卡頓的重要解決方法,其工作原理為基于對實際寬帶傳輸變化的估計選擇對應碼率的碼流播放,使當前播放碼流與當前的網絡狀況相適應,從而有效避免卡頓現象的發生。對用戶而言,由于音視頻是連續播放的,所以幾乎感知不到碼率切換,只能夠看到圖像質量的高低變化。

自適應碼率轉換需要服務器端和客戶端同時支持,一方面,服務器端要提供多碼率的碼流,如HLS就需要服務器端提供master m3u3 playlist,也就是嵌套m3u3 ,而DASH中manifest文件Adaptation Set里面會包含多個Representation,每個Representation對應某一個碼率的流的描述。另一方面,播放器要在服務器滿足上述條件的基礎上,通過寬帶估計、切換時機和條件、Buffer數據切換以及無縫切換四個步驟完成自適應碼率的切換。寬帶估計算法多涉及數學和統計學理論,比如說ExoPlayer算法,每下載一次數據,生成一個Sample,權重weight為每次下載到的數據的Bytes數的平方根,value為每次下載數據的bps。自適應數據切換不需要同時下載兩個碼率的碼流數據,前一個碼流的最后一個Chunk下載完成后,如果滿足相關切換條件,再去下載新碼流的數據,此時數據是串行的,所以播放器自始至終只需要維護一套Data Queue即可。播放器從服務器讀回來的音視頻ES數據只需在Data Queue后面Add就好,其他Meta data信息由Info Queue管理,在切換到新碼流并開始下載之后,sample Meta data會調用attempt Splice嘗試拼接,video和audio各自處理。

3.2 自適應流網絡傳輸

(1)DASH媒體內容的生成。自適應多碼流網絡傳輸可簡稱為DASH。簡單來說,就是在服務器端提前存好同一個內容的不同碼率、不同分辨率的多個分片以及相應的描述文件MPD,客戶端在播放時可根據自身性能與具體的網絡環境選擇最適宜的版本。DASH媒體內容的生成流程為“輸入——編碼——分片——組織MPD”,以DASHEncoder項目工程為例,此項目可通過讀入配置文件或者是命令行來完成DASH媒體內容和MPD文件的生成,并且支持計算PSNR值并存入MYAQL數據庫,其實現方法一般為調用MP4 box或者是ffmpeg。

(2)應用fragmented MP4。DASH中,一般推薦使用fragmented MP4(fMP4)格式,它包含一系列segments,而這些segments可以被獨立的request,這有利于在不同質量級別的碼流之間做碼率切換操作。倘若使用regular MP4,要在兩個碼流之間做碼率轉換,就需要找到兩個碼流中對應時間點的byte position。由于mdat box數據龐大,很難找到一個具體的byte position。而且,在regular MP4中,有時MOOV會在巨大的mdat box之后,從而影響播的速度。但使用fMP4就簡單得多,fMP4中有一個sidx box,它記錄了各個moof加mdat組成的segment的精確byte position,如果要進行碼率轉換,只需Load一個很小的sidx box即可。另外,fMP4中各個segment的duration可由用戶自己指定,從而保證不同碼流的各個segment是time aligned且一定start with關鍵幀。

4 結束語

綜上所述,自適應多碼流網絡傳輸技術對音視頻數據通信發展有重要作用?,F階段,我們應當持續深入研究自適應多碼流數據傳輸技術,充分發揮其功能與作用,使之更好地服務于大數據時代網絡技術的發展,并不斷對其配套技術進行開發設計與創新,從而提高整體網絡技術水平。

參考文獻

[1] 張林,全偉,羅信海,等.基于EMR平臺設計的綜合業務多碼流分發傳輸系統[J].廣播電視信息,2018,(11):92-96.

作者簡介

劉霽宇(1980-),男,陜西清澗人;學歷:本科,工程師,現就職單位:92493部隊13分隊,研究方向:音視頻及通信相關專業的研究。

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合