摘 要:隨著社會的發(fā)展,移動網(wǎng)絡(luò)技術(shù)逐漸普及開來,流媒體網(wǎng)絡(luò)視頻直播因其便捷性,正在占據(jù)生活的每個角落。流媒體的網(wǎng)絡(luò)視頻系統(tǒng)的出現(xiàn),讓身處不同地區(qū)的教師以及學(xué)生,可以借助移動終端平臺實現(xiàn)互動交流,共同討論需要解決的問題。在傳統(tǒng)意義上,流媒體只能是錄播視頻,單方講演,不能實時互動。但是網(wǎng)絡(luò)技術(shù)的普及,直播系統(tǒng)的建立,使得流媒體的網(wǎng)絡(luò)視頻互動變得觸手可及,筆者設(shè)計出一種基于流媒體的網(wǎng)絡(luò)直播系統(tǒng),打破傳統(tǒng)模式,供相關(guān)研究者作參考。
關(guān)鍵詞:流媒體;網(wǎng)絡(luò)視頻直播;系統(tǒng)設(shè)計
前言
新世紀(jì)以來,互聯(lián)網(wǎng)技術(shù)突飛猛進(jìn),移動終端設(shè)備走進(jìn)千家萬戶。新一代流媒體的出現(xiàn),很大程度上改變了人們的生活學(xué)習(xí)方式,傳統(tǒng)PC端正在逐漸向著移動端過渡,通過移動端流媒體進(jìn)行網(wǎng)絡(luò)視頻直播的需求日益劇增[1]。通過直播系統(tǒng),學(xué)習(xí)者可以與老師實現(xiàn)自由互動,增強學(xué)習(xí)效果,提高學(xué)習(xí)效率。筆者設(shè)計的直播系統(tǒng),借助云服務(wù)平臺,經(jīng)過一定的轉(zhuǎn)化之后送達(dá)到用戶的終端。
1基于流媒體的網(wǎng)絡(luò)視頻直播系統(tǒng)設(shè)計體系
1.1支撐技術(shù)簡介
(1)流媒體直播技術(shù)。與傳統(tǒng)的PC端多媒體相比較,流媒體使用便捷、適用性強。在日常教學(xué)、專題報告講座等主題活動中均可應(yīng)用。流媒體網(wǎng)絡(luò)視頻直播系統(tǒng)主要由幾個部分組成:數(shù)據(jù)收集、形成代碼、媒體推動、網(wǎng)絡(luò)分配、終端輸送等。
(2)流媒體直播云服務(wù)技術(shù)。云服務(wù)是網(wǎng)絡(luò)技術(shù)的快速發(fā)展的產(chǎn)物,一方面避免了較高的運行使用成本,同時安全性較高。當(dāng)下,云服務(wù)主要有基礎(chǔ)設(shè)施、平臺以及軟件這三項服務(wù),借助開發(fā)工具迅速搭建直播平臺。
1.2直播系統(tǒng)結(jié)構(gòu)
整個流媒體網(wǎng)絡(luò)視頻直播系統(tǒng)由四個子程序構(gòu)成,分別是基礎(chǔ)支撐層、服務(wù)層、應(yīng)用層以及展現(xiàn)層。四個層面之間相互關(guān)聯(lián),基礎(chǔ)層主要是確保系統(tǒng)運行環(huán)境的穩(wěn)定;服務(wù)層是直播功能實現(xiàn)的保障;應(yīng)用層則是使得目錄、音頻等對系統(tǒng)進(jìn)行轉(zhuǎn)化,數(shù)據(jù)傳輸;展示層則是將數(shù)據(jù)內(nèi)容轉(zhuǎn)化為視頻傳輸?shù)接脩艚K端平臺。
1.3系統(tǒng)運行架構(gòu)
直播模塊是流媒體網(wǎng)絡(luò)視頻直播系統(tǒng)中最核心的部分,直播方使用符合條件的終端啟動直播客戶端,經(jīng)過系統(tǒng)檢測合格之后,自動連接云服務(wù)平臺進(jìn)行推流[2]。推流成功之后,會對直播音頻視頻等進(jìn)行代碼轉(zhuǎn)換,傳輸?shù)接脩舳?,進(jìn)行播放,實現(xiàn)流媒體網(wǎng)絡(luò)視頻直播功能。
1.4優(yōu)化流媒體直播弱網(wǎng)問題
當(dāng)用戶移動終端在進(jìn)行網(wǎng)絡(luò)切換時,會占用一定的寬帶通道,從而接受不到高清視頻內(nèi)容。因此,在本系統(tǒng)中,針對網(wǎng)絡(luò)的波動,直播系統(tǒng)會自動調(diào)節(jié)視頻清晰度和畫面幀數(shù),以適應(yīng)當(dāng)前網(wǎng)絡(luò)。
2、基于流媒體的網(wǎng)絡(luò)視頻直播系統(tǒng)實現(xiàn)
2.1基于流媒體的網(wǎng)絡(luò)視頻直播系統(tǒng)直播采集
當(dāng)直播端向業(yè)務(wù)服務(wù)器發(fā)起用戶請求時,業(yè)務(wù)服務(wù)器會立即向SDK要求建立起直播流的請求,SDK收到請求時則會通過實時流的網(wǎng)絡(luò)將JSON返回給業(yè)務(wù)服務(wù)器,隨后將播放地址返回給直播端并在本地記錄好播放地址。直播調(diào)用代碼如下:
{
" credentials"∶ {
" accessKey"∶ " < Your AK > " / /用于驗證訪問是否合法
的密鑰
" secretKey"∶ " < Your SK > " / /匹配密鑰
} ,
" id"∶ " z1. Realaddress-1. class-99" / /用戶直播間ID
" createdAt"∶ " 2016-11-24T14: 23: 33. 474Z" / /創(chuàng)建新直
播間
" updatedAt"∶ " 2016-11-24T14: 23: 33. 474Z" / /直播間更新
時間
" title"∶ " class-99" ,/ /直播間名稱
" hub"∶ "Realaddress-1" ,
" publishKey"∶ " a32498a5f43a7237" ,
" publishSecurity"∶ " static" ,
" disabled"∶ false,
" profiles"∶ null,
" hosts"∶ {
" publish"∶ {
" rtmp"∶ " test-publish. Realaddress. cn" / /發(fā)布直播推流
地址
} ,
" live"∶ { / /直播中各種編碼格式對應(yīng)的推流地址
" hdl"∶ " test-live-hdl. Realaddress. cn" ,
" hls"∶ " test-live-hls. Realaddress. cn" ,
" http"∶ " test-live-hls. Realaddress. cn" ,
" rtmp"∶ " test-live-rtmp. Realaddress. cn" ,
" snapshot"∶ " test-live-snapshot. Realaddress. cn"
} ,
" playback"∶ { / /直播反饋地址
" hls"∶ "100029c. playback1. z1. test. qiniucdn. com" ,
" http"∶ "100029c. playback1. z1. test. qiniucdn. com"
} ,
" play"∶ { / /播放實時地址
" http"∶ " test-live-hls. Realaddress. cn" ,
" rtmp"∶ " test-live-rtmp. Realaddress. cn"
}
}
}
2.2基于流媒體的網(wǎng)絡(luò)視頻直播系統(tǒng)功能的實現(xiàn)
網(wǎng)絡(luò)視頻直播系統(tǒng)的主要功能是通過移動客戶端的APP實現(xiàn)的。該系統(tǒng)主要有九大功能:
(1)課程直播。老師可以通過移動客戶端進(jìn)行實時講課,并與學(xué)生進(jìn)行實時的課堂互動;
(2)課程瀏覽。學(xué)生可以在老師的直播列表中進(jìn)行選擇,也可以在直播界面發(fā)送文字消息進(jìn)行交流,或者通過連麥的方式,實時的進(jìn)行音視頻的互動交流;
(3)課程點播。視頻直播系統(tǒng)會對課程進(jìn)行實時同步的刻錄,并存儲到云服務(wù)的平臺,以便用戶隨時的回看課程內(nèi)容;
(4)課程筆記。系統(tǒng)會同步的保存課程中的學(xué)習(xí)筆記、課程要點以及視頻截圖等;
(5)課程交流。直播期間,學(xué)生老師之間可以添加為好友,課后可以通過系統(tǒng)內(nèi)置的交流功能進(jìn)行課程的交流與討論;
(6)設(shè)置用戶信息??梢赃M(jìn)行個人信息設(shè)置,例如修改頭像、修改登錄密碼、關(guān)注或取消課程的關(guān)注、綁定手機號等;
(7)系統(tǒng)設(shè)置。設(shè)置課程直播信息提示、直播課程的同步刻錄、清理緩存等;
(8)問題幫助模塊。對于系統(tǒng)中常見的問題,給出相應(yīng)的解決方法,也可以通過目錄檢索的方式快速查詢問題的解決方案;
(9)退出模塊。關(guān)閉進(jìn)程,清空數(shù)據(jù),退出系統(tǒng)程序。
2.3基于流媒體的網(wǎng)絡(luò)視頻直播系統(tǒng)播放端的實現(xiàn)
用戶在觀看直播時,需要從服務(wù)器上獲取所有房間的播放地址,然后在選定直播間時,播放端會自動匹配流媒體的編碼格式,從而播放直播視頻。業(yè)務(wù)服務(wù)器只需要對房間進(jìn)行創(chuàng)建和調(diào)度,從而保證直播的順利進(jìn)行。具體實現(xiàn)代碼如下:
{
" publish" " rtmp: / /test-publish. Realaddress. cn /Realaddress-1 /
class-1? key = 0ec27ba231c0a90c" ,
" play"∶ { / /播放端從業(yè)務(wù)服務(wù)器中獲取到的播放地址列表
" ORIGIN "∶ " rtmp: / /test-live-rtmp. Realaddress. cn /
Realaddress-1 /class-1"
} ,
" id"∶ " z1. Realaddress-1. class-1" / /獲取直播間ID
" title"∶ " class-1" / /直播間名稱
}
3、基于流媒體的網(wǎng)絡(luò)視頻直播系統(tǒng)測試
經(jīng)過初步系統(tǒng)設(shè)計完成之后,筆者設(shè)置了多種使用環(huán)境,對系統(tǒng)進(jìn)行了全面性測試,以期找出不足之處進(jìn)一步改進(jìn),主要對推流、轉(zhuǎn)碼等數(shù)據(jù)設(shè)計做了修正。
3.1視頻與音頻測試
授課教師或者網(wǎng)絡(luò)主播在打開直播系統(tǒng)客戶端之后,可以看到在直播界面上呈現(xiàn)直播畫面、講授內(nèi)容、直播間流量等。直播方可以控制文字發(fā)送功能,也能夠?qū)τ脩羲l(fā)表的言論進(jìn)行篩選,有選擇地接受[3]。當(dāng)直播方打開音頻,在麥克風(fēng)正常使用的情況下,可以實現(xiàn)與用戶的互動,此時,用戶的畫面則是小窗口的方式出現(xiàn)在屏幕一角,從而進(jìn)行交流,交流內(nèi)容可以被所有用戶查看與聆聽。
3.2弱網(wǎng)優(yōu)化功能測試
筆者借助ATC軟件程序,在WiFi以及3G、4G以及Gprs等多種網(wǎng)絡(luò)環(huán)境中進(jìn)行切換,測試流媒體網(wǎng)絡(luò)視頻直播系統(tǒng)的弱網(wǎng)優(yōu)化功能,通過視頻顯示軟件進(jìn)行查看,并記錄下視頻播放過程中的卡頓情況,多次測試下來,筆者發(fā)現(xiàn)該軟件流暢系數(shù)比當(dāng)前市場上常用直播軟件要高出6%左右。
4、結(jié)論
綜上所述,筆者設(shè)計的基于流媒體網(wǎng)絡(luò)視頻直播系統(tǒng)不僅使用方便,適用性強,而且成本不高,這主要得益于云服務(wù)平臺。本文從流媒體當(dāng)前的發(fā)展情況講起,接著介紹了系統(tǒng)的技術(shù)架構(gòu)、結(jié)構(gòu)體系、設(shè)計依據(jù)、實現(xiàn)方式等方面,并對它進(jìn)行了一系列改善測試。社會的快速發(fā)展,無疑給人們生活帶來了巨大的改變,提高了生活水平。流媒體網(wǎng)絡(luò)視頻直播系統(tǒng)的研發(fā),主要給教育領(lǐng)域帶來了新的方向與平臺,相關(guān)科研人員應(yīng)該對流媒體網(wǎng)絡(luò)視頻直播系統(tǒng)進(jìn)行不懈的研究與創(chuàng)新,最大化對當(dāng)前教育的變革創(chuàng)造條件,為各個地區(qū)建設(shè)智慧校園提供強有力的保障。
參考文獻(xiàn):
[1]黃明, 葉德建. 基于HTML5的加密直播系統(tǒng)設(shè)計與實現(xiàn)[J]. 微型電腦應(yīng)用, 2017(7):43-47.
[2]許雯. 基于HLS流媒體視頻直播的QoE分析模型設(shè)計與實現(xiàn)[J]. 西安航空學(xué)院學(xué)報, 2017, 35(3):66-68.
[3]孫恒. 基于多終端的移動流媒體直播系統(tǒng)設(shè)計與實現(xiàn)[J]. 實驗室研究與探索, 2018, 37(08):322-327.
作者簡介:付長鈞(1996-),男,滿,遼寧省開原市,本科,研究方向:網(wǎng)絡(luò).