滿志慧
(渤海大學(xué) 大學(xué)外語教研部, 遼寧 錦州 121013)
流媒體是將媒體數(shù)據(jù)以特定的格式封裝為數(shù)據(jù)包后,以流的方式在網(wǎng)絡(luò)中分段傳輸?shù)囊环N技術(shù)。隨著信息技術(shù)發(fā)展,媒體信息資源不斷豐富,音頻和視頻應(yīng)用越來越廣泛,流媒體技術(shù)也就應(yīng)運(yùn)而生,將網(wǎng)絡(luò)技術(shù)與音視頻技術(shù)有機(jī)結(jié)合[1]。流媒體技術(shù)的關(guān)鍵是流式傳輸,客戶端與服務(wù)器建立連接,客戶端不必等待全部文件內(nèi)容接收完畢后再進(jìn)行播放,而是采用邊接收邊播放的方式,具有較強(qiáng)的實(shí)時(shí)性的交互性。流式傳輸主要有兩種實(shí)現(xiàn)方式,一是漸進(jìn)式,按照順序下載,也稱為HTTP流式傳輸,不支持實(shí)時(shí)性要求較高的互動(dòng)直播場景;二是實(shí)時(shí)式,允許用戶對傳輸?shù)拿襟w進(jìn)行控制,需要構(gòu)建特定的流式服務(wù)器,支持實(shí)時(shí)性要求較高的現(xiàn)場直播,比較成熟的協(xié)議包括RTST和MMS。漸進(jìn)式存在延遲,實(shí)時(shí)式部署復(fù)雜,為了解決這些矛盾,目前又出現(xiàn)了自適應(yīng)式流式傳輸。DASH(Dynamic Adaptive Streaming over HTTP),基于HTTP自適應(yīng)流式傳輸方案,可應(yīng)對復(fù)雜多變的網(wǎng)絡(luò)環(huán)境與接收條件,很好地吸收了漸進(jìn)式和實(shí)時(shí)式的優(yōu)點(diǎn),又解決了各自存在的問題。
傳統(tǒng)英語學(xué)習(xí)重復(fù)播放和重復(fù)聽說的模式,難以調(diào)動(dòng)學(xué)生的積極性。大學(xué)英語的教學(xué)目標(biāo)是培養(yǎng)英語綜合應(yīng)用能力,增強(qiáng)自主學(xué)習(xí)能力。新的教學(xué)模式以及現(xiàn)代教育技術(shù)支撐,鼓勵(lì)英語學(xué)習(xí)朝著個(gè)性化方向發(fā)展,為自主學(xué)習(xí)創(chuàng)造了條件?;谝曨l點(diǎn)播的英語學(xué)習(xí)系統(tǒng),將文字、視頻和音頻等資源分布在云存儲(chǔ)系統(tǒng)中,學(xué)生使用移動(dòng)終端,自己安排時(shí)間、地點(diǎn)和學(xué)習(xí)進(jìn)度,在多種感官的刺激下進(jìn)行英語學(xué)習(xí),提高了學(xué)習(xí)效率和興趣[2]。為了方便學(xué)生開展英語自主學(xué)習(xí),本文基于最新的自適應(yīng)流式傳輸技術(shù)設(shè)計(jì)點(diǎn)播系統(tǒng),為系統(tǒng)開發(fā)提供完整的解決方案。
自適應(yīng)流式傳輸技術(shù)包括Microsoft的SS技術(shù)、Apple公司的HLS技術(shù)、Adobe公司的HDS技術(shù)和MPEG組織的DASH標(biāo)準(zhǔn)。前三種技術(shù)由各自公司獨(dú)立開發(fā)完成,媒體封裝格式各不相同,不利于推廣和發(fā)展。DASH是HTTP自適應(yīng)流媒體技術(shù)領(lǐng)域的通用國際標(biāo)準(zhǔn),沒有規(guī)定編解碼器類型,可以包含任何類型的媒體數(shù)據(jù),客戶端根據(jù)資源自適應(yīng)地選擇媒體內(nèi)容下載,具有兼容性好、部署便捷和拓展性強(qiáng)等優(yōu)點(diǎn)??蚣芑窘Y(jié)構(gòu),如圖1所示。
圖1 DASH框架基本結(jié)構(gòu)
對于圖1所示的DASH框架基本結(jié)構(gòu),由HTTP服務(wù)器和DASH客戶端兩部分構(gòu)成。HTTP服務(wù)器存儲(chǔ)兩種內(nèi)容,一種是切片文件,即音視頻文件被分為多個(gè)切片,按切片播放,欲播放某段內(nèi)容時(shí)快速定位到對應(yīng)的切片;另一種是索引文件,即媒體呈現(xiàn)描述MPD文件,以XML格式保存多媒體文件信息??蛻舳擞煽蛻舳丝刂颇K、MPD解析模塊、切片解析模塊、媒體播放器和HTTP模塊等構(gòu)成,其中,MPD解析模塊用于解析服務(wù)器傳送來的MPD文件,切片解析模塊是把切片轉(zhuǎn)換成計(jì)算機(jī)可讀的數(shù)據(jù)結(jié)構(gòu),HTTP模塊用于建立DASH客戶端與HTTP服務(wù)器之間的TCP連接并發(fā)送播放器請求[3]。DASH客戶端對收到的MPD文件解析后,對網(wǎng)絡(luò)環(huán)境和緩存情況進(jìn)行評估,動(dòng)態(tài)調(diào)整合適碼率的視頻切片,并將請求發(fā)送給HTTP服務(wù)器,這個(gè)過程就是自適應(yīng)機(jī)制,確保音視頻播放流暢[4]。
網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)表明了網(wǎng)絡(luò)之間設(shè)備的分布情況以及連接狀態(tài),本系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)由媒體資源服務(wù)器、內(nèi)容分發(fā)服務(wù)器、網(wǎng)絡(luò)控制器、Web服務(wù)器、網(wǎng)絡(luò)設(shè)備、傳輸媒介和用戶終端等部分構(gòu)成,如圖2所示。
對于各組成部分功能簡要說明如下:一是媒體資源服務(wù)器,用于存儲(chǔ)媒體資源并進(jìn)行相應(yīng)管理,存儲(chǔ)采用磁盤陣列方式保證數(shù)據(jù)的安全性和訪問速度,管理功能包括資源管理模塊、分割模塊和編碼模塊;二是內(nèi)容分發(fā)服務(wù)器,接受客戶端的請求,用于處理HTTP2.0協(xié)議中的業(yè)務(wù)邏輯,將被請求碼率的媒體文件發(fā)送給客戶端,并針對推送自適應(yīng)優(yōu)化方案[5];三是網(wǎng)絡(luò)控制器,用于分發(fā)服務(wù)器和Web服務(wù)器之間的流量控制,改變數(shù)據(jù)包發(fā)送的速率和優(yōu)先級(jí),用于解決數(shù)據(jù)超載問題;四是Web服務(wù)器,向?yàn)g覽器等Web客戶端提供文檔,本系統(tǒng)使用Apache HTTP服務(wù)器[6];五是網(wǎng)絡(luò)設(shè)備,包括交換機(jī)、路由器和防火墻等;六是傳輸媒介,服務(wù)器和網(wǎng)絡(luò)設(shè)備等集中在較小區(qū)域,光纖或雙絞線。固定終端使用互聯(lián)網(wǎng),移動(dòng)終端使用4G/5G;七是用戶終端,包括Windows的固定終端和移動(dòng)終端,以及Android和iOS等智能終端。
圖2 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
本系統(tǒng)包括教師、學(xué)生和管理員三類用戶,參照文獻(xiàn)[7-9],按照這三類用戶設(shè)計(jì)的系統(tǒng)功能結(jié)構(gòu),如圖3所示。
圖3 系統(tǒng)功能結(jié)構(gòu)
管理端是為系統(tǒng)管理員用戶提供的功能,通過系統(tǒng)維護(hù)保證系統(tǒng)正常運(yùn)行。除了常規(guī)的系統(tǒng)維護(hù)功能外,還提供配置管理功能,用于對軟件版本進(jìn)行維護(hù),使軟件變化過程清晰可見,實(shí)現(xiàn)對軟件維護(hù)的精準(zhǔn)化管理[10]。
教師端是為教師用戶提供的功能,教師端的功能較多,除了常規(guī)的教學(xué)管理外,還包括資源管理和學(xué)情分析,以及學(xué)生端英語學(xué)習(xí)功能,圖中只給出了部分核心功能。資源制作可使用本系統(tǒng)的功能,也可以使用第三方軟件。
學(xué)生端是為學(xué)生用戶進(jìn)行英語自主學(xué)習(xí)提供的功能,也是本系統(tǒng)的核心功能。功能設(shè)計(jì)充分考慮了英語學(xué)習(xí)的特點(diǎn),有利于發(fā)揮學(xué)生的自主性,提高學(xué)習(xí)過程的娛樂性,并輔助完成學(xué)習(xí)過程中的相關(guān)工作。因此,將整個(gè)功能劃分為專項(xiàng)學(xué)習(xí)點(diǎn)播、娛樂學(xué)習(xí)點(diǎn)播和輔助學(xué)習(xí)三部分。其中,專項(xiàng)學(xué)習(xí)點(diǎn)播,針對英語學(xué)習(xí)詞匯和語法是基礎(chǔ),培養(yǎng)“聽、說、讀、寫、譯”等綜合能力的特點(diǎn),將這些類別的資源分別組織;娛樂學(xué)習(xí)點(diǎn)播,通常的英語學(xué)習(xí)枯燥無味,多媒體的特點(diǎn)之一就是娛樂性強(qiáng),提供英語歌曲、短劇、電影、故事和小說等娛樂性強(qiáng)的資源供學(xué)生點(diǎn)播;輔助學(xué)習(xí),提供點(diǎn)播之外的相關(guān)功能,最重要的是資源下載,學(xué)生可以將需要反復(fù)學(xué)習(xí)的英語資源下載到智能終端,便于在沒有網(wǎng)絡(luò)信號(hào)的地方自主學(xué)習(xí)。
音視頻播放模塊是本系統(tǒng)的核心程序,由以控制模塊為核心的多個(gè)模塊構(gòu)成。播放交互過程[11],如圖4所示。
圖4 播放交互過程
對于圖4所示的播放交互過程,控制模塊作為橋梁,負(fù)責(zé)各模塊之間的信息傳遞,各個(gè)步驟簡要說明如下:(1)客戶端查詢到資源后播放器向控制模塊請求播放;(2)控制模塊向網(wǎng)絡(luò)模塊請求MPD文件;(3)網(wǎng)絡(luò)模塊各控制模塊返回MPD文件;(4)控制模塊向播放器返回MPD文件獲取成功信息;(5)控制模塊請求MPD解析模塊解析MPD文件;(6)MPD解析模塊向控制模塊返回MPD文件解析結(jié)果;(7)控制模塊將MPD文件解析結(jié)果寫入數(shù)據(jù)模型存儲(chǔ)到緩存管理模塊;(8)控制模塊向自適應(yīng)碼率選擇模塊傳入MPD文件解析結(jié)果;(9)控制模塊向自適應(yīng)碼率選擇模塊傳入碼率決策;(10)自適應(yīng)碼率選擇模塊向控制模塊轉(zhuǎn)入要下載的碼率;(11)控制模塊向緩存管理模塊確認(rèn)是否已下載;(12)緩存管理模塊向控制模塊返回確認(rèn)是否已下載的結(jié)果;(13)控制模塊向網(wǎng)絡(luò)模塊無緩存請求視頻分片;(14)網(wǎng)絡(luò)模塊向控制模塊返回?zé)o緩存請求視頻分片結(jié)果;(15)控制模塊向自適應(yīng)碼率選擇模塊寫入網(wǎng)絡(luò)帶寬數(shù)據(jù);(16)控制模塊調(diào)用緩存管理模塊將視頻數(shù)據(jù)存入緩存;(17)播放器向控制模塊請求播放下一個(gè)視頻分片;(18)控制模塊調(diào)用緩存管理模塊取下一個(gè)視頻分片數(shù)據(jù);(19)緩存管理模塊向控制模塊返回取下一個(gè)視頻分片數(shù)據(jù)結(jié)果;(20)控制模塊向播放器返回下一個(gè)視頻分片數(shù)據(jù)。
自主學(xué)習(xí)已成為外語教學(xué)與研究的熱點(diǎn),校園無線WIFI基本實(shí)現(xiàn)全覆蓋,流媒體技術(shù)蓬勃發(fā)展,為移動(dòng)點(diǎn)播英語自主學(xué)習(xí)提供了基礎(chǔ)條件。本文遵循軟件工程的思想和方法,基于DASH標(biāo)準(zhǔn)展開研究,完成了網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)設(shè)計(jì)、系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)和播放交互過程等工作,為系統(tǒng)開發(fā)奠定了基礎(chǔ)?;诒疚脑O(shè)計(jì)開發(fā)的系統(tǒng),根據(jù)網(wǎng)絡(luò)帶寬和緩沖區(qū)大小進(jìn)行碼率切換,充分發(fā)揮了DASH的優(yōu)點(diǎn),支持更為廣泛的媒體分片格式,支持分片時(shí)間的動(dòng)態(tài)設(shè)置,提升了帶寬利用率的點(diǎn)播學(xué)習(xí)體驗(yàn),對學(xué)生的英語綜合水平和自主學(xué)習(xí)能力提升將發(fā)揮重要作用。本系統(tǒng)開發(fā)完成后,學(xué)生使用智能手機(jī)在校園網(wǎng)WiFi環(huán)境和家庭網(wǎng)絡(luò)WiFi環(huán)境分別進(jìn)行了測試,資源查詢速度快,視頻播放基本流暢,偶爾發(fā)生卡頓現(xiàn)象,是由于手機(jī)配置過底或垃圾文件占用內(nèi)存過大造成的。但是,由于網(wǎng)絡(luò)場景的復(fù)雜性和多樣性,本研究還存在泛化能力不足問題,這也為未來研究更強(qiáng)大的學(xué)習(xí)碼率自適應(yīng)算法指明了方向。