(1)直播中使用的流媒體協(xié)議
UDP協(xié)議,一種傳輸層的網(wǎng)絡(luò)協(xié)議,可靠性低,但是效率很高。常用于對(duì)實(shí)時(shí)性要求高的直播應(yīng)用中。
RTMP, Real Time Messaging Protocol(實(shí)時(shí)消息傳輸協(xié)議)的首字母縮寫。該協(xié)議基于TCP,是一個(gè)協(xié)議族,包括RTMP基本協(xié)議及RTMPT/RTMPS/RTMPE等多種變種。RTMP是一種設(shè)計(jì)用來(lái)進(jìn)行實(shí)時(shí)數(shù)據(jù)通信的網(wǎng)絡(luò)協(xié)議,主要用來(lái)在Flash/AIR平臺(tái)和支持RTMP協(xié)議的流媒體/交互服務(wù)器之間進(jìn)行音視頻和數(shù)據(jù)通信。RTMP 基于 flash技術(shù),無(wú)法在 iOS 的瀏覽器中播放,但是實(shí)時(shí)性比 HLS 要好。
HTTP-TS協(xié)議,用TS來(lái)封裝數(shù)據(jù)包,然后將其通過(guò)HTTP協(xié)議進(jìn)行傳送。它基于傳輸層的TCP協(xié)議來(lái)實(shí)現(xiàn),有實(shí)時(shí)性和傳輸穩(wěn)定性方面都有更好的表現(xiàn)。
HLS協(xié)議,HTTP Live Streaming(HTTP直播流技術(shù)),Apple的動(dòng)態(tài)碼率自適應(yīng)技術(shù)。主要用于PC和Apple iOS移動(dòng)終端。包括一個(gè)m3u(8)的索引文件,TS媒體分片文件和key加密串文件。它的特點(diǎn)是更適合做CDN分發(fā),但是實(shí)時(shí)性很差,一般端到端延時(shí)要20秒以上。
(2)直播的模塊劃分
視頻采集和編碼錄制端:視頻采集設(shè)備一般是電腦上的音視頻輸入設(shè)備或者手機(jī)端的攝像頭或者麥克風(fēng),編碼和錄制工具通常是軟件,比如PC端使用的“直播大師(Live Master)”,手機(jī)端使用的ffmpeg和WebRTC這類工具。
視頻播放端:可以是電腦上的播放器,手機(jī)端的 Native 播放器,還有就是H5 的 video 標(biāo)簽等,目前還是已手機(jī)端的 Native播放器為主。視頻傳輸技術(shù):主要以HTTP傳輸協(xié)議為主,因?yàn)樗贖TTP協(xié)議實(shí)現(xiàn),具有天然的跨防火墻和多終端支持特性。HLS協(xié)議,主要面向iOS移動(dòng)終端使用。RTMP協(xié)議,主要用于PC端的視頻播放,實(shí)時(shí)性比較高。
視頻服務(wù)器端:視頻傳輸和播放用的流媒體服務(wù)器,通常是用C或者C++語(yǔ)言開發(fā)實(shí)現(xiàn),主要實(shí)現(xiàn)一對(duì)多的視頻流發(fā)布功能。
內(nèi)容分發(fā)系統(tǒng):很多人都知道,涉及到大規(guī)模內(nèi)容分發(fā)都需要用到CDN技術(shù),并且市場(chǎng)上出現(xiàn)了很多專門提供CDN服務(wù)的上市公司,比如美國(guó)的Akaimai,中國(guó)的藍(lán)汛、網(wǎng)宿、帝聯(lián)等,他們通過(guò)為用戶提供內(nèi)容的大范圍分發(fā)服務(wù)來(lái)盈利。但是如果你要做視頻運(yùn)營(yíng)要完全依靠這些公司的服務(wù)來(lái)支撐,那么你的利潤(rùn)很大一部分都要交給這些服務(wù)提供商,所以最終還需要自身具備這種技術(shù)能力。像大的運(yùn)營(yíng)平臺(tái)(優(yōu)酷、串流直播、騰訊視頻、愛(ài)奇藝、樂(lè)視、映客直播、一直播、花椒直播)都是通過(guò)自建CDN平臺(tái)來(lái)支撐自身的業(yè)務(wù)運(yùn)營(yíng)。這方面的核心技術(shù)都是很專業(yè)的,都需要一個(gè)強(qiáng)大的研發(fā)團(tuán)隊(duì)多年時(shí)間才能將其打造成產(chǎn)品化和運(yùn)營(yíng)級(jí)的平臺(tái)。
核心技術(shù):涉及到的核心技術(shù)主要有視音頻編解碼、噪音抑制、回聲消除、自動(dòng)增益、前向糾錯(cuò)、丟幀補(bǔ)償、抖動(dòng)緩沖、CDN內(nèi)容分發(fā)、網(wǎng)絡(luò)流自適應(yīng)等,語(yǔ)音視頻技術(shù)是硬骨頭,不是簡(jiǎn)單搞幾個(gè)頁(yè)面,不是搞一個(gè)業(yè)務(wù)支撐系統(tǒng),這是需要經(jīng)過(guò)多年技術(shù)積累的。比如說(shuō)YY,他們做很多年才積累到今天的水平。比如說(shuō)騰訊、樂(lè)視等,他們也是組建了一個(gè)數(shù)十人的強(qiáng)大技術(shù)開發(fā)團(tuán)隊(duì),摸爬打滾了好多年才有了今天的輝煌。
因此,在直播服務(wù)團(tuán)隊(duì)的選擇上,我們必須與這些真正有技術(shù)實(shí)力的團(tuán)隊(duì)合作,才能為自己的業(yè)務(wù)保駕護(hù)航。