国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

直播連麥技術(shù)的研究與實(shí)現(xiàn)

2020-07-18 16:07閆新惠
鋒繪 2020年4期
關(guān)鍵詞:實(shí)現(xiàn)研究

閆新惠

摘 要:隨著移動(dòng)互聯(lián)網(wǎng)的興起,直播作為一種新型的互聯(lián)網(wǎng)交流方式近年來迅速發(fā)展,在娛樂,電動(dòng)競(jìng)技,教育,安防等領(lǐng)域有著廣泛應(yīng)用。自媒體利用網(wǎng)絡(luò)直播技術(shù),更是對(duì)傳統(tǒng)媒體有著具體沖擊。本文深入分析網(wǎng)絡(luò)視頻直播中“連麥”技術(shù),并給出一些解決方案及其實(shí)現(xiàn)。

關(guān)鍵詞:直播連麥技術(shù);研究;實(shí)現(xiàn)

1 視頻直播和連麥簡(jiǎn)介

1.1 視頻直播

視頻直播分為主播和觀眾,可以有一個(gè)或幾個(gè)主播對(duì)應(yīng)多個(gè)觀眾。主播通過錄屏工具(一般為手機(jī)或個(gè)人電腦攝像頭),錄取聲音和視頻,然后及時(shí)的發(fā)送到觀眾的客戶端上,客戶端為手機(jī)或電腦。我們主要考慮移動(dòng)設(shè)備(手機(jī))上直播的實(shí)現(xiàn)方案。

(1)音視頻的清晰程度:例如音頻采樣率和視頻壓縮率,分辨率。手機(jī)上音頻采樣率要達(dá)到16000以上,視頻達(dá)到720P高清格式;音視頻數(shù)據(jù)量比較大,主播端需要編碼壓縮,一般使用h264編碼,對(duì)應(yīng)的客戶端則需要解碼操作。

(2)信息的實(shí)時(shí)性:主播端音視頻需要實(shí)時(shí)傳送到觀眾段,時(shí)延要低,這個(gè)主要靠網(wǎng)絡(luò)傳輸和服務(wù)器性能保證。

音視頻編碼和解碼技術(shù)上有硬件和軟件2種實(shí)現(xiàn)方案,硬件方案是利用手機(jī)上的特殊硬件來執(zhí)行編解碼,目前手機(jī)一般都有編解碼硬件,這種方式性能高且開發(fā)方便;軟件方案則是利用第三方的軟件編解碼庫,例如ffmpeg來實(shí)現(xiàn),其效率低下而且容易影響手機(jī)性能,引起卡頓,作為直播方案不太合適。

一旦編碼完成,主播端則需要利用網(wǎng)絡(luò)將數(shù)據(jù)幀發(fā)送到視頻服務(wù)器(主播推流),服務(wù)器將數(shù)據(jù)轉(zhuǎn)發(fā)給客戶端(觀眾拉流),客戶端解碼后顯示并播放聲音。

1.2 連麥簡(jiǎn)介

“連麥”是視頻直播中的一個(gè)比較有趣的擴(kuò)展功能,是指同時(shí)可以有多個(gè)觀眾加入到主播中,觀眾端同時(shí)也作為主播端,觀眾端不僅僅拉流,自己也同時(shí)推流。但最終展示的只有一路數(shù)據(jù)流,所以這多路數(shù)據(jù)流需要做一個(gè)“合并”操作,例如主流合并方法主播端是主畫面,但是在右下角開出幾個(gè)小窗口,每個(gè)小窗口對(duì)應(yīng)一個(gè)觀眾端流??梢钥吹剑m然連麥功能擴(kuò)展不多,對(duì)技術(shù)上改變卻很大,普通觀眾端增了推流功能,多路流的合并功能,這些需求在簡(jiǎn)單直播服務(wù)中是無法提供的,我們就連麥技術(shù)的實(shí)現(xiàn)做了一些分析,提出幾個(gè)解決方案實(shí)現(xiàn)。

2 連麥的技術(shù)實(shí)現(xiàn)

2.1 服務(wù)器多推流多拉流實(shí)現(xiàn)

服務(wù)器多推流多拉流方式對(duì)傳統(tǒng)方式做了擴(kuò)充,連麥用戶請(qǐng)求連麥并通過后,和主播用戶一樣,也推流到服務(wù)器,這樣服務(wù)器需要接受連麥用戶和主播2個(gè)推流,所有其它用戶需要接受這2個(gè)推流,并且在客戶端做解碼,然后將2路視頻流按需求定義混合。

這種實(shí)現(xiàn)方式適合多主播多用戶互動(dòng),系統(tǒng)復(fù)雜度與耦合性較低,便于擴(kuò)展。服務(wù)器端由于不需要混音、混屏,其壓力較低主要實(shí)現(xiàn)集中于服務(wù)器端,一個(gè)主播需要推送多個(gè)流,其帶寬占用比較大。對(duì)于觀眾端,連麥主觀眾和主播的媒體流時(shí)間上同步難度比較大,由于網(wǎng)絡(luò)原因,2路流不能做實(shí)時(shí)同步,這樣在觀眾端混合視頻的時(shí)候要考慮到其時(shí)間戳,如果相差太大則需要采用某些策略,例如丟棄某路流。

2.2 服務(wù)器多推流單拉流實(shí)現(xiàn)

服務(wù)器多推流單拉流實(shí)現(xiàn)方式和服務(wù)器多推流多拉流實(shí)現(xiàn)方式相類似,也是多個(gè)連麥用戶和主播同時(shí)向服務(wù)器推流,不同的是在服務(wù)器做混流操作,多路媒體流推送到服務(wù)器,服務(wù)器端完成多路音視頻的合并,觀眾端和傳統(tǒng)方式相比沒有變化,收到的只是一路流。這也是目前主流連麥技術(shù)采用的辦法,很多CDN服務(wù)商實(shí)現(xiàn)了此功能,對(duì)客戶端來說改變比較簡(jiǎn)單。此方式操作簡(jiǎn)單,但限制也比較多,難點(diǎn)部分放到服務(wù)器,服務(wù)器不僅僅要推拉流的網(wǎng)絡(luò)操作,還要實(shí)時(shí)對(duì)推流混碼合并,計(jì)算量很大,會(huì)有比較大的壓力。對(duì)于客戶端來說,雖然不做任何更改,但是也限制了其進(jìn)一步擴(kuò)展的能力,例如客戶端不能自行取消某連麥觀眾的音視頻。

2.3 P2P技術(shù)實(shí)現(xiàn)

P2P是peer to peer簡(jiǎn)稱,也就是點(diǎn)對(duì)點(diǎn)通信,指客戶端之間直接通信,不需要通過服務(wù)器中轉(zhuǎn)。在直播中特指音視頻數(shù)據(jù)流在客戶端直接交互,這和傳統(tǒng)的直播方式差別比較大。P2P技術(shù)具體通過端口轉(zhuǎn)發(fā)實(shí)現(xiàn),此功能需要網(wǎng)關(guān)支持。

實(shí)現(xiàn)步驟:連麥用戶向視頻服務(wù)器發(fā)送連麥請(qǐng)求,服務(wù)器通知主播,主播接受后,雙方通過服務(wù)器交換對(duì)方的網(wǎng)絡(luò)信息(公網(wǎng)IP地址,端口號(hào)),雙方以P2P方式嘗試直接聯(lián)接對(duì)方的公網(wǎng)IP地扯(如果失敗還需通過服務(wù)器轉(zhuǎn)發(fā),保證直播能完成,但此時(shí)已屬于P2P范圍),然后主播和連麥用戶將自己編碼后的流以UDP發(fā)送所有其它用戶,同時(shí)所有用戶接受到其它用戶流媒體后解碼渲染到界面。

“點(diǎn)對(duì)點(diǎn)”的特點(diǎn),除了在信令交互(連麥申請(qǐng)/接受)階段需要視頻服務(wù)器介入,連接一旦建立,就不需要服務(wù)器了。但是也顯然增加了各個(gè)客戶端的負(fù)擔(dān),假設(shè)主播1人,連麥者2人,觀眾3人,主播端和連麥端都需要接受2輸入流,同時(shí)輸出5路流。對(duì)于手機(jī)而言,這是一個(gè)不小的負(fù)擔(dān)。所以P2P方式只能適合人數(shù)比較少的直播。另外由于媒體流協(xié)議采用rtp/自定義的UDP協(xié)議,開發(fā)難度也比較大,但是其時(shí)延和服務(wù)器壓力是最小的。

3 結(jié)束語

本文探討了直播的連麥技術(shù),介紹了幾種連麥功能的實(shí)現(xiàn)方案,這些方案各有利弊,具體操作時(shí)需要結(jié)合其它客觀條件因地制宜的實(shí)施。

參考文獻(xiàn)

[1]張春元,文梅.流計(jì)算和視頻編碼[M].科學(xué)出版社,2012.

[2]哈渭濤.流媒體中關(guān)鍵技術(shù)研究[M].科學(xué)出版社,2019.

[3]蔡康.P2P對(duì)等網(wǎng)絡(luò)原理與應(yīng)用[M].科學(xué)出版社,2011

猜你喜歡
實(shí)現(xiàn)研究
FMS與YBT相關(guān)性的實(shí)證研究
2020年國內(nèi)翻譯研究述評(píng)
遼代千人邑研究述論
視錯(cuò)覺在平面設(shè)計(jì)中的應(yīng)用與研究
EMA伺服控制系統(tǒng)研究
新版C-NCAP側(cè)面碰撞假人損傷研究
信息系統(tǒng)安全評(píng)價(jià)系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)
高校聲像檔案數(shù)字化管理的實(shí)現(xiàn)路徑
辦公室人員尚需制定個(gè)人發(fā)展規(guī)劃
蘇州信息學(xué)院教務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
乌拉特前旗| 光山县| 林周县| 阜阳市| 长垣县| 濮阳县| 文成县| 张掖市| 云安县| 绥芬河市| 桑日县| 寿光市| 繁峙县| 平顶山市| 濉溪县| 诏安县| 湛江市| 彭阳县| 镇赉县| 灵川县| 南阳市| 昌乐县| 济南市| 资中县| 内江市| 潮安县| 华安县| 盖州市| 饶河县| 阳高县| 宝坻区| 喀喇| 桂东县| 介休市| 巴楚县| 老河口市| 南开区| 安溪县| 炉霍县| 简阳市| 汽车|