直播業務概述
大家所熟知的直播平臺虎牙、斗魚、快手、抖音、B站,直播功能看似普遍,但從零到一開發卻不簡單,直播中運用到的技術難點非常之多,音頻視頻處理/編解碼,前后處理,直播分發,即時通訊等技術,學好任何一項都需要比較高的成本,將它們融合到直播功能上更是難上加難,
由于公司新專案計劃做直播產品,開發周期比較緊,經過調研:最快搭建一個直播功能的方案就是運用第三方直播SDK,低成本、效率高、風險低,本文將整理介紹幾款主流的直播SDK,便于音視頻直播的開發者清晰快速選擇適合專案的SDK,開發者最重要的是:學會站在巨人的肩膀上編程,效率更高,
以下所有資訊都是從官網檔案收集人工整理匯總而成,有部分資訊不確定或未提及若存在偏差,歡迎大家隨時指正便于修改,希望能幫助到大家選擇產品和服務快速搭建線上直播間,
直播產品介紹
2.1直播產品
直播產品定義:一個通用的直播模型一般包括三個模塊:主播方、服務器端和播放端,
2.2直播型別
業務視角分類:一般分為單主播直播、多主播直播,主要區別在推流端的數量,單主播直播的特點是只有一個推流端(主播),多個拉流端(觀眾),多主播直播的特點是有多個主播(推流端),和多個觀眾(拉流端),
- 單主播直播:最早的直播場景,只有一個主播推流,觀眾不能與主播連麥互動,只能看主播直播,比如單主播的秀場直播、職業培訓這類場景,
- 多主播直播:指主播之間進行互動連麥(多人連麥直播場景),主播與主播之間進行互動PK(PK直播場景)的一種直播型別,技術實作是在實時音視頻的基礎上,將實時音視頻某個房間中的畫面經云端混流后(多主播直播模式為了保證畫面同步性一般采用混流服務),通過旁路直播的方式直播出來,
- 連麥的主播使用的都是RTC服務所以延遲較低300ms左右,因觀眾不要求完全的實時同步,一般使用的是CDN的分發網路,延遲在3s左右,
直播根據延遲角度分類:分為CDN直播和超低延遲直播,CDN直播延遲通常延遲3s以上,超低延遲直播通常延遲小于1s,
- CDN直播:傳統的CDN直播方式,滿足高并發的基礎直播、對直播內容同步性無強要求的場景,可實作觀眾文字互動體驗,通常適合單主播多個觀眾的直播間,
- 超低延遲直播:與單向直播相比,強調多人連麥、畫面特效等直播能力,給予觀眾“露臉發聲”與主播互動的能力,因為對實時性要求更高,
2.3 實時音視頻、旁路轉推、直播分發、低延遲直播、CDN直播的區別和關系?

- 實時音視頻(Real-Time Communication, RTC):(關鍵詞:雙人/多人通話,UDP私有協議,低延時)主要應用場景是音視頻通話和連麥直播,使用基于UDP的私有協議,其延遲可低于100ms,典型的場景:QQ電話、微信電話,即構實時音視頻RTC覆寫各平臺,除了iOS/Android/Windows之后,還支持小程式以及 WebRTC 互通,并且支持通過云端混流的方式將畫面旁路直播出去,當業務對延遲敏感,通話場景要求比較高,或是需要小程式或者 H5 場景下的雙人或多人音視頻通話可以選擇ZEGO實時音視頻,
- 旁路轉推:旁路直播是一種技術,指的是將低延時連麥房間里的多路推流畫面復制出來,在云端將畫面混合成一路,并將混流后的畫面推流給直播 CDN 進行分發播放,因為混流后的視頻資料流和主/副播通話房間實際上并不是同一路流,而是在另外平行的一路,因而稱為旁路,即不在主路,云端錄制時,錄制的流也是通過旁路的方式從流媒體中心引出,存到COS中,
- 直播分發:(關鍵詞:一對多,RTMP/HLS/HTTP-FLV,CDN)是一種非常典型的流媒體系統,通常會分為推流端、拉流端(或叫播放端)以及直播流媒體中心(直播源站),直播源站通常會使用CDN進行直播的分發,因此大部分情況下使用的是通用標準的協議RTMP,經CDN分發后,播放時一般可以選擇RTMP、HTTP-FLV或HLS(H5支持)等方式,
- 超低延遲直播:延時低至600ms,提供千萬級并發的高質量直播服務,同步性更強,弱網抗性更優,
- CDN直播:延時為 3s 左右,提供低成本、大規模穩定、端上能力豐富的直播服務,
2.3.1 直播產品和直播技術
| 直播所需產品 | 實時音視頻產品 | 直播分發產品 | ||
|---|---|---|---|---|
| 產品定義 | 低至200ms的端到端平均時延,提供便捷接入、高可靠、多平臺互通的音視頻服務,可完美的支持一對多、多對多的實時音視頻通話、直播、會議等場景, | 直播分發,按照延遲時間的長短對應有不同的產品, 由于不同場景對互動和延遲的要求不同,按照延時程度,廠商一般會提供對應的直播分發產品,這里以ZEGO為例,分為超低延遲直播、CDN直播兩大類來說明, |
||
| 直播技術 | 實時音視頻 | 旁路轉推 | 超低延遲直播 | CDN直播 |
| 典型場景 | 觀眾與主播之間需要頻繁音視頻互動,比如小班課,在線會議等場景, | 觀眾之間需要強同步,主播需要即時回應觀眾的文字、彈幕或者打賞資訊,比如直播大班課,一起看電影等場景, | 觀眾不需要與主播音頻互動,觀眾之間的直播內容同步性無強要求,比如游戲直播,直播秀場, | |
| 延時情況 | 觀眾與主播連麥的內容延遲小于 400 ms, | 觀眾和主播之間的內容延遲范圍在 600 ms ~ 1000 ms, | 觀眾和主播之間的內容延遲大于 3000 ms, | |
| 同步性 | 觀眾之間的同步性強, | 觀眾之間的同步性良好, | 觀眾之間的同步性差, | |
| 互動體驗 | 優, | 良, | 差, | |
| 價格 | 較高, | 適中, | 較低, |
第三方直播產品核心功能對比
為了便于大家更好的進行直播產品的選型,筆者將各大廠商官網的核心功能進行整理匯總,并表格形式橫向對比呈現,因各家檔案較多筆者人工查詢整理,難免有有出入歡迎大家不吝賜教指正,有出入處以各家官網檔案為準,
| 騰訊云-云直播 | 即構 -****暢直播 | 阿里云-視頻直播 | 網宿-云直播 | 聲網-融合CDN直播 | |
|---|---|---|---|---|---|
| 客戶案例 | bilibili,快手、now直播、斗魚 | 映客直播、花椒直播、咪咕直播 | 淘寶、釘釘、Lazada、阿里巴巴 | 虎牙直播、河南廣播電視臺、希沃 | bilibili、斗魚、陌陌、花椒直播 |
| 產品形態 | CDN | 根據不同時延要求,分為CDN、CDN Plus、超低延遲直播 | CDN | CDN | 融合CDN,可以認為是CDN |
| 主要場景 | ?CDN直播 | ?CDN直播質量無法保證的場景 ?質量優先的直播用戶 |
?CDN直播 | ?CDN直播 | ?單個CDN直播無法保證質量的場景 |
| 核心優勢 | ?節點豐富 ?價格較低 ?可以基于CDN提供轉碼、錄制等增值服務 |
1、提供基于不同場景需求的多檔位方案 2、節點豐富,基于全球網路調度MSDN策略、流控策略等,抗弱網能力更強,保證直播流暢率和穩定性 3、有播放器的實時播放資料,云上的調度策略更加準確 4、可以進行端上的調度策略 5、提供端上處理能力,包括3A,前處理等 6、可以基于CDN提供轉碼、錄制等增值服務 7、質量監控更加全面 |
?節點豐富 ?價格較低 ?可以基于CDN提供轉碼、錄制等增值服務 |
?節點豐富 ?價格較低 ?可以基于CDN提供轉碼、錄制等增值服務 |
?基本等同于CDN的價格 ?有播放器的實時播放資料,云上的調度策略更加準確 ?可以進行端上的調度策略 ?SDK端上的各種能力 ?質量監控更加全面 |
| 支持的連麥人數 | 最多支持50人同時連麥 | 業內首創連麥技術,最多支持10000人同時連麥 | 最多支持16人直播連麥 | 支持60人同時語音、視頻連麥互動 | 最多支持128人同時互動 |
| 劣勢 | 受限于CDN本身的能力,在流暢率、穩定性、實時性上表現不佳 | 要做CDN、L3的目前有一些限制(播放器等),不如CDN有通用型 | 受限于CDN本身的能力,在流暢率、穩定性、實時性上表現不佳 | 受限于CDN本身的能力,在流暢率、穩定性、實時性上表現不佳 | 受限于CDN廠商本身的限制,很難進行進一步質量提升 |
| 推流協議支持 | ?RTMP ?TCP/QUIC/SRT |
?私有協議/RTMP ?TCP/QUIC |
?RTMP ?TCP/QUIC/SRT |
?RTMP ?TCP/QUIC/SRT |
?私有協議/RTMP ?TCP/QUIC/SRT |
| 拉流協議支持 | ?RTMP/HTTP-FLV/HTTP-HLS ?TCP/QUIC |
?私有協議/RTMP/HTTP-FLV/HTTP-HLS ?TCP/QUIC |
?RTMP/HTTP-FLV/HTTP-HLS ?TCP/QUIC |
?RTMP/HTTP-FLV/HTTP-HLS ?TCP/QUIC |
?RTMP/HTTP-FLV/HTTP-HLS ?TCP/QUIC |
| 調度模式 | 云上的調度策略 | ?云上調度策略 ?端上的調度策略 跨CDN廠商切換 ?跨IP切換 ?Quic→TCP切換 ?提供基于不同場景需求的多檔位方案,支持無縫切換 |
云上的調度策略 | 云上的調度策略 | ?云上調度策略 ?端上的調度策略 ?跨CDN廠商切換 ?跨IP切換 ?httpDNS→DNS ?Quic→TCP |

騰訊、阿里的視頻直播 是最常見的CDN直播,基于 RTMP等TCP協議實作,延遲一般在3-10S左右,抗弱網能力較差,卡頓率較高,
聲網的融合CDN直播融合了多家CDN,與聲網媒體服務進行了協同,針對CDN的卡頓率問題進行了優化,但仍受限于CDN本身的能力,
即構的暢直播提供了多種直播檔位,其中的超低延遲直播基于即構自研UDP傳輸協議實作,使用了海量資料分發網路(MSDN 網路),可以認為復用了RTC的部分優勢,因此延遲低至600ms、弱網抗性超強、卡頓率極低,
其他標配功能對比
除直播的核心推拉流功能之外,直播產品快速迭代了許多功能滿足多場景需求,基本廠商們都支持,詳見以下表格,
| 產品功能 | 騰訊云 | 阿里云 | 即構 | 網易云信 | 聲網 | 七牛云 | 金山云 |
|---|---|---|---|---|---|---|---|
| 推流地址自定義 | 支持 | N/A | 支持 | 支持 | 支持 | 支持 | 支持 |
| 視頻軟編碼 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 視頻硬編碼 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 美顏 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 第三方美顏介面 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 水印 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 截圖 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 多視頻解析度支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 橫豎屏推流 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 動態橫豎屏切換 | 支持 | N/A | 支持 | 支持 | 支持 | 支持 | 支持 |
| 連麥 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 畫中畫 | 支持 | N/A | 支持 | 支持 | 支持 | 支持 | 支持 |
| 對焦/變焦 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 鏡像 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 閃光燈 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 耳返 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 藍牙耳機 | 支持 | N/A | 支持 | 支持 | 支持 | 支持 | 支持 |
| 混音 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 混響 | 支持 | N/A | 支持 | 支持 | 支持 | 支持 | 支持 |
| 純音頻推流 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 后臺音頻推流 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 錄屏 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 短視頻錄制 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 動態幀率 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 變聲 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 升降調 | 支持 | N/A | 支持 | 支持 | 支持 | 支持 | 支持 |
| 立體聲推流 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 懸浮窗 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 降噪 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 手機攝像頭/麥克風采集 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 手機螢屏采集 | 支持 | 支持 | 支持 | 支持 | N/A | 支持 | 支持 |
| 自定義采集(外部采集) | 支持 | N/A | 支持 | 支持 | 支持 | 支持 | 支持 |
| 推流碼率自適應 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | N/A |
| 填充/旋轉模式 | 支持 | N/A | 支持 | 支持 | N/A | 支持 | 支持 |
| SEI訊息接收 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | N/A |
| 推流錄制 | 支持 | 支持 | 支持 | N/A | 支持 | 支持 | 支持 |
| 背景音樂播放 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 音樂與人聲混音 | 支持 | 支持 | 支持 | N/A | N/A | N/A | N/A |
| H.265硬解 | 支持 | 支持 | 支持 | N/A | N/A | 支持 | 支持 |
| 超分 | N/A | N/A | 支持 | N/A | 支持 | N/A | 支持 |
| 音量均衡 | N/A | 支持 | 支持 | N/A | N/A | 支持 | 支持 |
| 秒開優化 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | N/A |
| 自動增益補充(AGC) | N/A | N/A | 支持 | N/A | 支持 | 支持 | N/A |
| 回聲消除(AEC) | N/A | N/A | 支持 | N/A | N/A | 支持 | N/A |
| 自定義視頻渲染 | N/A | 支持 | 支持 | N/A | 支持 | 支持 | 支持 |
| 音視頻流加密 | N/A | 支持 | 支持 | 支持 | 支持 | 支持 | N/A |
網路直播作為新興的傳播形式能量巨大,技術進步也改變了視頻直播平臺、主播和觀眾之間的互動方式,近些年,隨著網路直播的市場規模不斷增長,同時也衍生了許多新的業務場景和互動玩法,直播產品的激烈競爭倒逼廠商開啟了自研技術之路,提升直播平臺用戶體驗,筆者關注到一些新興功能,進一步提升了對直播產品形態的演進和用戶體驗,以下為相關功能的橫向對比,
| 產品功能 | 即構 | 聲網 | 火山引擎 |
|---|---|---|---|
| 場景化AI降噪 | 非音樂場景:人聲保真效果較好,降噪效果較好 音樂場景:支持99%以上的音樂場景識別并應用對應的降噪策略 |
非音樂場景:降噪效果最好,但是人聲保真效果差 音樂場景:沒有 |
非音樂場景:人聲保真效果較好,降噪效果最差 音樂場景:沒有 |
| 萬人連麥 | 最多支持10000人同時上麥 | 最多支持128人上麥 | 最多支持1000人同時上麥 |
| 狀態同步 | 最多支持10000人的狀態同步; | 不支持 | 不支持 |
| 分割和傳輸視頻中的主體 | 將主體外的區域設定為透明,實作只傳輸主體的效果, 多人異地同臺:將身處不同城市的嘉賓渲染到同一個虛擬舞臺上,實作發布會、企業年會、演唱會等場景的多人異地同臺 同場互動:只需一張虛擬背景圖,即可讓所有麥上用戶同處一個空間,在同一個“健身房”一起健身、在同一片“廣場”一起跳廣場舞,盡享沉浸式的趣味視頻連麥體驗 |
分割:有 傳輸:無 |
傳輸:無 |
| 視頻超解析度 | 最大支持540P超分至1080P | 最大支持360P超分至720P | 無 |
| 暗光增強 | 所有機型全覆寫; | 部分覆寫,存在性能問題 | 無 |
價格對比
因各大廠商直播SDK計費模式較多且差異不大,價格對比環節只列舉部分廠商的報價供參考,大家可根據實際業務需求進行選擇,同時筆者也附上廠商官方地址有任何價格相關的疑問可直接咨詢官方,
阿里云
官網地址:https://helpcdn.aliyun.com
1、按量后付費模式
1.1 按使用流量計費
按不同區域使用的流量階梯價格計費,當月分別超額累進(以自然月為一個累計周期,下個月自動清零重新累積),定價受區域和帶寬階梯影響,
| 流量階梯(計費單位:元/GB) | 中國內地-CN | 北美-NA | 歐洲-EU | 亞太1區-AP1 | 亞太2區-AP2 | 亞太3區-AP3 | 中東非洲-MEAA | 南美-SA |
|---|---|---|---|---|---|---|---|---|
| 0~10 TB(含) | 0.528 | 0.920 | 0.920 | 1.580 | 1.700 | 1.700 | 2.620 | 2.620 |
| 10 TB~50 TB(含) | 0.506 | 0.920 | 0.920 | 1.580 | 1.700 | 1.700 | 2.620 | 2.620 |
| 50 TB~100 TB(含) | 0.462 | 0.780 | 0.780 | 1.320 | 1.440 | 1.440 | 2.360 | 2.360 |
| 100 TB~1 PB(含) | 0.396 | 0.400 | 0.400 | 1.040 | 1.320 | 1.240 | 1.960 | 1.840 |
| 大于1 PB | 0.330 | 0.320 | 0.320 | 0.920 | 1.180 | 1.180 | 1.840 | 1.700 |
1.2 按峰值帶寬計費
以當日您直播觀看區域所在節點,直播加速服務分別產生的帶寬最高值(單位Mbps)為結算標準,定價受區域和帶寬階梯影響,
| 帶寬階梯(計費單位:元/Mbps/天) | 中國內地-CN | 北美-NA | 歐洲-EU | 亞太1區-AP1 | 亞太2區-AP2 | 亞太3區-AP3 | 中東非洲-MEAA | 南美-SA |
|---|---|---|---|---|---|---|---|---|
| 0~500 Mbps(含) | 1.320 | 3.280 | 3.280 | 6.560 | 7.880 | 7.880 | 11.820 | 10.640 |
| 500 Mbps~5 Gbps(含) | 1.276 | 3.020 | 3.020 | 6.300 | 7.620 | 7.620 | 11.540 | 10.360 |
| 5 Gbps~20 Gbps(含) | 1.232 | 2.760 | 2.760 | 6.040 | 7.340 | 7.340 | 11.280 | 10.100 |
| 大于20Gbps | 1.188 | 2.620 | 2.620 | 5.900 | 7.220 | 7.220 | 11.160 | 9.980 |
即構科技
官網網址:https://www.zego.im/
每月免費使用10000分鐘,不超過完全免費,超過部分單獨計算:
他家官網報價常規可以拿到5%-15%的優惠折扣,如果有活動趕上大促,比如今年是他們7周年,部分產品折扣力度非常大,
1.CDN直播
用量統計方式:CDN 目前默認為后付費按量計費,并提供兩種計費型別:帶寬計費和流量計費,您可根據自身業務形態,選擇適合的計費模式,
服務定價
| 計費檔位 | 計費型別 | 檔位說明 | 價格 |
|---|---|---|---|
| (0Mbps,500Mbps] | 帶寬 | 月峰值帶寬 | 26元/Mbps/月 |
| (500Mbps,2Gbps] | 帶寬 | 月峰值帶寬 | 24元/Mbps/月 |
| (2Gbps,∞] | 帶寬 | 月峰值帶寬 | 22元/Mbps/月 |
| 不區分階梯用量 | 流量 | 拉流累計 | 0.5元/GB |
2.超低延遲直播
用量統計方式:目前默認為后付費按量計費,按照用戶實際拉取音視頻流的時長來統計超低延遲直播服務的用量,
服務定價
| 計費檔位 | 計費型別 | 檔位說明 | 價格(元/千分鐘) |
|---|---|---|---|
| 高音質純音頻 | 時長 | 純音頻 | 4.00 |
| 標清視頻(SD) | 時長 | 解析度 ≤ 360P( 480 x 360 ) | 7.00 |
| 高清視頻(HD) | 時長 | 360P < 解析度 ≤ 720P( 1280 × 720 ) | 14.50 |
| 超清視頻(HD+) | 時長 | 720P < 解析度 ≤ 1080P( 1920 × 1080 ) | 57.00 |
聲網
官網網址:
https://www.agora.io/
融合CDN直播
流量階梯單價:下表列出各個流量階梯下每個地區的流量單價,價格單位:元/GB,
| 月度總流量 (GB) | 中國內地 | 北美 | 歐洲 | 亞太 1 區 | 亞太 2 區 | 大洋洲 | 中東非洲 | 南美 |
|---|---|---|---|---|---|---|---|---|
| 0 - 10,000 | 0.25 | 0.48 | 0.48 | 0.48 | 0.73 | 0.96 | 0.73 | 0.73 |
| 10,000 (含)- 50,000 | 0.23 | 0.46 | 0.46 | 0.46 | 0.69 | 0.92 | 0.69 | 0.69 |
| 50,000 (含)- 100,000 | 0.21 | 0.42 | 0.42 | 0.42 | 0.63 | 0.84 | 0.63 | 0.63 |
| 100,000 (含)- 1,000,000 | 0.19 | 0.38 | 0.38 | 0.38 | 0.57 | 0.76 | 0.57 | 0.57 |
| 大于 1,000,000 | 0.16 | 0.32 | 0.32 | 0.32 | 0.48 | 0.64 | 0.48 | 0.48 |
網易云信
官網地址:https://netease.im
直播服務計費項由兩部分組成:日峰值帶寬費+增值服務費(可選)
1.普通直播

總結
近幾年直播行業飛速發展,從早期的秀場直播到電商直播,以及如今火爆的互動直播,直播技術不僅對延時的要求越來越高,還加入了各類美顏特效和互動玩法,全方位提升APP的活躍留存,
同時也加速了直播技術的發展,線上直播間的搭建涉及到的技術難點非常多,直播SDK加快了直播程式開發的效率,技術成熟的直播SDK也更加穩定可靠,大家可以根據專案需求選擇合適的服務搭建直播間,也可下載演示demo具體體驗后再選擇,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/547441.html
標籤:Java
上一篇:Spring Boot 如果防護 XSS + SQL 注入攻擊 ?一文帶你搞定!
下一篇:單例模式
