視頻直播平臺如何搭建
(1)直播中使用的流媒體協議
UDP協議,一種傳(chuan)輸(shu)層的(de)網(wang)絡協議,可靠(kao)性(xing)低,但是(shi)效(xiao)率很高。常用于對實時性(xing)要求高的(de)直播應用中。
RTMP,Real Time Messaging Protocol(實(shi)時(shi)消息傳輸協(xie)議(yi))的首字母縮(suo)寫。該協(xie)議(yi)基(ji)于(yu)TCP,是一(yi)個協(xie)議(yi)族,包括RTMP基(ji)本(ben)協(xie)議(yi)及RTMPT/RTMPS/RTMPE等多種(zhong)(zhong)變種(zhong)(zhong)。RTMP是一(yi)種(zhong)(zhong)設計(ji)用(yong)來進行(xing)實(shi)時(shi)數據通信的網絡協(xie)議(yi),主要(yao)用(yong)來在(zai)Flash/AIR平臺和(he)支持RTMP協(xie)議(yi)的流(liu)媒體/交互服務器之間進行(xing)音視頻和(he)數據通信。RTMP基(ji)于(yu)flash技術(shu),無法在(zai)iOS的瀏覽器中播放(fang),但(dan)是實(shi)時(shi)性比HLS要(yao)好。
HTTP-TS協議,用TS來(lai)封裝數據包,然后將其通過HTTP協議進行傳送。它(ta)基于傳輸層的TCP協議來(lai)實現,有實時性和傳輸穩定性方面都有更好的表現。
HLS協議,HTTP Live Streaming(HTTP直播流技術),Apple的(de)(de)動(dong)態碼(ma)率(lv)自適應技術。主要(yao)用于PC和(he)Apple iOS移動(dong)終端(duan)。包括(kuo)一個m3u(8)的(de)(de)索引文(wen)件,TS媒體分片文(wen)件和(he)key加密串文(wen)件。它的(de)(de)特(te)點是更適合做CDN分發,但是實(shi)時(shi)性很差,一般端(duan)到端(duan)延時(shi)要(yao)20秒以(yi)上。
(2)直播的模塊劃分
視頻采集和編碼錄制端
視頻采集設備(bei)一般是(shi)電腦(nao)上的音視頻輸入設備(bei)或者手機端的攝像頭或者麥克(ke)風,編(bian)碼和(he)錄(lu)制工具(ju)通常(chang)是(shi)軟件,比如PC端使用的“直播(bo)(bo)大(da)師(Live Master)”或者“串流直播(bo)(bo)”,手機端使用的ffmpeg和(he)WebRTC這(zhe)類工具(ju)。
視頻播放端
可以是電腦上的(de)(de)(de)播放(fang)(fang)器(qi),手機端的(de)(de)(de)Native播放(fang)(fang)器(qi),還有(you)就是H5的(de)(de)(de)video標簽等,目(mu)前還是已手機端的(de)(de)(de)Native播放(fang)(fang)器(qi)為主。視(shi)(shi)頻傳(chuan)輸技(ji)術:主要(yao)以HTTP傳(chuan)輸協議(yi)為主,因(yin)為它基于(yu)HTTP協議(yi)實現(xian),具有(you)天然的(de)(de)(de)跨防火墻和多(duo)終端支持特性。HLS協議(yi),主要(yao)面(mian)向iOS移動終端使用(yong)(yong)。RTMP協議(yi),主要(yao)用(yong)(yong)于(yu)PC端的(de)(de)(de)視(shi)(shi)頻播放(fang)(fang),實時(shi)性比較高。
視頻服務器端
視(shi)頻(pin)傳輸和播放用的(de)流(liu)媒體服務器(qi),通常是用C或者C++語(yu)言開發實(shi)現,主要實(shi)現一(yi)對多的(de)視(shi)頻(pin)流(liu)發布功能(neng)。
內容分發系統
很多(duo)(duo)人都(dou)(dou)(dou)知道,涉及(ji)到大(da)(da)規模(mo)內(nei)容分發都(dou)(dou)(dou)需(xu)(xu)要(yao)用(yong)到CDN技(ji)術,并且市(shi)場上出現了(le)很多(duo)(duo)專門提(ti)供(gong)(gong)(gong)CDN服務(wu)的(de)(de)上市(shi)公(gong)司(si),比(bi)如美國的(de)(de)Akaimai,中國的(de)(de)藍汛、網宿(su)、帝聯等(deng),他們通過為用(yong)戶(hu)提(ti)供(gong)(gong)(gong)內(nei)容的(de)(de)大(da)(da)范圍分發服務(wu)來(lai)盈利(li)。但(dan)是(shi)(shi)如果你要(yao)做視(shi)頻運(yun)(yun)營要(yao)完全(quan)依靠這些(xie)(xie)公(gong)司(si)的(de)(de)服務(wu)來(lai)支撐,那(nei)么你的(de)(de)利(li)潤很大(da)(da)一(yi)部分都(dou)(dou)(dou)要(yao)交給這些(xie)(xie)服務(wu)提(ti)供(gong)(gong)(gong)商,所以最(zui)終(zhong)還(huan)需(xu)(xu)要(yao)自身具備這種技(ji)術能(neng)力。像(xiang)大(da)(da)的(de)(de)運(yun)(yun)營平(ping)臺(tai)(優酷、土豆(dou)、騰訊視(shi)頻、視(shi)頻、愛(ai)奇藝、樂(le)視(shi)、映客直播、YY直播、花椒直播)都(dou)(dou)(dou)是(shi)(shi)通過自建CDN平(ping)臺(tai)來(lai)支撐自身的(de)(de)業(ye)務(wu)運(yun)(yun)營。這方面的(de)(de)核心技(ji)術都(dou)(dou)(dou)是(shi)(shi)很專業(ye)的(de)(de),都(dou)(dou)(dou)需(xu)(xu)要(yao)一(yi)個強大(da)(da)的(de)(de)研(yan)發團(tuan)隊多(duo)(duo)年時(shi)間才能(neng)將其打造成產品化和運(yun)(yun)營級的(de)(de)平(ping)臺(tai)。
網絡直播平臺怎么做?
技術積累
語音視頻技術(shu)是硬骨頭,不是簡單搞(gao)幾個(ge)頁面,不是搞(gao)一(yi)個(ge)業務支撐系統,這是需要經(jing)過多年(nian)技術(shu)積累的。比如說YY,他們(men)(men)做很多年(nian)才積累到今天(tian)的水(shui)平。比如說騰訊、等,他們(men)(men)也是組建了一(yi)個(ge)數十人的強大的技術(shu)開發團隊,摸爬打滾了好(hao)多年(nian)才有了今天(tian)的輝煌。
人力成本
視(shi)音(yin)頻和流媒(mei)體(ti)技(ji)術方(fang)面(mian)的(de)(de)(de)工程師要(yao)價也是相當(dang)高的(de)(de)(de),因為(wei)這方(fang)面(mian)的(de)(de)(de)技(ji)術專家通常都(dou)有(you)8年(nian)以上(shang)的(de)(de)(de)開(kai)發(fa)經驗(yan)。涉及到(dao)的(de)(de)(de)核心技(ji)術主要(yao)有(you)視(shi)音(yin)頻編解碼、噪音(yin)抑(yi)制、回(hui)聲消除、自動增益、前向糾錯、丟幀補償(chang)、抖動緩沖、CDN內容分發(fa)、網(wang)絡流自適應等,每個(ge)技(ji)術模塊(kuai)至(zhi)(zhi)少需要(yao)一個(ge)專業人員(yuan)來(lai)負(fu)責,然后(hou)要(yao)實現(xian)跨平臺(tai)和全終端兼(jian)容。這么算起來(lai),整個(ge)開(kai)發(fa)團(tuan)隊(dui)就至(zhi)(zhi)少需要(yao)30個(ge)人員(yuan),整個(ge)平臺(tai)的(de)(de)(de)開(kai)發(fa)周(zhou)期(qi)至(zhi)(zhi)少需要(yao)1年(nian),并且至(zhi)(zhi)少還需要(yao)6個(ge)月的(de)(de)(de)功(gong)能(neng)完善和性能(neng)調(diao)優。按照人均工資(zi)3萬元/月來(lai)計算,平臺(tai)的(de)(de)(de)人力(li)成本需要(yao)1260萬元以上(shang)。