幫助與文檔
熱搜關鍵詞:直播系統短(duǎn)視(shì)頻源碼一對一
直播平台開(kāi)發中,需要用到哪些(xiē)基礎知識?
發布來(lái)源:超鏈接    Date:2020/04/22

近年來(lái),直播平台的興起對娛樂、電(diàn)競等産業的發展起到了不少(shǎo)的推動作(zuò)用,也讓其成為(wèi)了一種流行(xíng)的消遣地。當然,直播平台也與更多(duō)行(xíng)業結合,逐漸發展出新的産業模式,例如前不久餓了麽口碑便開(kāi)始嘗試将直播引入,為(wèi)生(shēng)活服務行(xíng)業的宣傳提供了新的突破口。可(kě)見,直播平台開(kāi)發沒有(yǒu)走向窮途末路,它依然擁有(yǒu)廣泛的前途。那(nà)麽想要開(kāi)發一個(gè)功能完整的直播平台,需要用到哪些(xiē)方面的基礎知識呢?

3ac61af3e240ebae4771bfc27d12cc7d.jpg

一、直播的技(jì)術(shù)架構

直播的技(jì)術(shù)架構比較複雜,包含實現直播過程的所有(yǒu)軟件和(hé)硬件,整合一下,大(dà)體(tǐ)擁有(yǒu)以下模塊:視(shì)頻采集模塊(針對音(yīn)視(shì)頻信号進行(xíng)采集和(hé)量化處理(lǐ)),前處理(lǐ)模塊(對于音(yīn)頻和(hé)視(shì)頻信号進行(xíng)提前處理(lǐ)),播放控制(zhì)模塊(主要對視(shì)頻的播放流程和(hé)效果進行(xíng)優化),CDN(用于優化傳輸網絡),交互技(jì)術(shù)模塊(加入額外的功能以提高(gāo)用戶體(tǐ)驗),系統架構(數(shù)據庫、緩存技(jì)術(shù)、分布式文件系統、消息隊列等核心功能模塊的總集合)以及一些(xiē)重要的開(kāi)源實現項目。

二、音(yīn)視(shì)頻處理(lǐ)的一般流程

擁有(yǒu)了以上(shàng)架構,直播平台開(kāi)發便可(kě)正式開(kāi)始。直播平台開(kāi)發流程的本質實際上(shàng)是對音(yīn)視(shì)頻處理(lǐ)的流程,需要經過數(shù)據采集、數(shù)據編碼,數(shù)據傳輸(流媒體(tǐ)服務器(qì))、解碼數(shù)據、播放顯示等5個(gè)核心步驟,下面對其中幾個(gè)核心步驟做(zuò)簡單解釋:

1、數(shù)據編碼:

使用相關硬件或軟件對音(yīn)視(shì)頻原始數(shù)據進行(xíng)編碼處理(lǐ)(數(shù)字化)及加工(如音(yīn)視(shì)頻混合、打包封裝等),得(de)到可(kě)用的音(yīn)視(shì)頻數(shù)據。其涉及到的編碼方式主要有(yǒu)CBR和(hé)VBR兩種。

2、數(shù)據傳輸:

将編碼完成後的音(yīn)視(shì)頻數(shù)據進行(xíng)(網絡)傳輸,其中涉及到衆多(duō)的傳輸協議和(hé)控制(zhì)指令,包含RTSP、RTMP、HTTP、HLS等。

3、解碼數(shù)據:

使用相關解碼器(qì)對接收到的編碼後音(yīn)視(shì)頻數(shù)據進行(xíng)解碼,即可(kě)得(de)到直接顯示的圖像和(hé)聲音(yīn)。一般來(lái)講,對應的編碼器(qì)都會(huì)帶有(yǒu)相應的夾麻器(qì),也有(yǒu)一些(xiē)第三方解碼插件等。

53383d9c14fab974e0ca0899978c9090 (2).jpg

三、常見的視(shì)頻直播相關協議

在直播平台開(kāi)發中,擁有(yǒu)衆多(duō)的視(shì)頻直播相關協議,它們的優缺點也不盡相同,下面找幾個(gè)比較有(yǒu)代表性的簡單說明(míng)下。

1、RTMP:Adobe 公司為(wèi)Flash/AIR與服務器(qì)之間(jiān)傳輸音(yīn)視(shì)頻數(shù)據而開(kāi)發的私有(yǒu)協議,也是目前最常用的流媒體(tǐ)傳輸協議。優點:基于TCP長連接,不需要多(duō)次建連,延時(shí)低(dī),通(tōng)常隻有(yǒu)1~3s;技(jì)術(shù)成熟,配套完善。缺點:在PC浏覽器(qì)中隻能通(tōng)過Flash使用,且無法在移動浏覽器(qì)使用;鑒于Flash即将退出舞台,所以在網頁播放端基本不會(huì)再RTMP做(zuò)拉流。

2、HLS:蘋果公司提出的基于HTTP的流媒體(tǐ)網絡傳輸協議。其工作(zuò)原理(lǐ)是切片式傳輸,把直播流切成無數(shù)片,用戶在觀看視(shì)頻時(shí),每次客戶端可(kě)以隻下載一部分。優點:基于HTTP協議,所以接入CDN較為(wèi)容易,很(hěn)少(shǎo)被防火(huǒ)牆攔下,且自帶多(duō)碼率自适應;作(zuò)為(wèi)蘋果提出的協議,在macOS/iOS下有(yǒu)極大(dà)優勢,Android中也提供了對應的支持;可(kě)以說此項協議用在移動設備上(shàng)是再合适不過了。缺點:延時(shí)較大(dà),通(tōng)常不低(dī)于10s 。大(dà)量的TS片文件,會(huì)造成服務器(qì)存儲和(hé)請(qǐng)求的壓力。

3、WebRTC:基于Google開(kāi)源技(jì)術(shù),Web端上(shàng)實現流媒體(tǐ)的協議。優點:RTMP和(hé)HLS都是掌握在大(dà)企業手中的協議,而WebRTC已被納入W3C标準;無需安裝插件,支持的浏覽器(qì)越來(lái)越多(duō)。缺點:廠商對浏覽器(qì)或系統的定制(zhì)可(kě)能會(huì)導緻可(kě)用性問題,且缺乏服務器(qì)端設計(jì)和(hé)部署方案;傳輸質量難以保證,優化手段有(yǒu)限;在安卓設備上(shàng)的兼容性不好;另外,此項協議主要面向Web端,對原生(shēng)開(kāi)發支持不足。

以上(shàng)就是在直播平台開(kāi)發中,需要用到的一些(xiē)基礎知識。如果您想了解更多(duō)信息,歡迎咨詢官方客服。