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