滿志慧
(渤海大學 大學外語教研部, 遼寧 錦州 121013)
流媒體是將媒體數據以特定的格式封裝為數據包后,以流的方式在網絡中分段傳輸的一種技術。隨著信息技術發展,媒體信息資源不斷豐富,音頻和視頻應用越來越廣泛,流媒體技術也就應運而生,將網絡技術與音視頻技術有機結合[1]。流媒體技術的關鍵是流式傳輸,客戶端與服務器建立連接,客戶端不必等待全部文件內容接收完畢后再進行播放,而是采用邊接收邊播放的方式,具有較強的實時性的交互性。流式傳輸主要有兩種實現方式,一是漸進式,按照順序下載,也稱為HTTP流式傳輸,不支持實時性要求較高的互動直播場景;二是實時式,允許用戶對傳輸的媒體進行控制,需要構建特定的流式服務器,支持實時性要求較高的現場直播,比較成熟的協議包括RTST和MMS。漸進式存在延遲,實時式部署復雜,為了解決這些矛盾,目前又出現了自適應式流式傳輸。DASH(Dynamic Adaptive Streaming over HTTP),基于HTTP自適應流式傳輸方案,可應對復雜多變的網絡環境與接收條件,很好地吸收了漸進式和實時式的優點,又解決了各自存在的問題。
傳統英語學習重復播放和重復聽說的模式,難以調動學生的積極性。大學英語的教學目標是培養英語綜合應用能力,增強自主學習能力。新的教學模式以及現代教育技術支撐,鼓勵英語學習朝著個性化方向發展,為自主學習創造了條件。基于視頻點播的英語學習系統,將文字、視頻和音頻等資源分布在云存儲系統中,學生使用移動終端,自己安排時間、地點和學習進度,在多種感官的刺激下進行英語學習,提高了學習效率和興趣[2]。為了方便學生開展英語自主學習,本文基于最新的自適應流式傳輸技術設計點播系統,為系統開發提供完整的解決方案。
自適應流式傳輸技術包括Microsoft的SS技術、Apple公司的HLS技術、Adobe公司的HDS技術和MPEG組織的DASH標準。前三種技術由各自公司獨立開發完成,媒體封裝格式各不相同,不利于推廣和發展。DASH是HTTP自適應流媒體技術領域的通用國際標準,沒有規定編解碼器類型,可以包含任何類型的媒體數據,客戶端根據資源自適應地選擇媒體內容下載,具有兼容性好、部署便捷和拓展性強等優點。框架基本結構,如圖1所示。

圖1 DASH框架基本結構
對于圖1所示的DASH框架基本結構,由HTTP服務器和DASH客戶端兩部分構成。HTTP服務器存儲兩種內容,一種是切片文件,即音視頻文件被分為多個切片,按切片播放,欲播放某段內容時快速定位到對應的切片;另一種是索引文件,即媒體呈現描述MPD文件,以XML格式保存多媒體文件信息。客戶端由客戶端控制模塊、MPD解析模塊、切片解析模塊、媒體播放器和HTTP模塊等構成,其中,MPD解析模塊用于解析服務器傳送來的MPD文件,切片解析模塊是把切片轉換成計算機可讀的數據結構,HTTP模塊用于建立DASH客戶端與HTTP服務器之間的TCP連接并發送播放器請求[3]。DASH客戶端對收到的MPD文件解析后,對網絡環境和緩存情況進行評估,動態調整合適碼率的視頻切片,并將請求發送給HTTP服務器,這個過程就是自適應機制,確保音視頻播放流暢[4]。
網絡拓撲結構表明了網絡之間設備的分布情況以及連接狀態,本系統的網絡拓撲結構由媒體資源服務器、內容分發服務器、網絡控制器、Web服務器、網絡設備、傳輸媒介和用戶終端等部分構成,如圖2所示。
對于各組成部分功能簡要說明如下:一是媒體資源服務器,用于存儲媒體資源并進行相應管理,存儲采用磁盤陣列方式保證數據的安全性和訪問速度,管理功能包括資源管理模塊、分割模塊和編碼模塊;二是內容分發服務器,接受客戶端的請求,用于處理HTTP2.0協議中的業務邏輯,將被請求碼率的媒體文件發送給客戶端,并針對推送自適應優化方案[5];三是網絡控制器,用于分發服務器和Web服務器之間的流量控制,改變數據包發送的速率和優先級,用于解決數據超載問題;四是Web服務器,向瀏覽器等Web客戶端提供文檔,本系統使用Apache HTTP服務器[6];五是網絡設備,包括交換機、路由器和防火墻等;六是傳輸媒介,服務器和網絡設備等集中在較小區域,光纖或雙絞線。固定終端使用互聯網,移動終端使用4G/5G;七是用戶終端,包括Windows的固定終端和移動終端,以及Android和iOS等智能終端。

圖2 網絡拓撲結構
本系統包括教師、學生和管理員三類用戶,參照文獻[7-9],按照這三類用戶設計的系統功能結構,如圖3所示。

圖3 系統功能結構
管理端是為系統管理員用戶提供的功能,通過系統維護保證系統正常運行。除了常規的系統維護功能外,還提供配置管理功能,用于對軟件版本進行維護,使軟件變化過程清晰可見,實現對軟件維護的精準化管理[10]。
教師端是為教師用戶提供的功能,教師端的功能較多,除了常規的教學管理外,還包括資源管理和學情分析,以及學生端英語學習功能,圖中只給出了部分核心功能。資源制作可使用本系統的功能,也可以使用第三方軟件。
學生端是為學生用戶進行英語自主學習提供的功能,也是本系統的核心功能。功能設計充分考慮了英語學習的特點,有利于發揮學生的自主性,提高學習過程的娛樂性,并輔助完成學習過程中的相關工作。因此,將整個功能劃分為專項學習點播、娛樂學習點播和輔助學習三部分。其中,專項學習點播,針對英語學習詞匯和語法是基礎,培養“聽、說、讀、寫、譯”等綜合能力的特點,將這些類別的資源分別組織;娛樂學習點播,通常的英語學習枯燥無味,多媒體的特點之一就是娛樂性強,提供英語歌曲、短劇、電影、故事和小說等娛樂性強的資源供學生點播;輔助學習,提供點播之外的相關功能,最重要的是資源下載,學生可以將需要反復學習的英語資源下載到智能終端,便于在沒有網絡信號的地方自主學習。
音視頻播放模塊是本系統的核心程序,由以控制模塊為核心的多個模塊構成。播放交互過程[11],如圖4所示。

圖4 播放交互過程
對于圖4所示的播放交互過程,控制模塊作為橋梁,負責各模塊之間的信息傳遞,各個步驟簡要說明如下:(1)客戶端查詢到資源后播放器向控制模塊請求播放;(2)控制模塊向網絡模塊請求MPD文件;(3)網絡模塊各控制模塊返回MPD文件;(4)控制模塊向播放器返回MPD文件獲取成功信息;(5)控制模塊請求MPD解析模塊解析MPD文件;(6)MPD解析模塊向控制模塊返回MPD文件解析結果;(7)控制模塊將MPD文件解析結果寫入數據模型存儲到緩存管理模塊;(8)控制模塊向自適應碼率選擇模塊傳入MPD文件解析結果;(9)控制模塊向自適應碼率選擇模塊傳入碼率決策;(10)自適應碼率選擇模塊向控制模塊轉入要下載的碼率;(11)控制模塊向緩存管理模塊確認是否已下載;(12)緩存管理模塊向控制模塊返回確認是否已下載的結果;(13)控制模塊向網絡模塊無緩存請求視頻分片;(14)網絡模塊向控制模塊返回無緩存請求視頻分片結果;(15)控制模塊向自適應碼率選擇模塊寫入網絡帶寬數據;(16)控制模塊調用緩存管理模塊將視頻數據存入緩存;(17)播放器向控制模塊請求播放下一個視頻分片;(18)控制模塊調用緩存管理模塊取下一個視頻分片數據;(19)緩存管理模塊向控制模塊返回取下一個視頻分片數據結果;(20)控制模塊向播放器返回下一個視頻分片數據。
自主學習已成為外語教學與研究的熱點,校園無線WIFI基本實現全覆蓋,流媒體技術蓬勃發展,為移動點播英語自主學習提供了基礎條件。本文遵循軟件工程的思想和方法,基于DASH標準展開研究,完成了網絡拓撲結構設計、系統功能結構設計和播放交互過程等工作,為系統開發奠定了基礎。基于本文設計開發的系統,根據網絡帶寬和緩沖區大小進行碼率切換,充分發揮了DASH的優點,支持更為廣泛的媒體分片格式,支持分片時間的動態設置,提升了帶寬利用率的點播學習體驗,對學生的英語綜合水平和自主學習能力提升將發揮重要作用。本系統開發完成后,學生使用智能手機在校園網WiFi環境和家庭網絡WiFi環境分別進行了測試,資源查詢速度快,視頻播放基本流暢,偶爾發生卡頓現象,是由于手機配置過底或垃圾文件占用內存過大造成的。但是,由于網絡場景的復雜性和多樣性,本研究還存在泛化能力不足問題,這也為未來研究更強大的學習碼率自適應算法指明了方向。