經(jīng)驗(yàn)分享 | SaaS教育直播流程拆解
作為一名音視頻產(chǎn)品經(jīng)理,需要對(duì)相關(guān)音視頻基礎(chǔ)技術(shù)知識(shí)有所了解,因?yàn)樵诮逃粢曨l中,每個(gè)環(huán)節(jié)都會(huì)涉及到很多相關(guān)的基礎(chǔ)知識(shí)。本文就教育直播業(yè)務(wù)的音視頻技術(shù)框架以及直播流程拆分進(jìn)行解讀,希望對(duì)你有所幫助。
作為一名在音視頻SaaS教育直播行業(yè)從業(yè)近3年的產(chǎn)品經(jīng)理,本文將結(jié)合個(gè)人理解與實(shí)際工作經(jīng)驗(yàn)給大家講解——作為一名音視頻產(chǎn)品經(jīng)理,應(yīng)該需要知道的音視頻基礎(chǔ)技術(shù)知識(shí);本文結(jié)構(gòu)大致如下三個(gè)方面:
一、教育直播業(yè)務(wù)的音視頻技術(shù)框架
關(guān)于直播業(yè)務(wù)中涉及到的音視頻技術(shù)框架,整體流程框架大差不差,熟悉如抖音、快手、B站此類C端直播平臺(tái),亦或是直播SaaS廠商提供的直播產(chǎn)品,如百家云、保利威、微贊等等;這里我以我們公司教育直播業(yè)務(wù)梳理如下基礎(chǔ)框架:
從業(yè)務(wù)表現(xiàn)層來看,直播整體流程主要表現(xiàn)在主播端采集音視頻后,在觀眾端進(jìn)行播放觀看(部分業(yè)務(wù)還涉及觀眾上麥);從技術(shù)框架簡單來看即為:
主講端上采集、處理、編碼、封裝-》推流-》流媒體服務(wù)器處理/信令服務(wù)器處理-》拉流與音視頻解碼與播放
基于以上流程,我們即可拆分來看每個(gè)環(huán)節(jié)會(huì)具體做哪些事情,以及我們產(chǎn)品經(jīng)理在實(shí)際需求設(shè)計(jì)中每個(gè)環(huán)節(jié)我們應(yīng)當(dāng)注意的事項(xiàng),并附上實(shí)際需求案例輔助說明。
二、直播流程拆分解讀
1. 端上音視頻采集、處理、編碼、封裝
音視頻,顧名思義即為音頻+畫面的統(tǒng)稱,端上采集、處理、編碼、封裝時(shí)同樣以2個(gè)方面進(jìn)行。
第一方面,關(guān)于音頻的采集、處理、編碼、封裝,主要是將聲音的模擬信號(hào)數(shù)字化的一個(gè)過程(也叫模數(shù)轉(zhuǎn)化,A/D轉(zhuǎn)換)。
如上圖所示,基于采集到的音頻聲波圖,我們?nèi)r(shí)間軸上特定的時(shí)間間隔T作為樣本周期,標(biāo)記無數(shù)個(gè)點(diǎn)(取樣點(diǎn)越密越精準(zhǔn)),這一步叫采樣;而后將每一個(gè)采樣點(diǎn)的縱向幅度量化,便能得到量化的模擬信號(hào)(可以理解為坐標(biāo)值)。
因?yàn)橛?jì)算機(jī)只能識(shí)別01的二進(jìn)制字節(jié)序列,量化的模擬信號(hào),我們無法進(jìn)行直接傳輸,需要將樣本值(十進(jìn)制)進(jìn)行編碼,即轉(zhuǎn)化成二進(jìn)制字節(jié)序列,如序號(hào)2中的樣本值3轉(zhuǎn)化為011,即可在數(shù)字信號(hào)圖中得到對(duì)應(yīng)信號(hào)圖;實(shí)際應(yīng)用中,往往還會(huì)使用其他編碼算法做進(jìn)一步壓縮,這里我們不做過深討論,知曉原理即可;大家也可基于如下內(nèi)容要點(diǎn)自行查找相關(guān)內(nèi)容。
第二方面,關(guān)于圖像的采集過程,主要由攝像頭等設(shè)備拍攝得到原始數(shù)據(jù),然后經(jīng)過編碼壓縮成 H.264 等格式的數(shù)據(jù)分發(fā)出去。在圖像采集階段,涉及的主要技術(shù)參數(shù)包括:圖像傳輸格式、圖像格式、傳輸通道、分辨率以及采樣率。
MPEG-4/H.264等編解碼算法的工作機(jī)制基本都是混合編碼,主要處理模塊包括:預(yù)測(cè)、變換、量化和熵編碼等。
- 預(yù)測(cè):通過幀內(nèi)預(yù)測(cè)和幀間預(yù)測(cè)降低視頻圖像的空間冗余和時(shí)間冗余。
- 變換:通過從時(shí)域到頻域的變換,去除相鄰數(shù)據(jù)之間的相關(guān)性,即去除空間冗余。
- 量化:通過用更粗糙的數(shù)據(jù)表示精細(xì)的數(shù)據(jù)來降低編碼的數(shù)據(jù)量,或者通過去除人眼不敏感的信息來降低編碼數(shù)據(jù)量。
- 掃描:將二維變換量化數(shù)據(jù)重新組織成一維的數(shù)據(jù)序列。
- 熵編碼:根據(jù)待編碼數(shù)據(jù)的概率特性減少編碼冗余。
通常在這流程環(huán)節(jié),產(chǎn)品層面涉及的業(yè)務(wù)需求主要圍繞在聲音與畫面的處理,如常見的需求有美顏、濾鏡、虛擬背景、音頻降噪等等;熟悉此流程可幫助我們?cè)谡泶祟愋枨髸r(shí),理解技術(shù)上的處理時(shí)機(jī),降低我們與研發(fā)的溝通成本;(不熟悉的同學(xué)可能會(huì)誤認(rèn)為美顏效果處理是流媒體服務(wù)端研發(fā)處理,造成需求評(píng)審會(huì)上的尷尬場(chǎng)面)
2. 推流
推流:將直播的內(nèi)容推送至服務(wù)器的過程。即指的是把采集階段封包好的內(nèi)容傳輸?shù)椒?wù)器的過程。其實(shí)就是將現(xiàn)場(chǎng)的視頻信號(hào)傳到網(wǎng)絡(luò)的過程??梢院唵卫斫鉃橐粢曨l編碼封裝之后需上傳到流媒體服務(wù)器,類似快遞打包好之后要推到物流點(diǎn)。
常用的流傳輸協(xié)議有WebRTC、RTSP、RTMP、HLS等,使用RTMP傳輸?shù)难訒r(shí)通常在1–3秒,對(duì)于手機(jī)直播這種實(shí)時(shí)性要求非常高的場(chǎng)景,RTMP也成為手機(jī)直播中最常用的流傳輸協(xié)議。最后通過一定的Qos算法將音視頻流數(shù)據(jù)推送到網(wǎng)絡(luò)斷,通過CDN進(jìn)行分發(fā)。
而CDN的作用在于推出去的流媒體要給各個(gè)地理位置的觀眾看。從而解決用戶訪問網(wǎng)絡(luò)資源慢的問題。
3. 流媒體服務(wù)器處理/信令服務(wù)器處理
流媒體服務(wù)器能夠在一定的主機(jī)配置條件和網(wǎng)絡(luò)帶寬條件下提供流暢的、高并發(fā)的視頻播出能力;流媒體服務(wù)器要做的事情包括:數(shù)據(jù)分發(fā)(CDN)、實(shí)時(shí)轉(zhuǎn)碼、內(nèi)容檢測(cè)等等;
隨著技術(shù)的發(fā)展,流媒體服務(wù)器的技術(shù)和產(chǎn)品也一直在不斷的發(fā)展和演進(jìn),視頻播出技術(shù)發(fā)展的趨勢(shì)包括:
1)高清視頻為主(1080p、4K),高碼率播出(>2Mbps);
2)H264依然是主要視頻編碼格式,VP9/H265在有些應(yīng)用中也開始采用;
3)視頻傳輸更多的采用http協(xié)議,F(xiàn)lash播放器逐步被淘汰;
4)采用WebRTC、Websocket協(xié)議進(jìn)行視頻播出的應(yīng)用越來越多。
5)雙向視頻應(yīng)用越來越多,在在線教學(xué)、會(huì)議直播等直播應(yīng)用中成為標(biāo)配。
信令服務(wù)器承擔(dān)著消息傳輸和交換的工作,簡單來說前端/客戶端向流媒體服務(wù)端傳輸消息,或者流媒體服務(wù)端向前端/客戶端傳輸消息,都是依靠的信令;比如用戶創(chuàng)建房間,加入房間,退出房間等,確定何時(shí)初始化、關(guān)閉和修改通話;類似前端與后端以接口進(jìn)行數(shù)據(jù)請(qǐng)求與返回,而前端/客戶端與流媒體服務(wù)端以信令形式;
通常在這流程環(huán)節(jié),產(chǎn)品層面要理解流媒體服務(wù)器工作原理與信令服務(wù)器工作原理的好處在于,如底層服務(wù)商有多家時(shí),可能需考慮多CDN切換或者海外服務(wù)的海外CDN切換功能;
另外對(duì)于信令服務(wù)器的理解更為重要,因涉及客戶端與流媒體服務(wù)端之間的數(shù)據(jù)交互,某些更深入的場(chǎng)景業(yè)務(wù)在此理解基礎(chǔ)上更易推進(jìn),如企業(yè)直播場(chǎng)景中的打賞功能,端上可直接以廣播信令形式廣播至全直播間成員;如教育場(chǎng)景中的畫筆筆跡,老師端上以信令文件傳輸至服務(wù)端后再處理傳出至學(xué)生端。
4、拉流與音視頻解碼與播放
拉流是指服務(wù)器已有直播內(nèi)容,根據(jù)協(xié)議類型(如RTMP、RTP、RTSP、HTTP等),與服務(wù)器建立連接并接收數(shù)據(jù),進(jìn)行拉取的過程;拉流端的核心處理在播放器端的解碼和渲染,因音視頻再推流至流媒體服務(wù)器之前已被編碼和封裝,如需在端上直接播放是行不通的,故需進(jìn)行解碼和渲染處理,處理之后即可通過播放器對(duì)音視頻文件進(jìn)行播放。
上述內(nèi)容即為整個(gè)直播業(yè)務(wù)涉及的基礎(chǔ)技術(shù)流程,當(dāng)然還有部分特殊業(yè)務(wù)流程,如觀眾連麥/嘉賓連麥PK,其實(shí)原理類似,也是基于觀眾/嘉賓采集音視頻數(shù)據(jù)后進(jìn)行處理編碼封裝后傳輸推流,流媒體服務(wù)端處理后以合流或多路流形式臺(tái)下觀眾拉流(具體看產(chǎn)品形態(tài)與成本評(píng)估)。
三、整體總結(jié)
作為一名音視頻行業(yè)的產(chǎn)品經(jīng)理,因音視頻技術(shù)涉及技術(shù)語言與復(fù)雜方案較多,了解整體的業(yè)務(wù)流程結(jié)構(gòu)是有必要的;對(duì)于內(nèi)部需求評(píng)審而言,可以快速定位需求相關(guān)方(前端/流媒體端/后端)組會(huì)與任務(wù)落實(shí);對(duì)于外部溝通評(píng)估需求而言,快速給予客戶解決方案以及分析需求,也能更好體現(xiàn)自身專業(yè)性。
以上為我個(gè)人從業(yè)直播行業(yè)的一些經(jīng)驗(yàn)分享以及收集的相關(guān)資料解讀,歡迎大家探討與糾正~
本文由@偽文青?? 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自 Unsplash,基于 CC0 協(xié)議。
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。
哈哈哈,發(fā)現(xiàn)了教育直播的小心機(jī)