聽程序員GG講直播那些事

2016年,直播大火憎瘸。涌現(xiàn)出了一個(gè)個(gè)直播產(chǎn)品入篮,映客、花椒幌甘、斗魚......嗅到了風(fēng)口的氣息潮售,一些視頻網(wǎng)站在線教育平臺(tái)也開始引入直播。作為一名敬業(yè)的產(chǎn)品汪锅风,雖然不負(fù)責(zé)直播業(yè)務(wù)酥诽,但也對(duì)直播頗有興趣,幸得wuli程序員男票也從事直播相關(guān)的工作皱埠,便有幸一探直播的真相肮帐。

1、直播流示意圖


直播流示意圖

名詞解釋

直播間:視頻采集端边器,包含一些直播設(shè)備训枢。以在線教育直播為例,直播間是老師錄制課程的地方忘巧。

源站:接受直播間傳送的視頻流恒界,并進(jìn)行存儲(chǔ)和轉(zhuǎn)發(fā),由多臺(tái)服務(wù)器組成袋坑。源站相對(duì)于CDN來講仗处,是源頭,故而稱之為源站枣宫。

CDN:主動(dòng)向源站獲取視頻流婆誓,并進(jìn)行存儲(chǔ)和轉(zhuǎn)發(fā)。CDN在這個(gè)直播的整個(gè)環(huán)節(jié)中扮演的角色類似于計(jì)算機(jī)存儲(chǔ)系統(tǒng)中的緩存也颤。

用戶:接收CDN傳送的視頻流洋幻,觀看直播。

2翅娶、直播間-源站的關(guān)系

(1)直播間主動(dòng)向源站傳輸視頻流文留,這個(gè)動(dòng)作叫推流。

那么問題來了——直播間是如何確定把視頻流推送到哪臺(tái)服務(wù)器上竭沫?

直播間可以配置服務(wù)器對(duì)應(yīng)的ip地址燥翅。比如:直播間1配置了服務(wù)器A和服務(wù)器B的IP地址,那么當(dāng)直播間1產(chǎn)生視頻流的時(shí)候蜕提,會(huì)把視頻流同時(shí)傳輸?shù)椒?wù)器A和服務(wù)器B上森书。

(2)直播間與源站之間常用的傳輸協(xié)議:rtmp協(xié)議,hls協(xié)議。

傳輸協(xié)議是什么鬼凛膏?舉個(gè)不恰當(dāng)?shù)睦友蠲瑐鬏攨f(xié)議相當(dāng)于是翻譯媒介。一個(gè)日本人猖毫,和一個(gè)俄國(guó)人台谍,如果日本人講日語,俄國(guó)人講俄語吁断,那么他們是無法溝通的趁蕊。但如果他們有一門共通的語言,比如英語胯府,在遵從英語的語言規(guī)范的前提下介衔,他們是能夠進(jìn)行溝通的。傳輸協(xié)議就是直播間與源站之間的共通語言骂因。

RTMP是Adobe公司的流媒體傳輸協(xié)議炎咖,普通網(wǎng)絡(luò)用戶均可使用,包括非IOS平臺(tái)用戶寒波。

HLS是IOS平臺(tái)下的流媒體傳輸協(xié)議乘盼。

3、用戶與CDN

用戶在終端進(jìn)行觀看直播的操作俄烁,相當(dāng)于向CDN發(fā)送獲取視頻流的請(qǐng)求绸栅。

那么問題來了,用戶終端發(fā)起獲取視頻流請(qǐng)求的時(shí)候页屠,是如何確定向哪個(gè)CDN獲却饪琛?

在用戶發(fā)起獲取視頻流請(qǐng)求的時(shí)候辰企,出于傳輸效率的考慮风纠,用戶與CDN之間有一套路由算法(這個(gè)算法一般是由CDN設(shè)定的)。比如這樣一個(gè)場(chǎng)景牢贸,XX公司/XX產(chǎn)品的直播間在北京竹观,用戶在西安。當(dāng)這個(gè)西安用戶發(fā)起獲取直播流的請(qǐng)求時(shí)潜索,XX公司/XX產(chǎn)品在西安臭增、上海、南京竹习、廣州誊抛、太遠(yuǎn)都有CDN,那么路由算法會(huì)告訴用戶終端整陌,該獲取哪個(gè)CDN芍锚,比如獲取西安CDN能夠獲得較高的傳輸速率昔园,那么該用戶的終端就會(huì)向西安CDN獲取視頻流。

4并炮、CDN與源站

當(dāng)用戶向CDN發(fā)送獲取視頻流的請(qǐng)求之后,CDN會(huì)向?qū)?yīng)的源站服務(wù)器獲取視頻流甥郑,這個(gè)動(dòng)作叫做“回流”逃魄。

那么問題又來了,CDN如何知道向哪個(gè)服務(wù)器獲取視頻流澜搅?

用戶終端向CDN請(qǐng)求獲取視頻流的時(shí)候伍俘,在傳送請(qǐng)求的時(shí)候,會(huì)告訴CDN向哪臺(tái)源站服務(wù)器獲取視頻流勉躺,會(huì)在傳送的數(shù)據(jù)中含有所獲取源站服務(wù)器的IP信息癌瘾。我們通常所說的切換線路,指的就是用戶在向CDN發(fā)送獲取視頻的請(qǐng)求時(shí)饵溅,更換了獲取源站服務(wù)器的IP信息妨退。


5、補(bǔ)充——為什么需要CDN蜕企?

解決帶寬問題咬荷。用戶對(duì)直播的播放流暢度、互動(dòng)實(shí)時(shí)性有較高的要求轻掩。對(duì)于這樣的性能要求幸乒,需要通過提高帶寬來解決。如果直播服務(wù)提供者的帶寬非常高唇牧,那么源站服務(wù)器的數(shù)據(jù)傳送效率就大大提高罕扎,流暢度和實(shí)時(shí)性是完全能夠滿足的。但考慮到成本的問題丐重,服務(wù)提供者一般會(huì)選擇使用CDN腔召,將源站服務(wù)器的數(shù)據(jù)傳送到CDN,通過CDN進(jìn)行存儲(chǔ)轉(zhuǎn)發(fā)弥臼。我們可以想象宴咧,如果用戶直接向源站服務(wù)器請(qǐng)求獲取視頻流,會(huì)導(dǎo)致源站服務(wù)器壓力過大径缅,畢竟在大多場(chǎng)景下掺栅,直播的觀看人數(shù)是比較多的,而通過CDN的存儲(chǔ)轉(zhuǎn)發(fā)可以降低源站服務(wù)器的壓力纳猪。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末氧卧,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子氏堤,更是在濱河造成了極大的恐慌沙绝,老刑警劉巖搏明,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異闪檬,居然都是意外死亡星著,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門粗悯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來虚循,“玉大人,你說我怎么就攤上這事样傍『岬蓿” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵衫哥,是天一觀的道長(zhǎng)茎刚。 經(jīng)常有香客問我,道長(zhǎng)撤逢,這世上最難降的妖魔是什么膛锭? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮笛质,結(jié)果婚禮上泉沾,老公的妹妹穿的比我還像新娘。我一直安慰自己妇押,他們只是感情好跷究,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著敲霍,像睡著了一般俊马。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上肩杈,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天柴我,我揣著相機(jī)與錄音,去河邊找鬼扩然。 笑死艘儒,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的夫偶。 我是一名探鬼主播界睁,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼兵拢!你這毒婦竟也來了翻斟?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤说铃,失蹤者是張志新(化名)和其女友劉穎访惜,沒想到半個(gè)月后嘹履,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡债热,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年砾嫉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片阳柔。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡焰枢,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出舌剂,到底是詐尸還是另有隱情,我是刑警寧澤暑椰,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布霍转,位于F島的核電站,受9級(jí)特大地震影響一汽,放射性物質(zhì)發(fā)生泄漏避消。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一召夹、第九天 我趴在偏房一處隱蔽的房頂上張望岩喷。 院中可真熱鬧,春花似錦监憎、人聲如沸纱意。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)偷霉。三九已至,卻和暖如春褐筛,著一層夾襖步出監(jiān)牢的瞬間类少,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工渔扎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留硫狞,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓晃痴,卻偏偏與公主長(zhǎng)得像残吩,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子愧旦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容