C++大型流媒體項(xiàng)目-從底層到應(yīng)用層千萬(wàn)級(jí)直播系統(tǒng)實(shí)戰(zhàn)
網(wǎng)盤(pán)地址:https://pan.baidu.com/s/10tTBWSMFZFEW7LAuxiZunA 提取碼:nk9o
騰訊微云下載地址:https://share.weiyun.com/BGQvqkNE 密碼:r9hj5d
流媒體是指將一連串的媒體數(shù)據(jù)壓縮后,經(jīng)過(guò)網(wǎng)絡(luò)分段發(fā)送數(shù)據(jù),在網(wǎng)上即時(shí)傳輸影音以供觀賞的一種技術(shù)與過(guò)程。此技術(shù)使得數(shù)據(jù)包得以像流水一樣發(fā)送,如果不使用此技術(shù),就必須在使用前下載整個(gè)媒體文件。12
流媒體技術(shù)有三大操作平臺(tái),分別是微軟公司、RealNetworks、蘋(píng)果公司提供的,其中流式傳輸是實(shí)現(xiàn)流媒體的關(guān)鍵技術(shù)。流媒體技術(shù)可以大大縮短啟動(dòng)延時(shí),用戶不用等到所有內(nèi)容都下載到硬盤(pán)上才能開(kāi)始瀏覽,在經(jīng)過(guò)一段啟動(dòng)延時(shí)后就能開(kāi)始觀看。此外,流媒體技術(shù)對(duì)系統(tǒng)緩存容量的要求也大幅降低,因?yàn)椴恍枰阉械奈募枷螺d到緩存中。14
目前,流媒體業(yè)務(wù)基本可以分為流媒體點(diǎn)播(VOD)、流媒體直播以及下載播放三種典型業(yè)務(wù)模式。而流媒體平臺(tái)方面,有諸如Netflix、Amazon Prime Video和迪士尼+等世界知名的流媒體巨頭提供豐富的在線流媒體內(nèi)容服務(wù)。
在流式傳輸?shù)膶?shí)現(xiàn)方案中,一般采用HTTP/TCP來(lái)傳輸控制信息,而用RTP/UDP來(lái)傳輸實(shí)時(shí)聲音數(shù)據(jù)。具體的傳輸流程如下:
(1)Web瀏覽器與Web服務(wù)器之間使用HTTP/TCP交換控制信息,以便把需要傳輸?shù)膶?shí)時(shí)數(shù)據(jù)從原始信息中檢索出來(lái)。
(2)用HTTP從Web服務(wù)器檢索相關(guān)數(shù)據(jù),由A/V播放器進(jìn)行初始化。
(3)從Web服務(wù)器檢索出來(lái)的相關(guān)服務(wù)器的地址定位A/V服務(wù)器。
(4)A/V播放器與A/V服務(wù)器之間交換A/V傳輸所需要的實(shí)時(shí)控制協(xié)議。
(5)一旦A/V數(shù)據(jù)抵達(dá)客戶端,A/V播放器就可播放。
一個(gè)完整的流媒體系統(tǒng)應(yīng)包括以下幾個(gè)組成部分。
◇編碼工具:用于創(chuàng)建、捕捉和編輯多媒體數(shù)據(jù),形成流媒體格式,這可以由帶視音
頻硬件接口的計(jì)算機(jī)和運(yùn)行其上的制作軟件共同完成。
◇流媒體數(shù)據(jù).
◇服務(wù)器:存放和控制流媒體的數(shù)據(jù)。
◇網(wǎng)絡(luò):適合多媒體傳輸協(xié)議或?qū)崟r(shí)傳輸協(xié)議的網(wǎng)絡(luò).
◇播放器:供客戶端瀏覽流媒體文件。
網(wǎng)絡(luò)視頻直播系統(tǒng)應(yīng)用流媒體技術(shù)在網(wǎng)絡(luò)上進(jìn)行直播,同時(shí)支持進(jìn)行錄播(系統(tǒng)自動(dòng)錄制,方便用戶隨時(shí)點(diǎn)播),用戶訪問(wèn)指定的直播網(wǎng)站頁(yè)面(URL),其訪問(wèn)請(qǐng)求導(dǎo)向發(fā)布服務(wù)器節(jié)點(diǎn),獲得流媒體數(shù)據(jù),通過(guò)網(wǎng)頁(yè)瀏覽器直接觀看直播視頻內(nèi)容。