九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
深度詳解視頻直播CDN技術(shù)

21CTO社區(qū)摘要:網(wǎng)絡(luò)直播平臺現(xiàn)下已經(jīng)十分火熱,很多常見的直播平臺都采用了阿里云直播CDN來搭建自身業(yè)務(wù)。今天,我們邀請阿里云CDN團(tuán)隊(duì)技術(shù)專家闕寒,來介紹下視頻的一些基礎(chǔ)知識和視頻直播的架構(gòu)。

在進(jìn)入正題之前,我們先來了解視頻直播相關(guān)的名詞含義是什么?

一起掃個盲

通常我們所說的視頻,是指連續(xù)的圖象變化每秒超過24幀(Frame)畫面以上時,根據(jù)視覺暫留原理,人眼無法辨別單幅的靜態(tài)畫面,看上去是平滑連續(xù)的視覺效果,這樣連續(xù)的畫面叫做視頻。

而媒體轉(zhuǎn)碼是指將一段多媒體包括音頻、視頻或者其他的內(nèi)容從一種編碼格式轉(zhuǎn)換成為另外一種編碼格式。

其中內(nèi)容分發(fā)網(wǎng)絡(luò)就是大家常說的CDN,這里主要包含流媒體服務(wù)器,負(fù)載均衡,路由重定向,視頻轉(zhuǎn)碼,視頻錄制存儲,防盜鏈,性能等相關(guān)技術(shù)內(nèi)容。

下面這幾個詞我們也經(jīng)常遇到

碼率是數(shù)據(jù)傳輸時單位時間傳送的數(shù)據(jù)位數(shù),一般我們用的單位是kbps即千位每秒。 通俗一點(diǎn)的理解就是取樣率, 單位時間內(nèi)取樣率越大,精度就越高,處理出來的文件就越接近原始文件,但是文件體積與取樣率是成正比的,所以幾乎所有的編碼格式重視的都是如何用最低的碼率達(dá)到最少的失真。但是因?yàn)榫幋a算法不一樣,所以也不能用碼率來統(tǒng)一衡量音質(zhì)或者畫質(zhì)。

另一個常見的詞是幀,它是一段數(shù)據(jù)的組合,它是數(shù)據(jù)傳輸?shù)幕締挝?。就是影像動畫中最小單位的單幅影像畫面,相?dāng)于電影膠片上的每一格鏡頭。一幀就是一副靜止的畫面,連續(xù)的幀就形成動畫,如電視圖像等。

與之相對應(yīng)的幀率,即每秒顯示幀數(shù),幀率表示圖形處理器處理場時每秒鐘能夠更新的次數(shù)。高的幀率可以得到更流暢、更逼真的動畫。一般來說30fps就是可以接受的,但是將性能提升至60fps則可以明顯提升交互感和逼真感,但是一般來說超過75fps一般就不容易察覺到有明顯的流暢度提升了。如果幀率超過屏幕刷新率只會浪費(fèi)圖形處理的能力,因?yàn)楸O(jiān)視器不能以這么快的速度更新,這樣超過新率的幀率就浪費(fèi)掉了。

這里闕寒想帶我們再展開聊一下視頻幀

音頻幀一般可以獨(dú)立解碼,可以直播播放。

而視頻分為視頻關(guān)鍵幀和非關(guān)鍵幀,關(guān)鍵幀可以獨(dú)立解碼渲染,播放器拿到后可以直接看到畫面,一般10K以上甚至幾十K;其他非關(guān)鍵幀解碼依賴于前面的一些視頻幀,播放器會根據(jù)前面的幀和這一幀來解碼產(chǎn)生畫面,非關(guān)鍵幀一般大小是幾K甚至不到1K。對于播放器來說,服務(wù)器一般會從視頻關(guān)鍵幀開始發(fā)送,這樣才不會產(chǎn)生花屏。

對于節(jié)點(diǎn)上直播服務(wù)器存儲的內(nèi)容,如果是文件加速,節(jié)點(diǎn)上存儲的內(nèi)容很明確,就是文件數(shù)據(jù), URL不變的話文件數(shù)據(jù)內(nèi)容也不變。但是對于直播來講,傳輸?shù)木褪菐瑪?shù)據(jù),緩存的也是不斷變化的幀序列數(shù)據(jù)。

下面的圖里我們可以看到,當(dāng)前的服務(wù)器緩存了V1-V3五幀數(shù)據(jù),當(dāng)V4這個關(guān)鍵幀出現(xiàn)了,服務(wù)器把之前的丟掉,開始緩存V4開始的音視頻數(shù)據(jù),以這個策略保證過來的播放端都是當(dāng)前最新的數(shù)據(jù)。一般直播服務(wù)器都是用這個策略來進(jìn)行服務(wù)器緩存的。

下面進(jìn)入正題,常見的CDN加速包括文件加速、點(diǎn)播、直播三種業(yè)務(wù)。最開始阿里云CDN是從文件加速開始,針對的主要是內(nèi)部客戶,像淘寶,它的圖片非常多,那時候支持的都是小文件加速。后來隨著各BU的端產(chǎn)品衍生,逐漸會支持大的文件下載業(yè)務(wù);等阿里云CDN正式作為產(chǎn)品上線商業(yè)化時候,開始支持點(diǎn)播業(yè)務(wù)。2015年下半年,開始支持直播業(yè)務(wù)。今天闕寒主要從直播概述、直播架構(gòu)、業(yè)務(wù)功能和場景來介紹下阿里云CDN直播系統(tǒng)。

直播概述

通常,視頻直播常見兩種形式是手機(jī)直播和游戲直播,手淘、陌陌、映客的典型的手機(jī)直播平臺,游戲直播就是像斗魚、全民TV等平臺。其實(shí)對于播放端來講,直播和點(diǎn)播都是向服務(wù)器獲取視頻數(shù)據(jù),播放端對聲音和畫面進(jìn)行播放的過程。從這個角度來講,直播和點(diǎn)播區(qū)別并不大。

那直播和點(diǎn)播究竟區(qū)別在哪里?

對于視頻點(diǎn)播,你在看的時候,你可以隨時選擇快進(jìn)和回退。直播卻不能。

對于視頻網(wǎng)站上的視頻文件來講,點(diǎn)播可以選擇今天看或明天看,但是直播卻不能選擇時間,像每周末的聯(lián)賽只在固定的時間播放。一些機(jī)頂盒提供回看的功能,也是點(diǎn)播。

所以回歸正題,簡而言之,直播就是每一幀數(shù)據(jù)打上時序標(biāo)簽后進(jìn)行流式傳輸?shù)倪^程。發(fā)送端源源不斷的采集音視頻數(shù)據(jù),經(jīng)過編碼、封包、推流、再經(jīng)過分發(fā)網(wǎng)絡(luò)進(jìn)行擴(kuò)散傳播,播放端再源源不斷地下載數(shù)據(jù)并按時序進(jìn)行解碼播放。如此就產(chǎn)生了邊生產(chǎn)、邊傳輸、邊消費(fèi)的直播過程。

我們將視頻直播整個流程主要分為幾個關(guān)鍵階段:視頻采集、前處理、編碼、推流、轉(zhuǎn)碼、分發(fā)、播放,下圖為簡化版直播系統(tǒng)的基本架構(gòu),后面我們再詳細(xì)展開。

1. 采集,是視頻直播開始的第一個環(huán)節(jié),用戶可以通過不同的終端采集視頻,也就是主播直播的過程。iOS端適配性較好,采集起來比較簡單。Android端因?yàn)橐恢币詠硎忻鏅C(jī)型多版本復(fù)雜種種情況,加大了一個庫適配所有硬件的難度,采集起來相對比較困難。PC端則和攝像頭驅(qū)動聯(lián)系緊密,目前市面上最好的PC端源免費(fèi)軟件是OBS。

2. 前處理,業(yè)內(nèi)有一種說法,80%的主播沒有美顏根本沒法看。所以美顏已經(jīng)是對視頻源進(jìn)行前處理的標(biāo)配功能,除此之外還有水印、模糊特效等,針對不同的手機(jī)系統(tǒng)提供不同的處理庫。

3. 編碼,編碼時候我們需要處理的硬件兼容性問題和尋求碼率和畫質(zhì)之前的平衡是最大的兩個問題。iOS系統(tǒng)硬件兼容性比較好,可以采用硬編,Android系統(tǒng)則還是因?yàn)橛布C(jī)型問題,大多采用軟編。

4. 推流與轉(zhuǎn)碼,在數(shù)據(jù)傳輸?shù)恼麄€過程中從主播端到服務(wù)器端,再到邊緣節(jié)點(diǎn),以及從邊緣節(jié)點(diǎn)到播放端。為了讓采集端的流適配各個平臺端不同協(xié)議,一般都會在服務(wù)端進(jìn)行轉(zhuǎn)碼處理,將視頻文件轉(zhuǎn)成不同格式,支持 RTMP、HLS和FLV等不同的協(xié)議。

5. 分發(fā),隨著移動直播興起和游戲直播的持續(xù)火熱,網(wǎng)絡(luò)直播平臺支持億高并發(fā)是理論上應(yīng)該做到的,為了優(yōu)化終端觀看直播的體驗(yàn),一般都會采用CDN進(jìn)行內(nèi)容分發(fā)加速,實(shí)現(xiàn)高并發(fā)等能力。

6. 客戶端播放,也就是解碼和渲染,目前 iOS 端的播放兼容性較好,Android 的硬件解碼和編碼一樣也存在兼容性問題。通常秒開、低延時等問題是需要在播放端來克服的。

直播架構(gòu)

這是一張阿里云直播全景解決方案的圖,這里包括詳細(xì)的推流端推流,直播中心的流存儲,轉(zhuǎn)碼截圖錄制等視頻處理,CDN智能調(diào)度與分發(fā),最后到播放端播放整個過程。

  • 對于推流端推流,目前主要使用的是RTMP協(xié)議,播放可以使用RTMP、HTTP FLV和HLS協(xié)議,常用的推流端是OBS、手機(jī)APP、FFmpeg;播放端包括Flash、VLC、HTML5、手機(jī)APP等形式;

  • 視頻直播中心擁有穩(wěn)定的推流上行鏈路,支持連麥、IM、直播間管理等分豐富的直播服務(wù)端實(shí)現(xiàn)流能力;

  • CDN直播分發(fā)提供流暢的播放下行鏈路,700多個國內(nèi)節(jié)點(diǎn)和300多個海外節(jié)點(diǎn),還有豐富的小運(yùn)營商節(jié)點(diǎn)。

  • 對于播放端,我們做了首屏秒開優(yōu)化和弱網(wǎng)跳幀播放,確保用戶體驗(yàn)。

對于視頻直播服務(wù)器的一個進(jìn)程上來講,我們可以認(rèn)為一個推流端和多個播放端是一種非常典型的發(fā)布和訂閱的關(guān)系。

從下圖可以看到,主播完成發(fā)布動作,這條直播內(nèi)容也就是這一路流推動到服務(wù)器,三個觀眾也就是訂閱者,從服務(wù)器拉流,也就是用播放動作來完成推流。這種進(jìn)程內(nèi)部、節(jié)點(diǎn)之間的發(fā)布、訂閱關(guān)系是一種級聯(lián)的關(guān)系,CDN的直播分發(fā)就是依靠這種模式構(gòu)建。

那下面我們從CDN分發(fā)的角度來基礎(chǔ)架構(gòu)是怎樣的。內(nèi)容通過存儲集群到達(dá)發(fā)布集群,再通過骨干中轉(zhuǎn)環(huán)境的L2,利用CDN智能調(diào)度到達(dá)L1,也就是距離用戶最近的節(jié)點(diǎn),從順利的推送給用戶。

業(yè)務(wù)功能及場景

說完了架構(gòu),闕寒帶我們來了解業(yè)務(wù)功能和阿里云CDN的應(yīng)用場景。對于直播來講,轉(zhuǎn)碼這個業(yè)務(wù)功能很重要。轉(zhuǎn)碼后會在原始流名上加后綴,下圖是轉(zhuǎn)碼前后的畫質(zhì)、碼率的區(qū)別。和轉(zhuǎn)碼相關(guān)的有水印、動態(tài)模板、延遲轉(zhuǎn)碼等功能。

截圖也是比較重要的業(yè)務(wù),比如說直播平臺頁面分類下有很多張圖片,刷新后圖片會變化,都是靠周期性截圖來完成。除此之外,阿里云也開放對直播進(jìn)行動態(tài)配置、錄制、開播斷流回調(diào)、推流播放鑒權(quán)、斷流、黑名單、禁播、各種接口API、轉(zhuǎn)推其他廠商、觸發(fā)式拉流、連麥、播放純音頻/視頻等。

另外比較重要的是直播數(shù)據(jù)的監(jiān)控,對客戶和我們來說,能時刻關(guān)注直播情況,掌握直播數(shù)據(jù),對于防范問題來說是十分必要的。視頻監(jiān)控是用來記錄一路流重要信息,比如常見的視頻碼率、播放流量和在線人數(shù)、視頻幀率監(jiān)控。視頻的特性是每秒鐘幀率比較固定,視頻幀大概是20~30幀/秒, 造成卡頓的主要原因一般是網(wǎng)絡(luò)鏈路的抖動,有了全鏈路秒級幀率監(jiān)控圖之后, 排查問題變得非常的方便, 針對一路流卡頓以及客戶提出的各種問題可以很快的就明確原因。

正常的監(jiān)控圖應(yīng)該是一條直線,上圖的幀率出現(xiàn)的突刺,就是因?yàn)楣W(wǎng)網(wǎng)絡(luò)連接抖動后統(tǒng)計(jì)出來的數(shù)據(jù)降低。對于一路流多個播放端來講,服務(wù)器會不斷把幀數(shù)據(jù)寫給播放端,一旦網(wǎng)絡(luò)抖動,遇到寫不出去的情況會將這一幀放到連接的等待隊(duì)列里,超出了幀隊(duì)列的長度限制,服務(wù)器會選擇丟幀。一般這種情況產(chǎn)生是因?yàn)榫W(wǎng)絡(luò)抖動的比較嚴(yán)重,我們也會以此為依據(jù)來確定網(wǎng)絡(luò)全鏈路的質(zhì)量,用紅綠顏色來標(biāo)注區(qū)分正常和非正常的鏈路質(zhì)量。

那以上的架構(gòu)和業(yè)務(wù)功能都可以應(yīng)用于哪些場景呢?我們也對阿里云視頻直播CDN服務(wù)的客戶場景進(jìn)行了歸類匯總,主要有以下五個方向:

1. UGC互動直播:不僅提供推流到播放的全套直播解決方案,而且集成成熟的互動解決方案,包括IM,連麥等功能。例如:一直播、映客等直播互動平臺。

2. 電商直播:為電商直播提供全套直播解決方案,支持動態(tài)擴(kuò)展的直播技術(shù)架構(gòu),無需擔(dān)心直播促銷涌入的峰值流量擔(dān)憂。例如:手淘等電商直播平臺。

3. 體育賽事/大型綜藝節(jié)目直播:為熱門的賽事和綜藝直播提供動態(tài)擴(kuò)展的直播服務(wù),通過CDN和PCDN的分發(fā),用戶無需為突然涌入的流量擔(dān)憂。例如:CCTV5,等電視直播平臺。

4. 游戲直播:對游戲直播提供各種采集設(shè)備的接入,以及直播的錄制功能,便于游戲直播平臺提供點(diǎn)播服務(wù)。例如:全民,熊貓,等游戲直播平臺。

5. 在線教育/財(cái)經(jīng)直播:提供直播鑒權(quán)、直播防盜鏈、URL加密等功能,為教育、財(cái)經(jīng)類的直播提供安全保障。例如:第一財(cái)經(jīng)等財(cái)經(jīng)平臺和知圖教育等教育類直播平臺。

以上就是阿里云直播CDN相關(guān)的內(nèi)容,目前,超過一半的視頻直播、點(diǎn)播平臺都在使用阿里云的直播服務(wù),我們會通過不斷豐富和升級視頻服務(wù)能力,打造圍繞視頻領(lǐng)域的技術(shù)生態(tài)。

作者:闕寒    來源:阿里云棲社區(qū)

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
直播軟件搭建,視頻秒開已經(jīng)是過去時代的問題了
直播的需要的流程
產(chǎn)品經(jīng)理,你要了解一些音視頻技術(shù) | 人人都是產(chǎn)品經(jīng)理
自己開發(fā)搭建直播系統(tǒng)源碼,推流分發(fā)怎么做?
直播平臺源碼流暢度的優(yōu)勢
視頻直播“秒開”是如何實(shí)現(xiàn)的?
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服