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